From 48ce9289001c4c04503bd5061135b120cfe51cee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 6 Nov 2012 15:59:41 +0000 Subject: [PATCH] softpipe: Fix rgb_dst_factor == PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE. We must multiply the factor against the destination, not the source. NOTE: Candidate for the stable branches. Reviewed-by: Brian Paul Reviewed-by: Roland Scheidegger --- src/gallium/drivers/softpipe/sp_quad_blend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_quad_blend.c b/src/gallium/drivers/softpipe/sp_quad_blend.c index aba6730da05..b85431d5be9 100644 --- a/src/gallium/drivers/softpipe/sp_quad_blend.c +++ b/src/gallium/drivers/softpipe/sp_quad_blend.c @@ -568,9 +568,9 @@ blend_quad(struct quad_stage *qs, float diff[4], temp[4]; VEC4_SUB(diff, one, blend_dest[3]); VEC4_MIN(temp, alpha, diff); - VEC4_MUL(blend_dest[0], quadColor[0], temp); /* R */ - VEC4_MUL(blend_dest[1], quadColor[1], temp); /* G */ - VEC4_MUL(blend_dest[2], quadColor[2], temp); /* B */ + VEC4_MUL(blend_dest[0], blend_dest[0], temp); /* R */ + VEC4_MUL(blend_dest[1], blend_dest[1], temp); /* G */ + VEC4_MUL(blend_dest[2], blend_dest[2], temp); /* B */ } break; case PIPE_BLENDFACTOR_CONST_COLOR: -- 2.30.2