softpipe: fix multi-drawbuffers regression
authorBrian Paul <brianp@vmware.com>
Sat, 10 Oct 2009 15:12:00 +0000 (09:12 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 10 Oct 2009 15:24:22 +0000 (09:24 -0600)
This is part of the fix for bug 24401.

src/gallium/drivers/softpipe/sp_quad_blend.c

index e243c63fa23efd256cc19c3e780c81ed4097d086..0ad0b9865431b57fe2155fed68ffe083624e1acd 100644 (file)
@@ -946,15 +946,15 @@ choose_blend_quad(struct quad_stage *qs,
       qs->run = blend_noop;
    }
    else if (!softpipe->blend->logicop_enable &&
-            softpipe->blend->colormask == 0xf) 
+            softpipe->blend->colormask == 0xf &&
+            softpipe->framebuffer.nr_cbufs == 1)
    {
       if (!blend->blend_enable) {
          qs->run = single_output_color;
       }
       else if (blend->rgb_src_factor == blend->alpha_src_factor &&
                blend->rgb_dst_factor == blend->alpha_dst_factor &&
-               blend->rgb_func == blend->alpha_func &&
-               softpipe->framebuffer.nr_cbufs == 1)
+               blend->rgb_func == blend->alpha_func)
       {
          if (blend->alpha_func == PIPE_BLEND_ADD) {
             if (blend->rgb_src_factor == PIPE_BLENDFACTOR_ONE &&