Commit Graph
195 Commits
Author SHA1 Message Date
Unknown W. Brackets 5fa3bf0eb9 Move the viewport transform to the proj matrix.
The viewport has an implementation defined maximum size.  On some devices,
it's as low as 2048 or 4096.

Tales of Destiny 2, for example, uses a large viewport, which may be
outside this range at 1x or 2x on such devices.  This makes it work much
better.  It may also have better subpixel precision.
2015-03-22 23:35:24 -07:00
Unknown W. Brackets 08a1bb8796 Add support for ARM_shader_framebuffer_fetch. 2015-03-07 16:11:43 -08:00
Unknown W. Brackets 9c3ccc97a2 Support EXT_shader_framebuffer_fetch.
We only supported NV_ before.  Not tested on any supporting device, but
this is primarily found on PowerVR devices.  This may allow them to
perform effects (like min/max/etc.) more accurately and quicker.
2015-03-07 12:07:53 -08:00
Unknown W. Brackets 383f894db7 d3d9: Make blending more like GL's recent changes. 2015-03-01 10:31:43 -08:00
Henrik Rydgård 0d69576810 Merge pull request #7515 from unknownbrackets/gpu-minor2
For 5551 buffers, force stencil mask to 1/0
2015-02-26 21:56:19 +01:00
Unknown W. Brackets a3342a72d7 Fix copy/paste mistake from 808eeb3a25.
I'm pretty sure this was not intentional.
2015-02-23 11:06:44 -08:00
Unknown W. Brackets b5126f7236 Use ONE/ZERO in place of CONSTANT_ALPHA if okay. 2015-02-23 09:58:46 -08:00
Unknown W. Brackets 3ff51588f7 Avoid using constant color when blending.
If it's just ONE/ZERO or etc., we can keep those constants.  May be
faster, and apparently less buggy in some drivers.
2015-02-23 08:37:00 -08:00
Unknown W. Brackets 9d5ae2b336 For 5551 buffers, force stencil mask to 1/0.
4444 it would also be ideal to spread the bits, but that gets a bit
complicated.  5650 probably doesn't matter.
2015-02-22 19:11:11 -08:00
Unknown W. Brackets 4c15afa905 Allow multiple replacements on the same func.
Or, more specifically, hooks.  This allows enter and exit on the same
func, which can obviously be useful for debugging.
2015-02-21 15:48:09 -08:00
Lioncash dc436aebe8 GPU: Get rid of unused variable warnings 2014-12-12 09:29:41 -05:00
Unknown W. Brackets 67a54504c7 Oops, left the comment in the wrong one. 2014-09-24 23:11:47 -07:00
Unknown W. Brackets d1e992736b Simplify the viewport code a bit. 2014-09-24 23:09:09 -07:00
Unknown W. Brackets c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets 4e50eed85b d3d9: Specify tex stage for binding framebuf color. 2014-09-21 12:11:17 -07:00
Unknown W. Brackets 33ac30218a Bind the alphatest tex after we know vert alpha.
Before we sometimes thought alpha test was trivially true when it wasn't.
2014-09-10 23:43:48 -07:00
Unknown W. Brackets 94c1271761 Add an experiment with using a texture for tests.
Using an option for now so it's easy to test, if it works well we can
maybe remove the option.
2014-09-07 10:04:57 -07:00
Unknown W. Brackets 39ee5bb6b7 Support stencil incr/decr even without blending. 2014-08-24 10:24:30 -07:00
Unknown W. Brackets 757f10d47a Oops, equation not func. 2014-08-24 10:24:29 -07:00
Unknown W. Brackets 90746fb5b2 Support INVERT with stencil alpha replacement. 2014-08-24 10:24:28 -07:00
Unknown W. Brackets 0018638458 Support INCR/DECR with stencil value replacement. 2014-08-24 10:24:28 -07:00
Unknown W. Brackets a43c3771a3 More correctly blend when hitting the frame cap.
If we hit too many blits per frame, fall back correctly in the shader.
2014-08-18 23:20:48 -07:00
Unknown W. Brackets 5d1b1ab547 Dirty the fixed color when premultiplying. 2014-08-18 23:20:46 -07:00
Unknown W. Brackets 24a0dd12ef Avoid recalculating replaceBlend so many times. 2014-08-18 23:20:45 -07:00
Unknown W. Brackets 44620c92ed Premultiply for doubled alpha blending if possible.
This makes the effect more accurate where the values were being clamped
before.  Some obscure methods of blending may be slower.
2014-08-18 23:20:45 -07:00
The Dax ee9eb00656 One last buildfix (please correct if GL_FUNC_ADD is wrong, I just wanted buildbot to work again). https://github.com/hrydgard/ppsspp/pull/6679 should replace this soon. 2014-08-05 00:34:36 -04:00
Unknown W. Brackets cde9746dab Buildfix. 2014-08-04 21:09:58 -07:00
Unknown W. Brackets 3008b4f8a8 Also do it here, although may be removed soon. 2014-08-04 19:33:58 -07:00
Unknown W. Brackets 8d6a5fd694 Use correct stencil values with non-add blending.
Otherwise, we get the min/max/etc. value instead.
2014-08-04 19:16:10 -07:00
Unknown W. Brackets 0279aa154c Use glStencilMask() to partially simulate amask.
Alpha won't be correct, though.
2014-08-03 21:48:18 -07:00
Unknown W. Brackets 6e751f8092 Use shader blend for min/max when unsupported. 2014-06-17 00:20:06 -07:00
Unknown W. Brackets 640c58a892 Reorganize alphablend state mapping logic. 2014-06-17 00:20:05 -07:00
Unknown W. Brackets 256436b594 Support fixed/fixed blending without a blit. 2014-06-17 00:20:04 -07:00
Unknown W. Brackets fdd759909b Auto-disable shader blending after 48 per frame.
Should prevent possible massive slowdowns from log reporting.
2014-06-15 13:48:06 -07:00
Unknown W. Brackets 030b562eb9 Support render-to-offset within a framebuffer.
Fixes #6324.
2014-06-14 17:08:41 -07:00
Unknown W. Brackets 1d9f7b04fc Implement in-shader blending on gles2 / gl2.
I'm sure it'll be slow, though...
2014-06-13 23:42:59 -07:00
Unknown W. Brackets 1bd44fd4e2 Typo. 2014-06-08 23:21:16 -07:00
Unknown W. Brackets 63e0d47de6 Report unsupported RGB and a/stencil masks. 2014-06-08 22:45:59 -07:00
Unknown W. Brackets 865941a66d Ignore needShaderTexClamp when not texmapping. 2014-06-08 14:27:57 -07:00
Unknown W. Brackets cc841bbe4c Apply tex wrap/clamp in shader for render-to-tex.
Fixes graphical artifacts in Wild Arms XF (which depends on how you get
there, because it's based on the size of the framebuffer.)
2014-06-07 13:13:58 -07:00
Unknown W. Brackets c2ccfd5629 Stop stretching things to the FBO size.
Instead, draw in the top corner.  This way, even if framebuffers get
smaller things stay consistent.
2014-06-01 21:20:04 -07:00
raven02andHenrik Rydgard 608d43898d Remove AlphaMaskHack 2014-05-27 22:11:18 +02:00
Unknown W. Brackets 8f9a2b9882 Unbind the fbo texture when it's not used.
Just in case there are problems with decimating it or etc.
2014-05-27 01:45:20 -07:00
Unknown W. Brackets f80dee4164 Remove outdated comment.
Was all lies.
2014-05-27 01:45:19 -07:00
Unknown W. Brackets b02fe1db3d Log when blitting a ton per frame, it can get slow. 2014-05-27 01:45:18 -07:00
Unknown W. Brackets 4b978ed6f9 Apply unsupported blending modes in the shader.
This handles unsupported fixed color combinations, alpha doubling, etc.
Where possible, tries to avoid it - it means using a blit (without the
framebuffer fetch extension), which can slow things down a lot with tons
of drawcalls.
2014-05-27 01:45:17 -07:00
raven02 e0e1a6b217 Only set depth update flag when depth write is enabled 2014-04-30 20:00:42 +08:00
Henrik Rydgard cf4887ecdd Update native to detect the EXT and NV extensions separately. Only look at the NV one. 2014-04-18 19:30:10 +02:00
raven02 a29255b647 Fix wrong stretch in Wildarm XF (non-buffered mode) 2014-04-14 11:40:04 +08:00
Unknown W. Brackets 4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00