i965: Move color calc code around a bit.
This makes the code more consistent accross generations. Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -123,6 +123,14 @@ static void upload_cc_unit(struct brw_context *brw)
|
|||||||
GLenum srcA = ctx->Color.Blend[0].SrcA;
|
GLenum srcA = ctx->Color.Blend[0].SrcA;
|
||||||
GLenum dstA = ctx->Color.Blend[0].DstA;
|
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
|
/* 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
|
* 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.
|
* 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);
|
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.dest_blend_factor = brw_translate_blend_factor(dstRGB);
|
||||||
cc->cc6.src_blend_factor = brw_translate_blend_factor(srcRGB);
|
cc->cc6.src_blend_factor = brw_translate_blend_factor(srcRGB);
|
||||||
cc->cc6.blend_function = brw_translate_blend_equation(eqRGB);
|
cc->cc6.blend_function = brw_translate_blend_equation(eqRGB);
|
||||||
|
Reference in New Issue
Block a user