summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-04-08 16:48:41 +1000
committerDave Airlie <airlied@redhat.com>2010-04-08 16:48:41 +1000
commitdff50ff592da7cb1d784fae794dd1647a5445bca (patch)
treecd1b29e4001b8afdfff2520a01fcfba6b8b250e9 /src/gallium/drivers/softpipe
parent968bf9634ec03e61441834603f13f0c914bbb0ce (diff)
parent4b39a0da89f5b07d4a24bc9ce52693e6c2acfe99 (diff)
Merge remote branch 'origin/7.8'
Conflicts: Makefile configs/default src/mesa/main/version.h
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r--src/gallium/drivers/softpipe/sp_quad_blend.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/softpipe/sp_quad_blend.c b/src/gallium/drivers/softpipe/sp_quad_blend.c
index d65307b7f6..ead489393e 100644
--- a/src/gallium/drivers/softpipe/sp_quad_blend.c
+++ b/src/gallium/drivers/softpipe/sp_quad_blend.c
@@ -744,6 +744,8 @@ blend_fallback(struct quad_stage *qs,
for (cbuf = 0; cbuf < softpipe->framebuffer.nr_cbufs; cbuf++)
{
+ /* which blend/mask state index to use: */
+ const uint blend_buf = blend->independent_blend_enable ? cbuf : 0;
float dest[4][QUAD_SIZE];
struct softpipe_cached_tile *tile
= sp_get_cached_tile(softpipe->cbuf_cache[cbuf],
@@ -771,11 +773,11 @@ blend_fallback(struct quad_stage *qs,
if (blend->logicop_enable) {
logicop_quad( qs, quadColor, dest );
}
- else if (blend->rt[cbuf].blend_enable) {
+ else if (blend->rt[blend_buf].blend_enable) {
blend_quad( qs, quadColor, dest, cbuf );
}
- if (blend->rt[cbuf].colormask != 0xf)
+ if (blend->rt[blend_buf].colormask != 0xf)
colormask_quad( blend->rt[cbuf].colormask, quadColor, dest);
/* Output color values