Commit graph

616 commits

Author SHA1 Message Date
Unknown W. Brackets
6151f8ef9f Allow taking screenshots with a clamped size.
Sometimes 10x is a little on the big side.
2016-06-12 07:09:01 -07:00
Unknown W. Brackets
c12f835364 Download single-use renders right away.
Should prevent issues with the memory being reused soon after, hopefully.
See also #8781 and #7695.
2016-06-04 19:36:30 -07:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets
3ba46a71af Properly reset back to GL_TEXTURE0 in bind color. 2016-05-21 15:31:58 -07:00
Unknown W. Brackets
f08c873a4b Save FBOs on decimate when they have a safe size.
Fixes #7695.
2016-05-19 21:23:22 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
3d5dd24528 Remove an unnecessary func define.
Was already moved to FramebufferCommon.
2016-04-10 02:31:56 -07:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Unknown W. Brackets
9cd0544137 Flip GL debug stencil/depth in non-buffered. 2016-03-26 17:25:45 -07:00
Unknown W. Brackets
ba7deb7c9a Fix GE debugger preview in non-buffered. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
5f761c346b Attempt workaround for #8610 2016-02-28 11:06:49 +01:00
Unknown W. Brackets
5894431fa0 Correct buffer size for offset download.
We need h, not h - y.  Should be #7819.
2016-02-11 22:30:44 -08:00
Henrik Rydgard
5bfeafc037 PackFramebufferSync_: Check for bad parameters that could cause crash
My theory for the #7819 crash
2016-02-11 22:10:54 +01:00
Unknown W. Brackets
271829c991 Consider depth blitting a slow framebuffer effect. 2016-02-10 21:02:19 -08:00
Henrik Rydgård
cd35684a46 Merge pull request #8454 from unknownbrackets/gpu-depth-round
Add pixel depth rounding to d3d9, gles2 and support forcing via config
2016-01-21 09:41:26 +01:00
Unknown W. Brackets
0443fbebd0 Add methods to download depth to PSP RAM. 2016-01-20 22:11:03 -08:00
Unknown W. Brackets
2916298695 gedbg: Add scaled 16-bit z support. 2016-01-20 22:11:02 -08:00
Unknown W. Brackets
57aa864c0c Blit depth when current, not max, size matches.
This is really what was implemented originally, this code was just not
updated to match when we started resizing framebuffers.

Fixes #6497.
2016-01-20 21:35:19 -08:00
Unknown W. Brackets
d1b3768e49 Use a common func everywhere for float depth vals. 2016-01-18 19:29:45 -08:00
Unknown W. Brackets
73bcf16612 Flush before loading the CLUT.
In case it's what was being rendered to.
2016-01-17 12:55:48 -08:00
Henrik Rydgard
98c779ccb8 Fix #8255 by swapping the two portrait modes.
Thanks unknown.
2016-01-17 11:03:34 +01:00
Henrik Rydgard
1ab4d0eb69 Also remove now-unused shader code 2016-01-10 23:46:20 +01:00
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