Removed SwiftShader's custom LogicalOperation enum

Replaced LogicalOperation with VkLogicOp.

Bug b/118386749

Change-Id: I9776dd112e2a742cd73fba241e0659813cc974e7
Reviewed-on: https://swiftshader-review.googlesource.com/c/22849
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Device/Context.cpp b/src/Device/Context.cpp
index 590e58e..91bc446 100644
--- a/src/Device/Context.cpp
+++ b/src/Device/Context.cpp
@@ -238,7 +238,7 @@
 		sampleMask = 0xFFFFFFFF;
 
 		colorLogicOpEnabled = false;
-		logicalOperation = LOGICALOP_COPY;
+		logicalOperation = VK_LOGIC_OP_COPY;
 	}
 
 	bool Context::setDepthBufferEnable(bool depthBufferEnable)
@@ -325,7 +325,7 @@
 		return modified;
 	}
 
-	bool Context::setLogicalOperation(LogicalOperation logicalOperation)
+	bool Context::setLogicalOperation(VkLogicOp logicalOperation)
 	{
 		bool modified = (Context::logicalOperation != logicalOperation);
 		Context::logicalOperation = logicalOperation;
@@ -377,9 +377,9 @@
 		return colorBlend || alphaBlend;
 	}
 
-	LogicalOperation Context::colorLogicOp()
+	VkLogicOp Context::colorLogicOp()
 	{
-		return colorLogicOpEnabled ? logicalOperation : LOGICALOP_COPY;
+		return colorLogicOpEnabled ? logicalOperation : VK_LOGIC_OP_COPY;
 	}
 
 	BlendFactor Context::sourceBlendFactor()
diff --git a/src/Device/Context.hpp b/src/Device/Context.hpp
index 8db5ced..d014564 100644
--- a/src/Device/Context.hpp
+++ b/src/Device/Context.hpp
@@ -129,28 +129,6 @@
 		BLENDOP_LAST = BLENDOP_NULL
 	};
 
-	enum LogicalOperation ENUM_UNDERLYING_TYPE_UNSIGNED_INT
-	{
-		LOGICALOP_CLEAR,
-		LOGICALOP_SET,
-		LOGICALOP_COPY,
-		LOGICALOP_COPY_INVERTED,
-		LOGICALOP_NOOP,
-		LOGICALOP_INVERT,
-		LOGICALOP_AND,
-		LOGICALOP_NAND,
-		LOGICALOP_OR,
-		LOGICALOP_NOR,
-		LOGICALOP_XOR,
-		LOGICALOP_EQUIV,
-		LOGICALOP_AND_REVERSE,
-		LOGICALOP_AND_INVERTED,
-		LOGICALOP_OR_REVERSE,
-		LOGICALOP_OR_INVERTED,
-
-		LOGICALOP_LAST = LOGICALOP_OR_INVERTED
-	};
-
 	enum TransparencyAntialiasing ENUM_UNDERLYING_TYPE_UNSIGNED_INT
 	{
 		TRANSPARENCY_NONE,
@@ -191,7 +169,7 @@
 		bool setWriteSRGB(bool sRGB);
 
 		bool setColorLogicOpEnabled(bool colorLogicOpEnabled);
-		bool setLogicalOperation(LogicalOperation logicalOperation);
+		bool setLogicalOperation(VkLogicOp logicalOperation);
 
 		bool depthWriteActive();
 		bool alphaTestActive();
@@ -209,7 +187,7 @@
 		BlendFactor destBlendFactorAlpha();
 		BlendOperation blendOperationAlpha();
 
-		LogicalOperation colorLogicOp();
+		VkLogicOp colorLogicOp();
 
 		unsigned short pixelShaderModel() const;
 		unsigned short vertexShaderModel() const;
@@ -300,7 +278,7 @@
 		unsigned int multiSampleMask;
 
 		bool colorLogicOpEnabled;
-		LogicalOperation logicalOperation;
+		VkLogicOp logicalOperation;
 	};
 }
 
diff --git a/src/Device/PixelProcessor.cpp b/src/Device/PixelProcessor.cpp
index be72211..7c0f98b 100644
--- a/src/Device/PixelProcessor.cpp
+++ b/src/Device/PixelProcessor.cpp
@@ -333,7 +333,7 @@
 		context->setColorLogicOpEnabled(colorLogicOpEnabled);
 	}
 
-	void PixelProcessor::setLogicalOperation(LogicalOperation logicalOperation)
+	void PixelProcessor::setLogicalOperation(VkLogicOp logicalOperation)
 	{
 		context->setLogicalOperation(logicalOperation);
 	}
diff --git a/src/Device/PixelProcessor.hpp b/src/Device/PixelProcessor.hpp
index f429ecb..3475599 100644
--- a/src/Device/PixelProcessor.hpp
+++ b/src/Device/PixelProcessor.hpp
@@ -81,7 +81,7 @@
 			bool centroid                                     : 1;
 			bool frontFaceCCW                                 : 1;
 
