svga: adapt to blend changes
authorRoland Scheidegger <sroland@vmware.com>
Mon, 25 Jan 2010 15:39:39 +0000 (16:39 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Mon, 25 Jan 2010 15:39:39 +0000 (16:39 +0100)
src/gallium/drivers/svga/svga_pipe_blend.c

index 855d228755f1839a0227747d1d81c1c8bdd1f8f1..40292993115a11ea8279360af7558db8548bf976 100644 (file)
@@ -182,15 +182,15 @@ svga_create_blend_state(struct pipe_context *pipe,
          }
       }
       else {
-         blend->rt[i].blend_enable   = templ->blend_enable;
+         blend->rt[i].blend_enable   = templ->rt[0].blend_enable;
 
-         if (templ->blend_enable) {
-            blend->rt[i].srcblend       = svga_translate_blend_factor(templ->rgb_src_factor);
-            blend->rt[i].dstblend       = svga_translate_blend_factor(templ->rgb_dst_factor);
-            blend->rt[i].blendeq        = svga_translate_blend_func(templ->rgb_func);
-            blend->rt[i].srcblend_alpha = svga_translate_blend_factor(templ->alpha_src_factor);
-            blend->rt[i].dstblend_alpha = svga_translate_blend_factor(templ->alpha_dst_factor);
-            blend->rt[i].blendeq_alpha  = svga_translate_blend_func(templ->alpha_func);
+         if (templ->rt[0].blend_enable) {
+            blend->rt[i].srcblend       = svga_translate_blend_factor(templ->rt[0].rgb_src_factor);
+            blend->rt[i].dstblend       = svga_translate_blend_factor(templ->rt[0].rgb_dst_factor);
+            blend->rt[i].blendeq        = svga_translate_blend_func(templ->rt[0].rgb_func);
+            blend->rt[i].srcblend_alpha = svga_translate_blend_factor(templ->rt[0].alpha_src_factor);
+            blend->rt[i].dstblend_alpha = svga_translate_blend_factor(templ->rt[0].alpha_dst_factor);
+            blend->rt[i].blendeq_alpha  = svga_translate_blend_func(templ->rt[0].alpha_func);
 
             if (blend->rt[i].srcblend_alpha != blend->rt[i].srcblend ||
                 blend->rt[i].dstblend_alpha != blend->rt[i].dstblend ||
@@ -201,7 +201,7 @@ svga_create_blend_state(struct pipe_context *pipe,
          }
       }
 
-      blend->rt[i].writemask = templ->colormask;
+      blend->rt[i].writemask = templ->rt[0].colormask;
    }
 
    return blend;