diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 12 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.c | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.h | 1 |
3 files changed, 6 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 7224cbe04f5..08c0130aa3e 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2141,13 +2141,11 @@ fs_visitor::emit_fb_writes() } if (c->key.nr_color_regions == 0) { - if (c->key.alpha_test) { - /* If the alpha test is enabled but there's no color buffer, - * we still need to send alpha out the pipeline to our null - * renderbuffer. - */ - emit_color_write(0, 3, color_mrf); - } + /* Even if there's no color buffers enabled, we still need to send + * alpha out the pipeline to our null renderbuffer to support + * alpha-testing, alpha-to-coverage, and so on. + */ + emit_color_write(0, 3, color_mrf); fs_inst *inst = emit(FS_OPCODE_FB_WRITE); inst->base_mrf = base_mrf; diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 880564619c8..7194a739d08 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -449,10 +449,8 @@ static void brw_wm_populate_key( struct brw_context *brw, /* Build the index for table lookup */ - /* _NEW_COLOR */ - key->alpha_test = ctx->Color.AlphaEnabled; - if (intel->gen < 6) { + /* _NEW_COLOR */ if (fp->program.UsesKill || ctx->Color.AlphaEnabled) lookup |= IZ_PS_KILL_ALPHATEST_BIT; diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 2cde2a0f537..b976a605cb6 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -65,7 +65,6 @@ struct brw_wm_prog_key { GLuint flat_shade:1; GLuint nr_color_regions:5; GLuint render_to_fbo:1; - GLuint alpha_test:1; GLuint clamp_fragment_color:1; GLuint line_aa:2; |