[Mesa-dev] [PATCH v2] swr: disable logic op when the rt format is float or srgb

Ilia Mirkin imirkin at alum.mit.edu
Tue Nov 8 22:30:03 UTC 2016


Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/gallium/drivers/swr/swr_state.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp
index d8a8ee1..d16c307 100644
--- a/src/gallium/drivers/swr/swr_state.cpp
+++ b/src/gallium/drivers/swr/swr_state.cpp
@@ -1305,6 +1305,12 @@ swr_update_derived(struct pipe_context *pipe,
                    &ctx->blend->compileState[target],
                    sizeof(compileState.blendState));
 
+            const SWR_FORMAT_INFO& info = GetFormatInfo(compileState.format);
+            if (compileState.blendState.logicOpEnable &&
+                (info.type[0] == SWR_TYPE_FLOAT || info.isSRGB)) {
+               compileState.blendState.logicOpEnable = false;
+            }
+
             if (compileState.blendState.blendEnable == false &&
                 compileState.blendState.logicOpEnable == false) {
                SwrSetBlendFunc(ctx->swrContext, target, NULL);
-- 
2.7.3



More information about the mesa-dev mailing list