r300g: random hyperz cleanups

This commit is contained in:
Marek Olšák 2013-01-11 17:10:36 +01:00
parent 4d6faf5175
commit 3f584c211a
3 changed files with 12 additions and 18 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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;
}