Mesa (master): i965/gen7: Fix GPU hangs from the HiZ op.

Eric Anholt anholt at kemper.freedesktop.org
Fri Feb 10 05:41:19 UTC 2012


Module: Mesa
Branch: master
Commit: e5b225afbd581ccf5d61e9d6c566e26e74abe91e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5b225afbd581ccf5d61e9d6c566e26e74abe91e

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Feb  9 10:08:00 2012 -0800

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.

---

 src/mesa/drivers/dri/i965/gen7_hiz.c |    5 +++--
 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 271e61e..a36f1cb 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);




More information about the mesa-commit mailing list