summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-09-21 10:53:34 -0700
committerEric Anholt <[email protected]>2010-09-22 13:45:50 -0700
commit8f4c99a9af876494cb9a0f4e804a7b0ba7f1db90 (patch)
tree01f54ae8dcc8bc540d65727a2393640a44a7fc33
parent5285100502ad991ba5b012f499726c2dd46a8fe4 (diff)
i965: Also enable CC statistics when doing OQs.
This is required by the spec, so respect that. (oh, and it was required to actually fix occlusion-query-discard, though I didn't know at the time of the commit since o-q-discard was hanging the GPU) (cherry picked from commit 4a0bc4716db7bbcbcd65c0f993704733f47d41f7)
-rw-r--r--src/mesa/drivers/dri/i965/brw_cc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c
index cfce5d31405..8430ee0cfa0 100644
--- a/src/mesa/drivers/dri/i965/brw_cc.c
+++ b/src/mesa/drivers/dri/i965/brw_cc.c
@@ -90,6 +90,7 @@ static void prepare_cc_unit(struct brw_context *brw)
*/
static void upload_cc_unit(struct brw_context *brw)
{
+ struct intel_context *intel = &brw->intel;
GLcontext *ctx = &brw->intel.ctx;
struct brw_cc_unit_state cc;
void *map;
@@ -203,12 +204,12 @@ static void upload_cc_unit(struct brw_context *brw)
cc.cc2.depth_write_enable = ctx->Depth.Mask;
}
+ if (intel->stats_wm || (INTEL_DEBUG & DEBUG_STATS))
+ cc.cc5.statistics_enable = 1;
+
/* CACHE_NEW_CC_VP */
cc.cc4.cc_viewport_state_offset = brw->cc.vp_bo->offset >> 5; /* reloc */
- if (INTEL_DEBUG & DEBUG_STATS)
- cc.cc5.statistics_enable = 1;
-
map = brw_state_batch(brw, sizeof(cc), 64,
&brw->cc.state_bo, &brw->cc.state_offset);
memcpy(map, &cc, sizeof(cc));