Mesa (master): st/mesa: don't translate blend state when it's disabled for a colorbuffer

Marek Olšák mareko at kemper.freedesktop.org
Fri Feb 9 15:12:22 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Jan 31 00:53:16 2018 +0100

st/mesa: don't translate blend state when it's disabled for a colorbuffer

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/mesa/state_tracker/st_atom_blend.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c
index f7327d6838..a5f7edbcfe 100644
--- a/src/mesa/state_tracker/st_atom_blend.c
+++ b/src/mesa/state_tracker/st_atom_blend.c
@@ -161,12 +161,13 @@ st_update_blend( struct st_context *st )
    else if (ctx->Color.BlendEnabled && !ctx->Color._AdvancedBlendMode) {
       /* blending enabled */
       for (i = 0, j = 0; i < num_state; i++) {
+         if (!(ctx->Color.BlendEnabled & (1 << i)))
+            continue;
 
-         blend->rt[i].blend_enable = (ctx->Color.BlendEnabled >> i) & 0x1;
-
-         if (ctx->Extensions.ARB_draw_buffers_blend)
+	 if (ctx->Extensions.ARB_draw_buffers_blend)
             j = i;
 
+         blend->rt[i].blend_enable = 1;
          blend->rt[i].rgb_func =
             translate_blend(ctx->Color.Blend[j].EquationRGB);
 




More information about the mesa-commit mailing list