gsdx dx/gl: fix potential bug in alpha test handling

Depth test must remain disabled if write were masked.

Bug was detected on ICO (sea/sky) but the previous commit removes
the wrong ATE draw call.
This commit is contained in:
Gregory Hainaut 2016-09-19 08:56:49 +02:00
parent 6966e08306
commit b91bd3ea01
2 changed files with 4 additions and 4 deletions

View File

@ -606,10 +606,10 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
}
if (ate_RGBA_then_Z) {
z = true;
z = !m_context->ZBUF.ZMSK;
r = g = b = a = false;
} else if (ate_RGB_then_ZA) {
z = true;
z = !m_context->ZBUF.ZMSK;
a = !!(m_context->FRAME.FBMSK & 0xFF000000);
r = g = b = false;
}

View File

@ -1460,10 +1460,10 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
}
if (ate_RGBA_then_Z) {
z = true;
z = !m_context->ZBUF.ZMSK;
r = g = b = a = false;
} else if (ate_RGB_then_ZA) {
z = true;
z = !m_context->ZBUF.ZMSK;
a = !!(m_context->FRAME.FBMSK & 0xFF000000);
r = g = b = false;
}