diff --git a/GPU/Common/GPUStateUtils.cpp b/GPU/Common/GPUStateUtils.cpp index 0194464d91a7..9da2049d61e4 100644 --- a/GPU/Common/GPUStateUtils.cpp +++ b/GPU/Common/GPUStateUtils.cpp @@ -115,7 +115,9 @@ bool IsAlphaTestTriviallyTrue() { bool NeedsTestDiscard() { // We assume this is called only when enabled and not trivially true (may also be for color testing.) - if (gstate.isStencilTestEnabled() || gstate.isDepthTestEnabled()) + if (gstate.isStencilTestEnabled() && (gstate.pmska & 0xFF) != 0xFF) + return true; + if (gstate.isDepthTestEnabled() && gstate.isDepthWriteEnabled()) return true; if (!gstate.isAlphaBlendEnabled()) return true;