GS-hw: Also disable Blending when AA1 and ABE or PABE are both set on lines.

There's no need to blend them since there is no implementation.
This commit is contained in:
lightningterror 2021-11-23 18:39:16 +01:00
parent 08f72596d4
commit c75b20e37d
2 changed files with 10 additions and 2 deletions

View File

@ -442,8 +442,12 @@ void GSRendererDX11::EmulateBlending()
{
// Partial port of OGL SW blending. Currently only works for accumulation and non recursive blend.
// AA1: Don't enable blending on AA1, not yet implemented on hardware mode,
// it requires coverage sample so it's safer to turn it off instead.
const bool aa1 = PRIM->AA1 && (m_vt.m_primclass == GS_LINE_CLASS);
// No blending so early exit
if (!(PRIM->ABE || m_env.PABE.PABE))
if (aa1 || !(PRIM->ABE || m_env.PABE.PABE))
return;
m_om_bsel.abe = 1;

View File

@ -464,8 +464,12 @@ void GSRendererOGL::EmulateBlending(bool& DATE_GL42, bool& DATE_GL45)
{
GSDeviceOGL* dev = (GSDeviceOGL*)m_dev;
// AA1: Don't enable blending on AA1, not yet implemented on hardware mode,
// it requires coverage sample so it's safer to turn it off instead.
const bool aa1 = PRIM->AA1 && (m_vt.m_primclass == GS_LINE_CLASS);
// No blending so early exit
if (!(PRIM->ABE || m_env.PABE.PABE))
if (aa1 || !(PRIM->ABE || m_env.PABE.PABE))
{
dev->OMSetBlendState();
return;