From: Rafael Antognolli Date: Tue, 20 Jun 2017 00:15:55 +0000 (-0700) Subject: i965: Move color calc code around a bit. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b0052aa46fd7ffd6e96803214fc71bb119c83ae6;p=mesa.git i965: Move color calc code around a bit. This makes the code more consistent accross generations. Signed-off-by: Rafael Antognolli Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index 1574788736c..676edaff121 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -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);