From ef793cbf6dcfb74f2cc3bebb875468f24445abb2 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 12 Feb 2014 12:00:17 -0500 Subject: [PATCH] radeon: reverse DBG_NO_HYPERZ logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change the flag to DBG_HYPERZ and reverse the logic so setting the flag enabled the feature. This disables hyperz on r600g and radeonsi by default. It can be enabled by setting the env var. There are just too many issues with certain apps so leave it disabled for now until we sort out the issues with the problematic apps. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=58660 https://bugs.freedesktop.org/show_bug.cgi?id=64471 https://bugs.freedesktop.org/show_bug.cgi?id=66352 https://bugs.freedesktop.org/show_bug.cgi?id=68799 https://bugs.freedesktop.org/show_bug.cgi?id=72685 https://bugs.freedesktop.org/show_bug.cgi?id=73088 https://bugs.freedesktop.org/show_bug.cgi?id=74428 https://bugs.freedesktop.org/show_bug.cgi?id=74803 https://bugs.freedesktop.org/show_bug.cgi?id=74863 https://bugs.freedesktop.org/show_bug.cgi?id=74892 https://bugzilla.kernel.org/show_bug.cgi?id=70411 Signed-off-by: Alex Deucher Cc: "10.1" "10.0" Acked-by: Marek Olšák (cherry picked from commit 01e637114914453451becc0dc8afe60faff48d84) --- src/gallium/drivers/r600/r600_pipe.c | 6 +++--- src/gallium/drivers/radeon/r600_pipe_common.h | 2 +- src/gallium/drivers/radeon/r600_texture.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index f67937a8e6b..c567f7814cf 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -43,7 +43,7 @@ static const struct debug_named_value r600_debug_options[] = { /* features */ - { "nohyperz", DBG_NO_HYPERZ, "Disable Hyper-Z" }, + { "hyperz", DBG_HYPERZ, "Enable Hyper-Z" }, #if defined(R600_USE_LLVM) { "nollvm", DBG_NO_LLVM, "Disable the LLVM shader compiler" }, #endif @@ -894,8 +894,8 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) rscreen->b.debug_flags |= DBG_COMPUTE; if (debug_get_bool_option("R600_DUMP_SHADERS", FALSE)) rscreen->b.debug_flags |= DBG_FS | DBG_VS | DBG_GS | DBG_PS | DBG_CS; - if (!debug_get_bool_option("R600_HYPERZ", TRUE)) - rscreen->b.debug_flags |= DBG_NO_HYPERZ; + if (debug_get_bool_option("R600_HYPERZ", FALSE)) + rscreen->b.debug_flags |= DBG_HYPERZ; if (!debug_get_bool_option("R600_LLVM", TRUE)) rscreen->b.debug_flags |= DBG_NO_LLVM; diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index f0fcaacc614..5042360e304 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -73,7 +73,7 @@ #define DBG_PS (1 << 11) #define DBG_CS (1 << 12) /* features */ -#define DBG_NO_HYPERZ (1 << 13) +#define DBG_HYPERZ (1 << 13) /* The maximum allowed bit is 15. */ struct r600_common_context; diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index 9ba1e363e27..22b78ac4c0a 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -542,7 +542,7 @@ r600_texture_create_object(struct pipe_screen *screen, if (rtex->is_depth && !(base->flags & (R600_RESOURCE_FLAG_TRANSFER | R600_RESOURCE_FLAG_FLUSHED_DEPTH)) && - !(rscreen->debug_flags & DBG_NO_HYPERZ)) { + (rscreen->debug_flags & DBG_HYPERZ)) { if (rscreen->chip_class >= SI) { /* XXX implement Hyper-Z for SI. * Reuse the CMASK allocator, which is almost the same as HTILE. */