From bae4a2df7e9ca546f3ccb0823a0f07e64e352c78 Mon Sep 17 00:00:00 2001 From: TellowKrinkle Date: Mon, 21 Nov 2022 00:56:59 -0600 Subject: [PATCH] GS:MTL: Fix mad shader on M1 --- pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm index b7dd7c2b87..b1d070f2f9 100644 --- a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm +++ b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm @@ -596,7 +596,8 @@ void GSDeviceMTL::DoInterlace(GSTexture* sTex, GSTexture* dTex, int shader, bool GSMTLInterlacePSUniform cb = {}; cb.ZrH = {static_cast(bufIdx), 1.0f / ds.y, ds.y, MAD_SENSITIVITY}; - DoStretchRect(sTex, sRect, dTex, dRect, m_interlace_pipeline[shader], linear, shader > 1 ? LoadAction::DontCareIfFull : LoadAction::Load, &cb, sizeof(cb)); + const bool can_discard = shader == 0 || shader == 3; + DoStretchRect(sTex, sRect, dTex, dRect, m_interlace_pipeline[shader], linear, !can_discard ? LoadAction::DontCareIfFull : LoadAction::Load, &cb, sizeof(cb)); }} void GSDeviceMTL::DoFXAA(GSTexture* sTex, GSTexture* dTex)