Commit Graph
594 Commits
Author SHA1 Message Date
Henrik Rydgard 88ed44189d Remove some unused functionality from the framebuffer managers 2016-01-10 14:59:27 +01:00
Unknown W. Brackets 909d477719 Support CLUTs at an x offset.
Used by Kurohyo 2.  Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Unknown W. Brackets 19877144ba Avoid redownloading CLUT when reloaded.
In Brave Story, the game reloads the CLUT frequently, but doesn't actually
render to the CLUT that often.  It also switches between a few different
rendered CLUTs - so caching that we've downloaded is a HUGE win.

In case someone reading this message is interested, it actually renders
these CLUT tables from what appears to be a color wheel.  Crazy huh?
2016-01-04 22:21:33 -08:00
Unknown W. Brackets 095d8cb52a Avoid download/conv of full rows.
Sometimes we don't need the full width, such as when we're downloading a
CLUT.  In Brave Story, the CLUTs overlap in detected width, so this is a
real improvement.
2016-01-04 22:20:12 -08:00
Unknown W. Brackets 28a07c70c6 Explicitly download rendered cluts.
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies.  CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets 4e088aebb7 Discard blit buffer contents before blit.
This way the GPU doesn't think it needs to load anything, it's all being
overwritten.  If we're only using part of the framebuffer, the other parts
don't matter.
2016-01-04 20:57:54 -08:00
Unknown W. Brackets a6c64f74d1 Cleanup download process a bit more. 2016-01-04 20:51:43 -08:00
Unknown W. Brackets 4176ee241f Reuse more code between GPUs for download. 2016-01-04 20:40:07 -08:00
Unknown W. Brackets 79263a73e5 Correct invalid enum error in GE debugger. 2016-01-03 15:11:19 -08:00
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 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 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 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 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
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
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
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
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
Unknown W. Brackets 010a7ac1af Correct state leakage on shader blend/self render.
This makes #2917 look right on desktop with blit and logic ops disabled.
2015-11-15 13:12:29 -08:00
Unknown W. Brackets 1be77e3893 Fix crash in headless GPU tests/bad settings.
Really any situation in which sPostShaderName is not exactly "Off", but
said shader doesn't exist.  In headless, it was "".
2015-11-14 11:00:10 -08:00
Unknown W. Brackets a821cd3f12 Disable UV range opt. for shader blending FBO.
Obviously this is unsafe, not sure what I was thinking...
2015-11-09 23:31:34 -08:00
Unknown W. Brackets 95a5bd62d5 Switch a few other things to use force(). 2015-11-03 23:02:02 -08:00
Unknown W. Brackets 5ff3e6a5e7 Avoid polluting glstate in GetTempFBO().
Since we do this "late", we might overwrite important settings, such as
stencil, color masks, etc.

This affects both depal and fbo shader blending.

Didn't do it for all ClearBuffer()s, since I'm worried some might be
intentionally resetting state.
2015-11-03 22:37:19 -08:00
Unknown W. Brackets 869260087c Fix screenshots to be right side up, not crash. 2015-11-02 19:43:36 -08:00
LunaMooandLuna 71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Henrik Rydgard b411fc0455 Postproc: Scale pixel deltas and round off screen position. Fixes #8016 2015-11-02 22:22:48 +01:00
Henrik Rydgard 95240d46e8 Set the flipped flag to false on debug buffers 2015-11-02 20:11:36 +01:00
Henrik Rydgard 14652f0650 Make some optional arguments non-optional. 2015-11-02 20:10:29 +01:00
Henrik Rydgard bd64d5ba61 Fix a Y flip typo 2015-11-02 20:10:19 +01:00
Henrik Rydgard 6b2862284b Minor cleanups 2015-11-02 20:09:59 +01:00
Henrik Rydgard 0266211b88 Two wrongs can appently make a right. Remove an inadvertent flip, add flips where we actually need them. 2015-11-02 20:09:24 +01:00
Henrik Rydgard 86bfce4006 Remove more obsolete v-flip support 2015-11-02 20:09:12 +01:00
Henrik Rydgard 069a7b0d2f Move the viewport to the right place. 2015-11-02 20:08:00 +01:00
Henrik Rydgard 94b77135a2 Fix a few more flips 2015-11-02 20:07:38 +01:00
Henrik Rydgard f4248cb550 Remove a whole lot of flipping special cases 2015-11-02 20:07:30 +01:00
LunaMooandLuna ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Henrik Rydgard 8b2da19a55 Fix display of God Eater video in non-buffered mode. See #8082 2015-10-31 20:08:03 +01:00
Henrik Rydgard 27d4be9509 Fix texel addressing in post processing shaders when buffer size isn't 480x272. Fixes #8016. 2015-10-31 16:15:38 +01:00
LunaMooandLuna b054117aad Technically we do change resolution, so this seems best solution 2015-10-14 20:07:06 +02:00
LunaMooandLuna 612f569c82 Extra check for filtering in case of game change with same resolution. 2015-10-14 19:16:48 +02:00
LunaMooandLuna 9543250863 Add new postshader setting "upscaling" 2015-10-14 18:32:13 +02:00
Henrik Rydgard c2f4fad56a Fix another framebuffer race condition affecting #8002 (with postprocessing)
We can only wipe framebuffers at end of frame time when we react to the resolution change.
If we wipe at any other time, they can get recreated early and thus at the previous size.
2015-09-29 22:10:01 +02:00
Henrik Rydgard d3b265a3e4 Fix render resolution race condition. Should help #8002 2015-09-27 20:00:47 +02:00
Henrik Rydgard 70cb4372c1 Assorted fixes to auto resolution. Fixes too low resolution and also #8002, plus notification spam 2015-09-25 19:10:09 +02:00
Henrik Rydgard ec63663ad5 More consistent handling of resolution changes. Should help #7995 2015-09-23 12:25:38 +02:00