i965/gen8: Use DrawBuffer->_IntegerBuffers in gen8_upload_ps_blend()
authorAnuj Phogat <anuj.phogat@gmail.com>
Tue, 18 Oct 2016 22:47:32 +0000 (15:47 -0700)
committerAnuj Phogat <anuj.phogat@gmail.com>
Mon, 24 Oct 2016 18:07:39 +0000 (11:07 -0700)
No functional changes in this patch.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/gen8_blend_state.c

index 8aca8b8ad68afb3a929d15580e7fdef46ae1aeef..84cbf60c92f64da64acee946685574092a9a7861 100644 (file)
@@ -212,6 +212,7 @@ gen8_upload_ps_blend(struct brw_context *brw)
 
    /* _NEW_BUFFERS */
    struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0];
+   const bool buffer0_is_integer = ctx->DrawBuffer->_IntegerBuffers & 0x1;
 
    /* BRW_NEW_FRAGMENT_PROGRAM | _NEW_BUFFERS | _NEW_COLOR */
    if (brw_color_buffer_write_enabled(brw))
@@ -236,11 +237,7 @@ gen8_upload_ps_blend(struct brw_context *brw)
     *  integer format, the SAMPLE_ALPHA_TO_COVERAGE and SAMPLE_ALPHA_TO_ONE
     *  operations are skipped."
     */
-   GLenum rb_type =
-      rb ? _mesa_get_format_datatype(rb->Format) : GL_UNSIGNED_NORMALIZED;
-
-   if (rb && rb_type != GL_INT && rb_type != GL_UNSIGNED_INT &&
-       (ctx->Color.BlendEnabled & 1)) {
+   if (rb && !buffer0_is_integer && (ctx->Color.BlendEnabled & 1)) {
       GLenum eqRGB = ctx->Color.Blend[0].EquationRGB;
       GLenum eqA = ctx->Color.Blend[0].EquationA;
       GLenum srcRGB = ctx->Color.Blend[0].SrcRGB;