[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