Mesa (master): r300g: fix hardlocks in occlusion queries

Marek Olšák mareko at kemper.freedesktop.org
Thu Jun 17 17:26:20 PDT 2010


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Jun 18 02:17:29 2010 +0200

r300g: fix hardlocks in occlusion queries

Early Z test (=ZTOP) must be disabled before a query is started,
otherwise the GPU is dead. The order of emitted registers matters more
than you might think.

This fixes hardlocks in sauerbraten.

---

 src/gallium/drivers/r300/r300_context.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index 1139426..0fae19d 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -111,8 +111,8 @@ static void r300_setup_atoms(struct r300_context* r300)
      * the size of 0 here. */
     make_empty_list(&r300->atom_list);
     R300_INIT_ATOM(invariant_state, 71);
-    R300_INIT_ATOM(query_start, 4);
     R300_INIT_ATOM(ztop_state, 2);
+    R300_INIT_ATOM(query_start, 4);
     R300_INIT_ATOM(blend_state, 8);
     R300_INIT_ATOM(blend_color_state, is_r500 ? 3 : 2);
     R300_INIT_ATOM(clip_state, has_tcl ? 5 + (6 * 4) : 2);



More information about the mesa-commit mailing list