Commit graph

136 commits

Author SHA1 Message Date
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
Henrik Rydgård
b896a29ec0 New attempt at solving #4272 by not using alpha in the backbuffer.
If some effect ends up requiring destination alpha, just use buffered
rendering.
2013-10-25 12:44:21 +02:00
Henrik Rydgard
5c8a74d911 Stencil rectangle clears: Take the value from the second vertex. 2013-10-10 21:36:32 +02:00
raven02
7bf6f6411c Set stencil ref value to 255 (8 bitplanes) 2^8-1=255 2013-10-10 21:59:37 +08:00
Henrik Rydgard
f645988b8f More precision annotations in shader generators, other microoptimizations 2013-10-07 20:15:00 +02:00
Unknown W. Brackets
a5e9c3b10a Get stencil/depth reading for ge debugger.
Possibly works on NVIDIA only...
2013-10-05 17:19:17 -07:00
Henrik Rydgard
f48e0af235 Better check for blendmode 2013-09-30 10:17:23 +02:00
Henrik Rydgard
e65d0b4791 Use EXT_blend_minmax when available. Minor tweaks. 2013-09-30 10:12:10 +02:00
raven02
748ae6a3e7 Workaround fix issue #3912 2013-09-28 00:28:53 +08:00
danyalzia
f1ca139444 Fixes Drawing size in non-buffered 2013-09-18 12:24:27 +05:00
raven02
8c3a89019b GE_BLENDMODE_ABSDIFF : Replace it using GL_MAX 2013-09-16 20:48:33 +08:00
Henrik Rydgård
3101f100ce Merge pull request #3774 from raven02/patch-8
Zeroize destination alpha as well when stencil test disabled.
2013-09-15 01:42:01 -07:00
raven02
b3bac26265 Only zeroize dst alpha when both stencil and depth testing disabled. 2013-09-15 14:10:57 +08:00
raven02
ecdc82fb19 Zeroize destination alpha as well when stencil test disabled. 2013-09-15 12:49:28 +08:00
Unknown W. Brackets
7b2dea4429 Use accessors for offsetx/y. 2013-09-14 11:06:48 -07:00
Unknown W. Brackets
40e3e8e930 Use a gstate enum, report unhandled blend mode. 2013-09-14 07:36:43 -07:00
Henrik Rydgård
74418c13bf Merge pull request #3646 from raven02/patch-17
Toggle option "Disable Stencil Test" & "Always Depth Write"
2013-09-09 00:06:00 -07:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
raven02
a1aac79224 Toggle option "Disable Stencil Test" & "Always Depth Write" 2013-09-05 21:49:26 +08:00
raven02
557b721a87 Change to gstate.getDepthTestFunction() 2013-09-05 13:57:12 +08:00