i965: Move color calc code around a bit.
authorRafael Antognolli <rafael.antognolli@intel.com>
Tue, 20 Jun 2017 00:15:55 +0000 (17:15 -0700)
committerRafael Antognolli <rafael.antognolli@intel.com>
Thu, 13 Jul 2017 22:39:49 +0000 (15:39 -0700)
This makes the code more consistent accross generations.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_cc.c

index 1574788736c0d0621656d23376be7366b02872e6..676edaff121df35780ae53e925b6762c7f9e8a0a 100644 (file)
@@ -123,6 +123,14 @@ static void upload_cc_unit(struct brw_context *brw)
       GLenum srcA = ctx->Color.Blend[0].SrcA;
       GLenum dstA = ctx->Color.Blend[0].DstA;
 
+      if (eqRGB == GL_MIN || eqRGB == GL_MAX) {
+        srcRGB = dstRGB = GL_ONE;
+      }
+
+      if (eqA == GL_MIN || eqA == GL_MAX) {
+        srcA = dstA = GL_ONE;
+      }
+
       /* If the renderbuffer is XRGB, we have to frob the blend function to
        * force the destination alpha to 1.0.  This means replacing GL_DST_ALPHA
        * with GL_ONE and GL_ONE_MINUS_DST_ALPHA with GL_ZERO.
@@ -136,14 +144,6 @@ static void upload_cc_unit(struct brw_context *brw)
         dstA   = brw_fix_xRGB_alpha(dstA);
       }
 
-      if (eqRGB == GL_MIN || eqRGB == GL_MAX) {
-        srcRGB = dstRGB = GL_ONE;
-      }
-
-      if (eqA == GL_MIN || eqA == GL_MAX) {
-        srcA = dstA = GL_ONE;
-      }
-
       cc->cc6.dest_blend_factor = brw_translate_blend_factor(dstRGB);
       cc->cc6.src_blend_factor = brw_translate_blend_factor(srcRGB);
       cc->cc6.blend_function = brw_translate_blend_equation(eqRGB);