Commit graph

160 commits

Author SHA1 Message Date
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
raven02
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
Unknown W. Brackets
2f72da8087 Don't dirty the texture on texmapenable.
Tales of Phantasia X flips on and off texturing during battle transitions.
This causes tons of needless rehashes.
2014-04-13 13:19:35 -07:00
raven02
f1254c79ed Turn off regular alpha blending 2014-04-13 16:03:50 +08:00
raven02
568b14f890 Regress fix https://github.com/hrydgard/ppsspp/issues/5769 2014-04-13 13:58:34 +08:00
raven02
e0fae728ad Update few comments for 2x src/dst blending 2014-03-28 20:11:37 +08:00
raven02
ffcbb8703d Divide by 65536 instead of 65535 2014-03-24 21:33:29 +08:00
Henrik Rydgard
f4db725400 Remove redundant call to ReplaceAlphaWithStencil 2014-03-22 09:28:45 +01:00
Unknown W. Brackets
1ce6bf399a Buildfix for 32-bit x86, arg. 2014-03-17 21:52:45 -07:00
Henrik Rydgard
4df49a72ab Add yet another hack setting to work around the 3rd Birthday problem.
Hopefully temporary...
2014-03-13 19:00:35 +01:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Unknown W. Brackets
b034b992df Only copy dirty depth buffers between FBOs.
We can remove this if/when we track them separately.  This may break a
game that depends on the depth carrying over between several FBOs, but
that's not extremely likely.

This improves performance in Gods Eater Burst.
2014-01-24 01:44:24 -08:00
Unknown W. Brackets
c412bbc09c Don't call SetTexture() in clear mode.
It's just a waste of time, the game is probably being lazy.
2014-01-20 01:04:48 -08:00
raven02
164a6846b0 Indentation fix 2014-01-02 20:24:57 +08:00
raven02
5f5220b608 Revert acf4562 2014-01-02 20:17:58 +08:00
raven02
b44542abb7 Fix #4913 2013-12-29 22:30:56 +08:00
raven02
d1327822d1 ReplaceAlphaWithStencil() has been checked for gstate.isStencilTestEnabled() 2013-12-26 11:33:53 +08:00
raven02
e5059d2c96 Set amask based on ReplaceAlphaWithStencil() 2013-12-25 19:42:08 +08:00
raven02
8a9ba716a0 GLES3: uses GL_MIN/MAX as supported 2013-12-22 15:20:04 +08:00
raven02
ad720b31e0 emnu fix#1 2013-12-21 16:17:40 +08:00
Henrik Rydgard
38f94ea0bf Minor typo fix 2013-12-17 00:20:40 +01:00
Henrik Rydgard
a9a15d5196 Don't use dual source when stencil disabled 2013-12-16 23:41:42 +01:00
Henrik Rydgard
068d4f0ee5 Another typo fix 2013-12-16 23:40:30 +01:00
Henrik Rydgard
0d2ec01e83 Switch CanReplaceAlphaWithStencil response to an enum 2013-12-16 23:24:32 +01:00
raven02
7f828a6b66 Set float for gstate.getStencilTestRef() * (1.0f / 255.0f); 2013-12-15 21:40:14 +08:00
Henrik Rydgard
214cc01976 Fix bugs in stencil2alpha, fix bugs in glsl 3 support, enable dual source blending where available
The stencil2alpha bug fixes fix some glows in Wipeout, dual source fixes the rest.
2013-12-15 12:49:13 +01:00
raven02
2e7609b084 Cleanup ClearmodeDepthMask 2013-12-10 20:48:20 +08:00
Henrik Rydgard
bd1d4e2d92 As if softgpu wasn't slow enough already, implement bilinear filtering. 2013-12-09 01:44:23 +01:00
Unknown W. Brackets
2df1db4c7e Avoid optimizing out both constant colors. 2013-12-07 23:24:25 -08:00
Unknown W. Brackets
a4780f5199 Don't forget the alpha in non-fixed blending. 2013-12-07 23:21:45 -08:00
Unknown W. Brackets
808eeb3a25 Attempt to pick a better blend for stencil replace. 2013-12-07 10:02:46 -08:00
raven02
60def7baf9 Set src/dst alpha to non GL_ZERO in case STENCIL_VALUE_UNIFORM 2013-12-07 21:11:47 +08:00
Unknown W. Brackets
054501c100 Replace alpha when blend mode allows it.
Some games are using fixed/fixed blending modes which work in our favor.
2013-12-07 02:54:33 -08:00
Unknown W. Brackets
113f9795f3 Try to more correctly handle stencil when blending.
Although, not accurate, this will attempt to KEEP and etc.
2013-12-07 01:58:33 -08:00
Henrik Rydgard
c738364f67 Make sure to disable scissor when doing the initial clear of a new FBO.
Minor cleanups.
2013-12-06 23:08:37 +01:00
Henrik Rydgård
13cdbd5284 Mask away alpha when the stencil operation is KEEP 2013-12-06 11:15:13 +01:00
Henrik Rydgard
d1f054e033 Wait, we're not in clear mode there so no need to check. 2013-12-04 13:17:41 +01:00