From: Andreas Boll Date: Thu, 23 Oct 2014 12:52:55 +0000 (+0200) Subject: radeon: enable Hyper-Z on r600g and radeonsi by default X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=14bdcc6ff98664552216acfdb7e35d0b128003ef;p=mesa.git radeon: enable Hyper-Z on r600g and radeonsi by default This reverts commit 01e637114914453451becc0dc8afe60faff48d84. Since then many Hyper-Z issues have been fixed or worked around. Enable Hyper-Z by default so that we get enough feedback for the upcoming mesa 10.4 release. If you have issues with Hyper-Z try to disable Hyper-Z using the enviroment variable R600_DEBUG=nohyperz and please report the issue on the bugtracker. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75011 See also: https://bugs.freedesktop.org/show_bug.cgi?id=75112 Signed-off-by: Andreas Boll Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index c7945305182..c5f01c09e92 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -539,8 +539,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", FALSE)) - rscreen->b.debug_flags |= DBG_HYPERZ; + if (!debug_get_bool_option("R600_HYPERZ", TRUE)) + rscreen->b.debug_flags |= DBG_NO_HYPERZ; if (debug_get_bool_option("R600_LLVM", FALSE)) rscreen->b.debug_flags |= DBG_LLVM; diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index ae203b66855..a6dbd78036d 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -314,7 +314,7 @@ static const struct debug_named_value common_debug_options[] = { /* features */ { "nodma", DBG_NO_ASYNC_DMA, "Disable asynchronous DMA" }, - { "hyperz", DBG_HYPERZ, "Enable Hyper-Z" }, + { "nohyperz", DBG_NO_HYPERZ, "Disable Hyper-Z" }, /* GL uses the word INVALIDATE, gallium uses the word DISCARD */ { "noinvalrange", DBG_NO_DISCARD_RANGE, "Disable handling of INVALIDATE_RANGE map flags" }, { "no2d", DBG_NO_2D_TILING, "Disable 2D tiling" }, diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 4651bf8b147..dfd8fffa59f 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -97,7 +97,7 @@ #define DBG_CS (1 << 9) /* features */ #define DBG_NO_ASYNC_DMA (1 << 10) -#define DBG_HYPERZ (1 << 11) +#define DBG_NO_HYPERZ (1 << 11) #define DBG_NO_DISCARD_RANGE (1 << 12) #define DBG_NO_2D_TILING (1 << 13) #define DBG_NO_TILING (1 << 14) diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index 1d4e966b158..fdf4d763f2d 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -603,7 +603,7 @@ r600_texture_create_object(struct pipe_screen *screen, if (rtex->is_depth) { if (!(base->flags & (R600_RESOURCE_FLAG_TRANSFER | R600_RESOURCE_FLAG_FLUSHED_DEPTH)) && - (rscreen->debug_flags & DBG_HYPERZ)) { + !(rscreen->debug_flags & DBG_NO_HYPERZ)) { r600_texture_allocate_htile(rscreen, rtex); }