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 ¤t, 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;