diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index c8afdc5457..83099d7223 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -10473,6 +10473,5 @@ std::size_t GSRendererHW::ComputeDrawlistGetSize(float scale) bool GSRendererHW::IsCoverageAlphaSupported() { - return IsCoverageAlpha() && g_gs_device->Features().aa1 && - (m_vt.m_primclass == GS_LINE_CLASS || m_vt.m_primclass == GS_TRIANGLE_CLASS); + return IsCoverageAlpha() && g_gs_device->Features().aa1; } diff --git a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp index e31e2304d6..ba7ed76420 100644 --- a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp +++ b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp @@ -1393,7 +1393,7 @@ bool GSRendererSW::GetScanlineGlobalData(SharedData* data) gd.sel.pabe = 1; } - if (PRIM->AA1 && (primclass == GS_LINE_CLASS || primclass == GS_TRIANGLE_CLASS)) + if (IsCoverageAlpha()) { gd.sel.aa1 = 1; } @@ -1523,6 +1523,11 @@ bool GSRendererSW::GetScanlineGlobalData(SharedData* data) return true; } +bool GSRendererSW::IsCoverageAlphaSupported() +{ + return IsCoverageAlpha(); +} + GSRendererSW::SharedData::SharedData() : m_fpsm(0) , m_zpsm(0) diff --git a/pcsx2/GS/Renderers/SW/GSRendererSW.h b/pcsx2/GS/Renderers/SW/GSRendererSW.h index c91863c333..a1a2c34a95 100644 --- a/pcsx2/GS/Renderers/SW/GSRendererSW.h +++ b/pcsx2/GS/Renderers/SW/GSRendererSW.h @@ -82,7 +82,7 @@ protected: template void RewriteVerticesIfSTOverflow(); - bool IsCoverageAlphaSupported() override { return true; } + bool IsCoverageAlphaSupported() override; public: GSRendererSW(int threads); ~GSRendererSW() override;