Commit Graph
155 Commits
Author SHA1 Message Date
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
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
Henrik Rydgard 10b9e83353 Dest alpha mask: Try some rules that seem to make sense from what we know now. 2013-12-04 13:16:22 +01:00
Henrik Rydgard 33efffe759 When blending (and we thus can't use stencil-to-alpha in frag shader), always write zero to alpha.
It seems the PSP doesn't blend in the alpha channel.

Reduces glow problems in Gods Eater Burst and Wipeout - although Wipeout loses some glow
that should be there.
2013-12-03 11:27:31 +01:00
Unknown W. Brackets 034de0e992 Do not wrap stencil values on INCR/DECR. 2013-12-03 00:02:07 -08:00
Henrik Rydgård 70e4214e2e Add comment with a link to an important github thread 2013-10-30 23:08:03 +01:00
Henrik Rydgård 07a868910e Add a temporary hack option that may help debugging the wipeout glow.
It reduces the glow problem by a lot but is obviously incorrect.
2013-10-30 22:47:36 +01:00