r300g: add debug options nozmask and nohiz which disable some hyper-z features
authorMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 22:37:14 +0000 (23:37 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 22:37:14 +0000 (23:37 +0100)
src/gallium/drivers/r300/r300_debug.c
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r300/r300_screen.h

index c6b4804cd8d6a3a99001075923b8e45b179171c3..b60cfd1f248084d74852f3594eb63721a7b8dfb6 100644 (file)
@@ -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
index f54ba4286d90990d65dd7dfcbaf7a9925e8382d4..0b0220654a7371103910109c459423c5dc95eb38 100644 (file)
@@ -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);
index 973b7926fd1f7f14d58931c1d283e1b7326a4f50..c935f55ccbfb414f759f9548d4fadd5892261326 100644 (file)
@@ -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)
 /*@}*/