From 4a929f85b61f376fffc74de4c194878571873bce Mon Sep 17 00:00:00 2001 From: degasus Date: Sun, 17 Mar 2013 00:36:13 +0100 Subject: GLSL: fix transparency issues on dual source blend. fix issue 6104 --- Source/Core/VideoCommon/Src/BPStructs.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Source/Core/VideoCommon/Src/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/Src/BPStructs.cpp b/Source/Core/VideoCommon/Src/BPStructs.cpp index 99a03487d6..9580eea447 100644 --- a/Source/Core/VideoCommon/Src/BPStructs.cpp +++ b/Source/Core/VideoCommon/Src/BPStructs.cpp @@ -213,7 +213,7 @@ void BPWritten(const BPCmd& bp) if (bp.changes & 4) SetDitherMode(); // Set Blending Mode - if (bp.changes & 0xFE1) + if (bp.changes & 0xFF1) SetBlendMode(); // Set Color Mask if (bp.changes & 0x18) @@ -458,11 +458,11 @@ void BPWritten(const BPCmd& bp) break; case BPMEM_ZCOMPARE: // Set the Z-Compare and EFB pixel format - g_renderer->SetColorMask(); // alpha writing needs to be disabled if the new pixel format doesn't have an alpha channel - g_renderer->SetBlendMode(true); OnPixelFormatChange(); - if(bp.changes & 3) + if(bp.changes & 7) { SetBlendMode(); // dual source could be activated by changing to PIXELFMT_RGBA6_Z24 + g_renderer->SetColorMask(); // alpha writing needs to be disabled if the new pixel format doesn't have an alpha channel + } break; case BPMEM_MIPMAP_STRIDE: // MipMap Stride Channel -- cgit v1.2.3