diff options
-rw-r--r-- | src/gallium/drivers/r300/r300_blit.c | 5 | ||||
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 18 |
2 files changed, 13 insertions, 10 deletions
diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 651ea8529e8..4f9d7c92fa8 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -173,6 +173,8 @@ static uint32_t r300_hiz_clear_value(double depth) return r | (r << 8) | (r << 16) | (r << 24); } +DEBUG_GET_ONCE_BOOL_OPTION(hyperz, "RADEON_HYPERZ", FALSE) + /* Clear currently bound buffers. */ static void r300_clear(struct pipe_context* pipe, unsigned buffers, @@ -246,7 +248,8 @@ static void r300_clear(struct pipe_context* pipe, r300->num_z_clears++; /* Try to obtain the access to Hyper-Z buffers if we don't have one. */ - if (!r300->hyperz_enabled) { + if (!r300->hyperz_enabled && + (r300->screen->caps.is_r500 || debug_get_option_hyperz())) { r300->hyperz_enabled = r300->rws->cs_request_feature(r300->cs, RADEON_FID_R300_HYPERZ_ACCESS, diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index 33451abdf8a..91710fc1b20 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -136,13 +136,17 @@ static boolean radeon_set_fd_access(struct radeon_drm_cs *applier, if (enable) { if (value) { *owner = applier; - fprintf(stderr, "radeon: Acquired Hyper-Z.\n"); + if (request == RADEON_INFO_WANT_HYPERZ) { + printf("radeon: Acquired Hyper-Z.\n"); + } pipe_mutex_unlock(*mutex); return TRUE; } } else { *owner = NULL; - fprintf(stderr, "radeon: Released Hyper-Z.\n"); + if (request == RADEON_INFO_WANT_HYPERZ) { + printf("radeon: Released Hyper-Z.\n"); + } } pipe_mutex_unlock(*mutex); @@ -352,13 +356,9 @@ static boolean radeon_cs_request_feature(struct radeon_winsys_cs *rcs, switch (fid) { case RADEON_FID_R300_HYPERZ_ACCESS: - if (debug_get_bool_option("RADEON_HYPERZ", FALSE)) { - return radeon_set_fd_access(cs, &cs->ws->hyperz_owner, - &cs->ws->hyperz_owner_mutex, - RADEON_INFO_WANT_HYPERZ, enable); - } else { - return FALSE; - } + return radeon_set_fd_access(cs, &cs->ws->hyperz_owner, + &cs->ws->hyperz_owner_mutex, + RADEON_INFO_WANT_HYPERZ, enable); case RADEON_FID_R300_CMASK_ACCESS: if (debug_get_bool_option("RADEON_CMASK", FALSE)) { |