summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Stroyan <[email protected]>2015-07-01 10:16:28 -0600
committerKenneth Graunke <[email protected]>2015-07-02 00:12:52 -0700
commitfe2b748a39ff676949fcefccf739aff967fc38c5 (patch)
tree8b131589ff3fbdd8d24992b61cdfed50e4c50944 /src
parent9d408a41a3ab2fe456ebf2f7af7bad8f6c4bca17 (diff)
i965: allocate at least 1 BLEND_STATE element
When there are no color buffer render targets, gen6 and gen7 still use the first BLEND_STATE element to determine alpha test. gen6_upload_blend_state was allocating zero elements when ctx->Color.AlphaEnabled was false. That left _3DSTATE_CC_STATE_POINTERS or _3DSTATE_BLEND_STATE_POINTERS pointing to random data from some previous brw_state_batch(). That sometimes suppressed depth rendering when those bits happened to mean COMPAREFUNC_NEVER. This produced flickering shadows for dota2 reborn. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80500 Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/gen6_cc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c
index 2bfa271b527..2b76e241d1a 100644
--- a/src/mesa/drivers/dri/i965/gen6_cc.c
+++ b/src/mesa/drivers/dri/i965/gen6_cc.c
@@ -51,7 +51,7 @@ gen6_upload_blend_state(struct brw_context *brw)
* with render target 0, which will reference BLEND_STATE[0] for
* alpha test enable.
*/
- if (nr_draw_buffers == 0 && ctx->Color.AlphaEnabled)
+ if (nr_draw_buffers == 0)
nr_draw_buffers = 1;
size = sizeof(*blend) * nr_draw_buffers;