From f037afb701a8df8a646414e986b3561c8a798e05 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Tue, 8 Nov 2016 17:30:03 -0500 Subject: [PATCH] swr: disable logic op when the rt format is float or srgb Signed-off-by: Ilia Mirkin Reviewed-by: Tim Rowley --- 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 451ab5a..ede475a 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 && ctx->depth_stencil->alpha.enabled == 0) { -- 2.7.4