Commit graph

586 commits

Author SHA1 Message Date
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
LunaMoo
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
LunaMoo
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
LunaMoo
b054117aad Technically we do change resolution, so this seems best solution 2015-10-14 20:07:06 +02:00
LunaMoo
612f569c82 Extra check for filtering in case of game change with same resolution. 2015-10-14 19:16:48 +02:00
LunaMoo
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
Henrik Rydgard
669508ed80 Restore some code that should not have been deleted (dupe on windows but not on other platforms) 2015-09-19 23:42:22 +02:00
Henrik Rydgard
4d18d478a0 Sample renderWidth/pixelWidth/height once per frame for the framebuffer manager. 2015-09-19 16:19:03 +02:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
93e9d6cd56 Respect framebuffer offset in fb copies.
We need to offset the copy coordinates also, or we'll copy the wrong
thing.
2015-09-13 11:35:15 -07:00
Unknown W. Brackets
62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Unknown W. Brackets
e1df8fc45f Centralize sampling params and test optimizations. 2015-09-13 06:38:07 -07:00
Henrik Rydgard
ab3468ea02 Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h 2015-09-06 13:45:17 +02:00
Henrik Rydgard
d822cbf60b Move fbo.cpp/h from native into PPSSPP 2015-09-06 13:13:37 +02:00