Commit Graph
3983 Commits
Author SHA1 Message Date
Unknown W. Brackets 9cce9f09b5 Fix postshader uniform update when resizing.
All that was happening was the uniforms weren't updating properly for one
frame.  Also, errors when switching to no shader on resize too.

Fixes #8364.
2016-01-02 14:27:02 -08:00
Unknown W. Brackets 2494176919 Remove incorrect CLUT4 optimization. 2016-01-02 13:20:30 -08:00
Henrik Rydgård 8be22f47cd Merge pull request #8348 from unknownbrackets/texcache
Centralize code in the texture cache, minor cleanups
2016-01-01 17:55:41 +01:00
Henrik Rydgard 15de6e6b98 GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
Needed to prevent clutter all over the codebase.

Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Unknown W. Brackets c31a8f860b Adjust stencil ops for 5551 and 565 buffers.
This attempts to better approximate the operations that actually happen,
where possible.  Expected to help #5278.
2015-12-31 17:01:03 -08:00
Unknown W. Brackets 69daa75228 Move more common code around in texcache. 2015-12-31 11:41:02 -08:00
Unknown W. Brackets 256c7b6271 Consistently use INVALID_TEX. 2015-12-31 11:13:41 -08:00
Unknown W. Brackets a45f05c598 Move NotifyFramebuffer and LoadClut to common code. 2015-12-31 11:13:39 -08:00
Henrik Rydgård 337f27d0d9 Merge pull request #8340 from unknownbrackets/texcache
Be forgiving when maxSeenV increases
2015-12-31 09:43:18 +01:00
Unknown W. Brackets 5806df07b4 Handle disabled display cleanly.
Otherwise we might accidentally match a vfb at 0.

Fixes #6317.
2015-12-30 17:44:32 -08:00
Unknown W. Brackets 7a864f5aa1 Be forgiving when maxSeenV increases.
This still allows us to optimize < 512 heights, but at the same time,
doesn't hit spritesheets as hard and avoids the scaling penalty.
2015-12-30 17:15:50 -08:00
Unknown W. Brackets d18164bd4d d3d9: Clean up some scaling handling. 2015-12-30 16:54:25 -08:00
Unknown W. Brackets 1072028ef5 Fix scaling of NOT frequently changing textures.
Oops.  Sorry.
2015-12-30 16:38:07 -08:00
Unknown W. Brackets e3e8fbf7ce Correct bufw handling when texture is unscaled. 2015-12-30 16:26:39 -08:00
Henrik Rydgård 37cfea0fdc Merge pull request #8338 from unknownbrackets/xbrz
Update xBRZ to 1.4 and improve scaling/caching limits
2015-12-30 23:11:30 +01:00
Unknown W. Brackets f32e4bc3c9 Regain frequently changing texture trust faster.
This allows us to start scaling it again sooner, if it stops changing
frequently.
2015-12-30 13:49:53 -08:00
Unknown W. Brackets 1f5813dd82 Mark frequently, but known, changed textures.
We don't have to rehash these, but they still may be too slow to upscale.
May help #6031.
2015-12-30 13:31:16 -08:00
Unknown W. Brackets 6856fbbef7 Show an OSM whenever VRAM fills up.
This way they know stuff is happening that is not ideal.
2015-12-30 13:29:29 -08:00
Unknown W. Brackets 6129af9b4a Reduce tex scaling automatically if VRAM is full. 2015-12-30 13:23:05 -08:00
Henrik Rydgård 716d7a38f5 Merge pull request #8292 from unknownbrackets/opengl-core
Improve VAO core profile performance
2015-12-30 22:03:04 +01:00
Unknown W. Brackets bc4b503601 Check same depth / overlap for glCopyImageSubData.
Differing depths can happen with the blit that's used for the download
with GPU color conversion.
2015-12-30 10:27:18 -08:00
Unknown W. Brackets 842ff4000f Skip CopyImageSubData when blit is outside FBO.
Otherwise, it will simply fail.  See #7525 (comments in 2015-12.)
2015-12-28 22:23:07 -08:00
Unknown W. Brackets c3a0c14f39 Prevent leaking VBOs on shutdown also. 2015-12-28 14:13:24 -08:00
Unknown W. Brackets f2410e2110 Oops, actually free old vertex cache buffers.
And reuse them, since, why not?
2015-12-28 14:13:24 -08:00
Unknown W. Brackets 675efe99b3 Use the new way for GL_EXTENSIONS in reporting too. 2015-12-28 14:13:23 -08:00
Unknown W. Brackets 8aed1c5f8e Decimate buffer names less frequently.
Sometimes there can be a lot, so let's decimate in chunks, and only based
on memory pressure.
2015-12-28 14:13:22 -08:00
Unknown W. Brackets d39c8a5994 Decimate buffer objects less often.
I think it was previously deleting used objects, oops.
2015-12-28 14:13:21 -08:00
Unknown W. Brackets 199d8ac0c0 Reuse buffers of the same size for dynamic data.
This is a lot faster than changing their sizes all the time.
2015-12-28 14:13:20 -08:00
Unknown W. Brackets 517d5b7562 Warn when an upscaling shader is being used.
Otherwise it's potentially confusing that it doesn't change.  See #8310.
2015-12-27 12:05:12 -08:00
Unknown W. Brackets 941988cde4 Correct prescale issues with render-to-texture.
Still need to apply the scaling of the texture coordinates here (or
somewhere, maybe we prescale that as well?  Except it's figured later on
in the process...)
2015-12-20 21:13:43 -08:00
Unknown W. Brackets 27ad8185e3 Add flag for core GL contexts.
Since using VBOs all the time is slower.
2015-12-19 09:18:35 -08:00
Unknown W. Brackets 164594b044 Use a VAO for all drawing, and VBOs throughout. 2015-12-19 09:18:34 -08:00
Unknown W. Brackets 003d1ea0f3 Correct glReadPixels() from offset. 2015-12-12 21:21:38 -08:00
Unknown W. Brackets fbc4b4e7a1 Use glCopyImageSubData() when it's available.
There's 4 different extensions providing this functionality.  NV is
supported on desktop and mobile, EXT/OES on mobile, and ARB on desktop.