-			LogicalOperation logicalOperation : BITS(LOGICALOP_LAST);
+			VkLogicOp logicalOperation : BITS(VK_LOGIC_OP_END_RANGE);
 
 			Sampler::State sampler[TEXTURE_IMAGE_UNITS];
 
@@ -217,7 +217,7 @@
 		void setColorWriteMask(int index, int rgbaMask);
 
 		void setColorLogicOpEnabled(bool colorLogicOpEnabled);
-		void setLogicalOperation(LogicalOperation logicalOperation);
+		void setLogicalOperation(VkLogicOp logicalOperation);
 
 		void setStencilEnable(bool stencilEnable);
 		void setStencilCompare(VkCompareOp stencilCompareMode);
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp
index e3db352..948e201 100644
--- a/src/Pipeline/PixelRoutine.cpp
+++ b/src/Pipeline/PixelRoutine.cpp
@@ -1154,7 +1154,7 @@
 
 	void PixelRoutine::logicOperation(int index, Pointer<Byte> &cBuffer, Vector4s &current, Int &x)
 	{
-		if(state.logicalOperation == LOGICALOP_COPY)
+		if(state.logicalOperation == VK_LOGIC_OP_COPY)
 		{
 			return;
 		}
@@ -1164,80 +1164,80 @@
 
 		switch(state.logicalOperation)
 		{
-		case LOGICALOP_CLEAR:
+		case VK_LOGIC_OP_CLEAR:
 			current.x = UShort4(0);
 			current.y = UShort4(0);
 			current.z = UShort4(0);
 			break;
-		case LOGICALOP_SET:
+		case VK_LOGIC_OP_SET:
 			current.x = UShort4(0xFFFFu);
 			current.y = UShort4(0xFFFFu);
 			current.z = UShort4(0xFFFFu);
 			break;
-		case LOGICALOP_COPY:
+		case VK_LOGIC_OP_COPY:
 			ASSERT(false);   // Optimized out
 			break;
-		case LOGICALOP_COPY_INVERTED:
+		case VK_LOGIC_OP_COPY_INVERTED:
 			current.x = ~current.x;
 			current.y = ~current.y;
 			current.z = ~current.z;
 			break;
-		case LOGICALOP_NOOP:
+		case VK_LOGIC_OP_NO_OP:
 			current.x = pixel.x;
 			current.y = pixel.y;
 			current.z = pixel.z;
 			break;
-		case LOGICALOP_INVERT:
+		case VK_LOGIC_OP_INVERT:
 			current.x = ~pixel.x;
 			current.y = ~pixel.y;
 			current.z = ~pixel.z;
 			break;
-		case LOGICALOP_AND:
+		case VK_LOGIC_OP_AND:
 			current.x = pixel.x & current.x;
 			current.y = pixel.y & current.y;
 			current.z = pixel.z & current.z;
 			break;
-		case LOGICALOP_NAND:
+		case VK_LOGIC_OP_NAND:
 			current.x = ~(pixel.x & current.x);
 			current.y = ~(pixel.y & current.y);
 			current.z = ~(pixel.z & current.z);
 			break;
-		case LOGICALOP_OR:
+		case VK_LOGIC_OP_OR:
 			current.x = pixel.x | current.x;
 			current.y = pixel.y | current.y;
 			current.z = pixel.z | current.z;
 			break;
-		case LOGICALOP_NOR:
+		case VK_LOGIC_OP_NOR:
 			current.x = ~(pixel.x | current.x);
 			current.y = ~(pixel.y | current.y);
 			current.z = ~(pixel.z | current.z);
 			break;
-		case LOGICALOP_XOR:
+		case VK_LOGIC_OP_XOR:
 			current.x = pixel.x ^ current.x;
 			current.y = pixel.y ^ current.y;
 			current.z = pixel.z ^ current.z;
 			break;
-		case LOGICALOP_EQUIV:
+		case VK_LOGIC_OP_EQUIVALENT:
 			current.x = ~(pixel.x ^ current.x);
 			current.y = ~(pixel.y ^ current.y);
 			current.z = ~(pixel.z ^ current.z);
 			break;
-		case LOGICALOP_AND_REVERSE:
+		case VK_LOGIC_OP_AND_REVERSE:
 			current.x = ~pixel.x & current.x;
 			current.y = ~pixel.y & current.y;
 			current.z = ~pixel.z & current.z;
 			break;
-		case LOGICALOP_AND_INVERTED:
+		case VK_LOGIC_OP_AND_INVERTED:
 			current.x = pixel.x & ~current.x;
 			current.y = pixel.y & ~current.y;
 			current.z = pixel.z & ~current.z;
 			break;
-		case LOGICALOP_OR_REVERSE:
+		case VK_LOGIC_OP_OR_REVERSE:
 			current.x = ~pixel.x | current.x;
 			current.y = ~pixel.y | current.y;
 			current.z = ~pixel.z | current.z;
 			break;
-		case LOGICALOP_OR_INVERTED:
+		case VK_LOGIC_OP_OR_INVERTED:
 			current.x = pixel.x | ~current.x;
 			current.y = pixel.y | ~current.y;
 			current.z = pixel.z | ~current.z;