From 8452d2ccfedd2efba6cc4a560c1294670b3e2039 Mon Sep 17 00:00:00 2001
From: Gregory Hainaut <gregory.hainaut@gmail.com>
Date: Fri, 31 Jul 2015 19:43:06 +0200
Subject: [PATCH] gsdx-ogl: fbmask regression! don't use bit operation with
 integer

---
 plugins/GSdx/GSRendererOGL.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp
index 62123f99c1..1984bcfaf1 100644
--- a/plugins/GSdx/GSRendererOGL.cpp
+++ b/plugins/GSdx/GSRendererOGL.cpp
@@ -263,14 +263,15 @@ bool GSRendererOGL::EmulateTextureShuffleAndFbmask(GSDeviceOGL::PSSelector& ps_s
 				ps_sel.fbmask = 1;
 		}
 
-		ps_sel.fbmask &= m_sw_blending;
-		if (ps_sel.fbmask) {
+		if (ps_sel.fbmask && m_sw_blending) {
 			GL_INS("FBMASK SW emulated fb_mask:%x on tex shuffle", fbmask);
 			ps_cb.FbMask.r = rg_mask;
 			ps_cb.FbMask.g = rg_mask;
 			ps_cb.FbMask.b = ba_mask;
 			ps_cb.FbMask.a = ba_mask;
 			require_barrier = true;
+		} else {
+			ps_sel.fbmask = 0;
 		}
 
 	} else {
@@ -297,8 +298,7 @@ bool GSRendererOGL::EmulateTextureShuffleAndFbmask(GSDeviceOGL::PSSelector& ps_s
 				ps_sel.fbmask = 1;
 			}
 
-			ps_sel.fbmask &= m_sw_blending;
-			if (ps_sel.fbmask) {
+			if (ps_sel.fbmask && m_sw_blending) {
 				GL_INS("FBMASK SW emulated fb_mask:%x on %d bits format", m_context->FRAME.FBMSK,
 						(GSLocalMemory::m_psm[m_context->FRAME.PSM].fmt == 2) ? 16 : 32);
 				ps_cb.FbMask.r = r_mask;
@@ -306,6 +306,8 @@ bool GSRendererOGL::EmulateTextureShuffleAndFbmask(GSDeviceOGL::PSSelector& ps_s
 				ps_cb.FbMask.b = b_mask;
 				ps_cb.FbMask.a = a_mask;
 				require_barrier = true;
+			} else {
+				ps_sel.fbmask = 0;
 			}
 		}
 	}