Mostly these are only supported by desktop cards and NVIDIA mobile.

Good improvement in performance on NVIDIA when blit is called a lot, since
it doesn't need to rebind anything or change state.  Example is in desert
city in Tales of Phantasia.
2015-12-06 10:39:21 -08:00
Henrik Rydgård 4bb36b0e79 Merge pull request #8243 from unknownbrackets/gpu-blend
Enable EXT_blend_func_extended
2015-12-06 18:36:45 +01:00
Unknown W. Brackets 308a948169 Explicitly set row length for glReadPixels(). 2015-12-06 09:18:37 -08:00
Unknown W. Brackets a2d228a729 Remove more USING_GLES2 ifdefs. 2015-12-06 09:08:38 -08:00
Unknown W. Brackets 33e37f4cd3 Use qualifier for GLES3 framebuffer fetch.
Note: still statically disabled.
2015-11-27 16:09:57 -08:00
Unknown W. Brackets 1fb271a607 Enable EXT_blend_func_extended.
Not really tested.
2015-11-27 16:01:25 -08:00
Henrik Rydgard 01669cbd92 Hide the "Internal resolution" etc static display unless FPS counter is on.
Seems fairly related and I don't want to add more options.
2015-11-27 00:17:14 +01:00
Unknown W. Brackets 1339f6b1f3 Report formats on usage of rendered clut. 2015-11-26 14:31:46 -08:00
Unknown W. Brackets 3965cba187 Disable clut render for now as a "slow effect".
Also, add reporting.
2015-11-26 13:42:18 -08:00
Unknown W. Brackets 8e2557bafe Support render-to-clut, at least in some cases.
This is pretty much only tested with Brave Story.  See #6754.

There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Unknown W. Brackets c22953a4b9 Treat invalid blend factors as fixed consistently. 2015-11-19 06:48:06 -08:00
Henrik Rydgard af33011fd3 Buildfix 2015-11-18 12:13:36 +01:00
Henrik Rydgard 758ec5a027 Avoid clearing the backbuffer before actually doing any rendering to fbo on every frame - instead, clear when stretching the framebuffer into place. May save quite a bit of bandwidth on tiler GPUs with naive GL drivers. 2015-11-18 12:13:35 +01:00
Henrik Rydgård 563ad0fa10 Merge pull request #8219 from unknownbrackets/gpu-logicop
Make logic ops flush on GLES
2015-11-16 01:21:43 +01:00
Unknown W. Brackets 7e71bd653f Allow logic ops in GLES.
We have a backup plan for them now, so they need to flush.

Fixes #2917.
2015-11-15 15:06:37 -08:00
Unknown W. Brackets 2ed8aab2d7 Avoid direct refs to OES_texture_npot.
So that we can control it centrally in GLES_GPU.
2015-11-15 15:06:09 -08:00
Henrik Rydgård 5b21c1aa39 Merge pull request #8174 from hrydgard/remove-option-depthrangehack
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
2015-11-15 23:05:20 +01:00