Commit Graph

60 Commits

Author SHA1 Message Date
Unknown W. Brackets
c5b844cc98 GPU: Respect stencil write mask on clear.
Actually identified this for the softgpu in #11319, but applying it for
RGBA is a problem in most renderers.  Forgot to at least apply it to
stencil.

Fixes #11901.
2019-03-16 19:42:18 -07:00
Unknown W. Brackets
b955ec70c9 GPU: Correct depth clamp range in range cull.
It was just wrong before, causing wrong culling when using a non-standard
viewport scale/center for depth.

Fixes #11701, fixes #11781.
2019-02-10 09:58:01 -08:00
Henrik Rydgard
3f8aec5147 Remove the "Disable stencil test" hack. Doesn't seem to serve much purpose anymore. 2018-12-14 13:54:03 +01:00
Unknown W. Brackets
5932cbabc3 GPU: Avoid stencil emulation if possible.
This reduces use of replaceAlpha, and reduces use of more complicated
blend states.  This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Unknown W. Brackets
29b5581416 GLES: Correct invalid scissor handling.
Also improves Direct3D 9.  See #11444.

Per hardware tests, we should correctly not draw in this case.
2018-10-28 15:56:02 -07:00
Unknown W. Brackets
274b1eaa0e GPU: Fix typo with wrong type.
No behavior change, just fixes a warning.
2018-08-26 11:51:06 -07:00
Unknown W. Brackets
5c01bf61e6 GPU: Apply logic op in more cases.
It has well defined behavior with alpha blending, so let's apply it even
when we're blending.  Fixes #11316.
2018-08-24 21:19:54 -07:00
Unknown W. Brackets
734db3d050 GPU: Refactor logic op simulation for better reuse. 2018-08-24 21:05:27 -07:00
Unknown W. Brackets
77f0499f7f GPU: Rename clipping flag to depth clamp.
It seems to just to depth clamp.  When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Unknown W. Brackets
7885a88c0c GPU: Optimize > 0 alpha test using discard rules.
It should be equally unsafe to use src color as dest blend factor, or
use blending with a subtract or min/max equation.
2018-07-29 11:39:06 -07:00
Unknown W. Brackets
fba0de59c1 GPU: Restrict alpha test to zero for dest blend.
We could end up with the wrong blending in other cases, because the
exiting color will get multiplied.

Luckily, this is still the common case.
2018-07-29 11:26:04 -07:00
Unknown W. Brackets
5ccd3ee4dc GPU: Allow skipping discard when write disabled.
Even if we depth test, if we don't write, we can still force alpha to
zero.
2018-07-27 20:16:51 -07:00
Unknown W. Brackets
5ad948df73 Vulkan: Avoid discard when we can blend.
Where possible, replace alpha and color testing with a zero alpha value.

This allows early fragment tests more often, which may help #11227.  It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Unknown W. Brackets
b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Henrik Rydgård
9340260802 Finish the shader manager (almost) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
2dda2bfa78 Dual source blend: Remove bad #ifdef that killed dual src code on Android... oops. Re-enable on nVidia Shield TV/Tablet. Fixes #10136 properly. 2017-12-30 00:53:24 +01:00
Unknown W. Brackets
e8ca467bc9 Vulkan: Allow full depth range with depth clamp. 2017-12-26 16:54:40 -08:00
Unknown W. Brackets
c5897a1c5c GPU: Cleanup some feature flags usage. 2017-12-21 18:50:41 -08:00
Unknown W. Brackets
9c52155d3f GPU: Minor cleanup. 2017-12-02 09:47:59 -08:00
Henrik Rydgård
6a3d41892a Workarounds for issue with "accurate depth". See #9545, #10087 2017-11-21 12:11:05 +01:00
Henrik Rydgard
56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgård
474db602ca UWP: Fix screen rotation in non-buffered rendering mode 2017-03-07 15:32:26 +01:00
Florent Castelli
70593d1004 android: Change preprocessor define to standard __ANDROID__
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Unknown W. Brackets
f101e2710c Avoid a c++11 rule violation.
No default args on lambdas, unfortunately...?
2016-08-06 20:01:50 -07:00
Unknown W. Brackets
fed0089c81 Rewrite 5551 test mask to 0xFF in more cases.
If nothing else, this may improve cacheability or something, since states
will be more regular.

May somehow help PowerVR in #7740?
2016-05-28 09:11:53 -07:00