Mesa (master): swr: correct setting of independentAlphaBlendEnable

Ilia Mirkin imirkin at kemper.freedesktop.org
Thu Nov 10 01:14:45 UTC 2016


Module: Mesa
Branch: master
Commit: 828faaef40f9bd50cb75c2cde0d9393bc3fb6695
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=828faaef40f9bd50cb75c2cde0d9393bc3fb6695

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Wed Nov  9 14:31:25 2016 -0500

swr: correct setting of independentAlphaBlendEnable

This setting is for whether color and alpha have different blend
settings, not for whether blending is enabled on a per-RT basis.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley at intel.com>

---

 src/gallium/drivers/swr/swr_state.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp
index d19acfb..65327f3 100644
--- a/src/gallium/drivers/swr/swr_state.cpp
+++ b/src/gallium/drivers/swr/swr_state.cpp
@@ -1318,7 +1318,12 @@ swr_update_derived(struct pipe_context *pipe,
             compileState.desc.alphaTestEnable =
                ctx->depth_stencil->alpha.enabled;
             compileState.desc.independentAlphaBlendEnable =
-               ctx->blend->pipe.independent_blend_enable;
+               (compileState.blendState.sourceBlendFactor !=
+                compileState.blendState.sourceAlphaBlendFactor) ||
+               (compileState.blendState.destBlendFactor !=
+                compileState.blendState.destAlphaBlendFactor) ||
+               (compileState.blendState.colorBlendFunc !=
+                compileState.blendState.alphaBlendFunc);
             compileState.desc.alphaToCoverageEnable =
                ctx->blend->pipe.alpha_to_coverage;
             compileState.desc.sampleMaskEnable = 0; // XXX




More information about the mesa-commit mailing list