summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2013-01-11 17:10:36 +0100
committerMarek Olšák <maraeo@gmail.com>2013-01-14 03:11:42 +0100
commit3f584c211a0587c4cf5e6d36275390cd7181b5c8 (patch)
tree5e0dde128167d181415b3ea6ffdef2d75f513fec
parent4d6faf51755d2f8492a1b46e9b5d03ff7e8f4871 (diff)
r300g: random hyperz cleanups
-rw-r--r--src/gallium/drivers/r300/r300_blit.c2
-rw-r--r--src/gallium/drivers/r300/r300_context.c3
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_winsys.c25
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 46578318af2..29537643542 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 b498454561d..0ac41471650 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 bcfb448db5d..b8a876c1662 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;
}