Mesa (master): r300g: add debug options nozmask and nohiz which disable some hyper-z features

Marek Olšák mareko at kemper.freedesktop.org
Sat Feb 12 22:40:31 UTC 2011


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Feb 12 23:37:14 2011 +0100

r300g: add debug options nozmask and nohiz which disable some hyper-z features

---

 src/gallium/drivers/r300/r300_debug.c  |    2 ++
 src/gallium/drivers/r300/r300_screen.c |    5 +++++
 src/gallium/drivers/r300/r300_screen.h |    2 ++
 3 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c
index c6b4804..b60cfd1 100644
--- a/src/gallium/drivers/r300/r300_debug.c
+++ b/src/gallium/drivers/r300/r300_debug.c
@@ -50,6 +50,8 @@ static const struct debug_named_value debug_options[] = {
     { "noimmd", DBG_NO_IMMD, "Disable immediate mode" },
     { "noopt", DBG_NO_OPT, "Disable shader optimizations" },
     { "nocbzb", DBG_NO_CBZB, "Disable fast color clear" },
+    { "nozmask", DBG_NO_ZMASK, "Disable zbuffer compression" },
+    { "nohiz", DBG_NO_HIZ, "Disable hierarchical zbuffer" },
 
     /* must be last */
     DEBUG_NAMED_VALUE_END
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index f54ba42..0b02206 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -454,6 +454,11 @@ struct pipe_screen* r300_screen_create(struct r300_winsys_screen *rws)
     r300_init_debug(r300screen);
     r300_parse_chipset(&r300screen->caps);
 
+    if (SCREEN_DBG_ON(r300screen, DBG_NO_ZMASK))
+        r300screen->caps.zmask_ram = 0;
+    if (SCREEN_DBG_ON(r300screen, DBG_NO_HIZ))
+        r300screen->caps.hiz_ram = 0;
+
     r300screen->caps.index_bias_supported =
             r300screen->caps.is_r500 &&
             rws->get_value(rws, R300_VID_DRM_2_3_0);
diff --git a/src/gallium/drivers/r300/r300_screen.h b/src/gallium/drivers/r300/r300_screen.h
index 973b792..c935f55 100644
--- a/src/gallium/drivers/r300/r300_screen.h
+++ b/src/gallium/drivers/r300/r300_screen.h
@@ -102,6 +102,8 @@ r300_winsys_screen(struct pipe_screen *screen) {
 #define DBG_FAKE_OCC    (1 << 19)
 #define DBG_NO_OPT      (1 << 20)
 #define DBG_NO_CBZB     (1 << 21)
+#define DBG_NO_ZMASK    (1 << 22)
+#define DBG_NO_HIZ      (1 << 23)
 /* Statistics. */
 #define DBG_P_STAT      (1 << 25)
 /*@}*/




More information about the mesa-commit mailing list