summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2012-02-09 10:08:00 -0800
committerEric Anholt <eric@anholt.net>2012-02-09 19:03:18 -0800
commite5b225afbd581ccf5d61e9d6c566e26e74abe91e (patch)
tree5a4bff5e3418abb04045dd84a400b7beaf4663ba
parent67007080b716c7e51039a381f407ababd68230f7 (diff)
i965/gen7: Fix GPU hangs from the HiZ op.
The wm max threads is in the same dword as the dispatch enable. The hardware gets super angry if you set max threads to 0, even if you aren't dispatching threads.
-rw-r--r--src/mesa/drivers/dri/i965/gen7_hiz.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_hiz.c b/src/mesa/drivers/dri/i965/gen7_hiz.c
index 271e61eca5c..a36f1cb3f38 100644
--- a/src/mesa/drivers/dri/i965/gen7_hiz.c
+++ b/src/mesa/drivers/dri/i965/gen7_hiz.c
@@ -322,8 +322,9 @@ gen7_hiz_exec(struct intel_context *intel,
OUT_BATCH(_3DSTATE_PS << 16 | (8 - 2));
OUT_BATCH(0);
OUT_BATCH(0);
- OUT_BATCH((brw->max_wm_threads - 1) << GEN7_PS_MAX_THREADS_SHIFT);
- OUT_BATCH(GEN7_PS_32_DISPATCH_ENABLE);
+ OUT_BATCH(0);
+ OUT_BATCH(((brw->max_wm_threads - 1) << GEN7_PS_MAX_THREADS_SHIFT) |
+ GEN7_PS_32_DISPATCH_ENABLE);
OUT_BATCH(0);
OUT_BATCH(0);
OUT_BATCH(0);