Implementation of glLogicOp
Bug 22375329
Change-Id: Id6684e33bf3cd37fce48e7607e6a65fe64309f72
Reviewed-on: https://swiftshader-review.googlesource.com/2764
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Maxime Grégoire <mgregoire@google.com>
diff --git a/src/Renderer/PixelProcessor.cpp b/src/Renderer/PixelProcessor.cpp
index 146888d..9f2b4ff 100644
--- a/src/Renderer/PixelProcessor.cpp
+++ b/src/Renderer/PixelProcessor.cpp
@@ -420,6 +420,16 @@
context->setWriteSRGB(sRGB);
}
+ void PixelProcessor::setColorLogicOpEnabled(bool colorLogicOpEnabled)
+ {
+ context->setColorLogicOpEnabled(colorLogicOpEnabled);
+ }
+
+ void PixelProcessor::setLogicalOperation(LogicalOperation logicalOperation)
+ {
+ context->setLogicalOperation(logicalOperation);
+ }
+
void PixelProcessor::setDepthBufferEnable(bool depthBufferEnable)
{
context->setDepthBufferEnable(depthBufferEnable);
@@ -883,7 +893,9 @@
state.destBlendFactorAlpha = context->destBlendFactorAlpha();
state.blendOperationAlpha = context->blendOperationAlpha();
}
-
+
+ state.logicalOperation = context->colorLogicOp();
+
state.colorWriteMask = (context->colorWriteActive(0) << 0) |
(context->colorWriteActive(1) << 4) |
(context->colorWriteActive(2) << 8) |