Mesa (master): r300g: random hyperz cleanups

Marek Olšák mareko at kemper.freedesktop.org
Mon Jan 14 02:29:14 UTC 2013


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Jan 11 17:10:36 2013 +0100

r300g: random hyperz cleanups

---

 src/gallium/drivers/r300/r300_blit.c              |    2 +-
 src/gallium/drivers/r300/r300_context.c           |    3 +-
 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c |   25 ++++++++------------
 3 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c
index 4657831..2953764 100644
--- a/src/gallium/drivers/r300/r300_blit.c
+++ b/src/gallium/drivers/r300/r300_blit.c
@@ -237,7 +237,7 @@ static void r300_clear(struct pipe_context* pipe,
     uint32_t height = fb->height;
     uint32_t hyperz_dcv = hyperz->zb_depthclearvalue;
 
-    /* Enable fast Z clear.
+    /* Use fast Z clear.
      * The zbuffer must be in micro-tiled mode, otherwise it locks up. */
     if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {
         boolean zmask_clear, hiz_clear;
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index b498454..0ac4147 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -200,9 +200,8 @@ static boolean r300_setup_atoms(struct r300_context* r300)
     /* TX. */
     R300_INIT_ATOM(texture_cache_inval, 2);
     R300_INIT_ATOM(textures_state, 0);
-    /* HiZ Clear */
+    /* Clear commands */
     R300_INIT_ATOM(hiz_clear, r300->screen->caps.hiz_ram > 0 ? 6 : 0);
-    /* zmask clear */
     R300_INIT_ATOM(zmask_clear, r300->screen->caps.zmask_ram > 0 ? 6 : 0);
     /* ZB (unpipelined), SU. */
     R300_INIT_ATOM(query_start, 4);
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index bcfb448..b8a876c 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -101,7 +101,8 @@ static struct util_hash_table *fd_tab = NULL;
 static boolean radeon_set_fd_access(struct radeon_drm_cs *applier,
                                     struct radeon_drm_cs **owner,
                                     pipe_mutex *mutex,
-                                    unsigned request, boolean enable)
+                                    unsigned request, const char *request_name,
+                                    boolean enable)
 {
     struct drm_radeon_info info;
     unsigned value = enable ? 1 : 0;
@@ -136,17 +137,13 @@ static boolean radeon_set_fd_access(struct radeon_drm_cs *applier,
     if (enable) {
         if (value) {
             *owner = applier;
-            if (request == RADEON_INFO_WANT_HYPERZ) {
-                printf("radeon: Acquired Hyper-Z.\n");
-            }
+            printf("radeon: Acquired access to %s.\n", request_name);
             pipe_mutex_unlock(*mutex);
             return TRUE;
         }
     } else {
         *owner = NULL;
-        if (request == RADEON_INFO_WANT_HYPERZ) {
-            printf("radeon: Released Hyper-Z.\n");
-        }
+        printf("radeon: Released access to %s.\n", request_name);
     }
 
     pipe_mutex_unlock(*mutex);
@@ -426,16 +423,14 @@ static boolean radeon_cs_request_feature(struct radeon_winsys_cs *rcs,
     case RADEON_FID_R300_HYPERZ_ACCESS:
         return radeon_set_fd_access(cs, &cs->ws->hyperz_owner,
                                     &cs->ws->hyperz_owner_mutex,
-                                    RADEON_INFO_WANT_HYPERZ, enable);
+                                    RADEON_INFO_WANT_HYPERZ, "Hyper-Z",
+                                    enable);
 
     case RADEON_FID_R300_CMASK_ACCESS:
-        if (debug_get_bool_option("RADEON_CMASK", FALSE)) {
-            return radeon_set_fd_access(cs, &cs->ws->cmask_owner,
-                                        &cs->ws->cmask_owner_mutex,
-                                        RADEON_INFO_WANT_CMASK, enable);
-        } else {
-            return FALSE;
-        }
+        return radeon_set_fd_access(cs, &cs->ws->cmask_owner,
+                                    &cs->ws->cmask_owner_mutex,
+                                    RADEON_INFO_WANT_CMASK, "AA optimizations",
+                                    enable);
     }
     return FALSE;
 }




More information about the mesa-commit mailing list