Only apply the enable mask on instructions requiring predication.
diff --git a/src/GLES2/libEGL/main.cpp b/src/GLES2/libEGL/main.cpp
index cb3db37..52a7dde 100644
--- a/src/GLES2/libEGL/main.cpp
+++ b/src/GLES2/libEGL/main.cpp
@@ -115,6 +115,7 @@
     switch(reason)

     {

     case DLL_PROCESS_ATTACH:

+	//	MessageBoxA(0, "Attach debugger now and press OK", "SwiftShader loaded", MB_OK);

         return eglAttachProcess();

         break;

     case DLL_THREAD_ATTACH:

diff --git a/src/Shader/PixelRoutine.cpp b/src/Shader/PixelRoutine.cpp
index 42f6189..bb0b862 100644
--- a/src/Shader/PixelRoutine.cpp
+++ b/src/Shader/PixelRoutine.cpp
@@ -4007,7 +4007,7 @@
 					if(dst.w) d.w = Min(d.w, Float4(1.0f));
 				}
 
-				if(shader->containsDynamicBranching())
+				if(instruction->isPredicated())
 				{
 					Vector4f pDst;   // FIXME: Rename
 
diff --git a/src/Shader/Shader.cpp b/src/Shader/Shader.cpp
index 7f0f68f..da0a84f 100644
--- a/src/Shader/Shader.cpp
+++ b/src/Shader/Shader.cpp
@@ -1024,6 +1024,15 @@
 		return opcode == OPCODE_ENDLOOP || opcode == OPCODE_ENDREP || opcode == OPCODE_ENDWHILE;
 	}
 
+	bool Shader::Instruction::isPredicated() const
+	{
+		return predicate ||
+		       analysisBranch ||
+		       analysisBreak ||
+		       analysisContinue ||
+		       analysisLeave;
+	}
+
 	Shader::Shader() : serialID(serialCounter++)
 	{
 		usedSamplers = 0;
diff --git a/src/Shader/Shader.hpp b/src/Shader/Shader.hpp
index e785d12..6486ed9 100644
--- a/src/Shader/Shader.hpp
+++ b/src/Shader/Shader.hpp
@@ -430,6 +430,8 @@
 			bool isLoop() const;

 			bool isEndLoop() const;

 

+			bool isPredicated() const;

+

 			Opcode opcode;

 			

 			union

diff --git a/src/Shader/VertexProgram.cpp b/src/Shader/VertexProgram.cpp
index 75dc5df..a07fbb5 100644
--- a/src/Shader/VertexProgram.cpp
+++ b/src/Shader/VertexProgram.cpp
@@ -283,7 +283,7 @@
 					if(dst.w) d.w = Min(d.w, Float4(1.0f));
 				}
 
-				if(shader->containsDynamicBranching())
+				if(instruction->isPredicated())
 				{
 					Vector4f pDst;   // FIXME: Rename