From: Marek Olšák Date: Mon, 27 Jun 2016 17:44:45 +0000 (+0200) Subject: gallium/radeon: R600_DEBUG=nodccfb disables separate DCC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9fd4eff43c0c1d0e5cb58fafbaa39c7b08bb715a;p=mesa.git gallium/radeon: R600_DEBUG=nodccfb disables separate DCC Reviewed-by: Nicolai Hähnle --- diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 6b701b6cdd4..5e981d617c4 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -572,6 +572,7 @@ static const struct debug_named_value common_debug_options[] = { { "mono", DBG_MONOLITHIC_SHADERS, "Use old-style monolithic shaders compiled on demand" }, { "noce", DBG_NO_CE, "Disable the constant engine"}, { "unsafemath", DBG_UNSAFE_MATH, "Enable unsafe math shader optimizations" }, + { "nodccfb", DBG_NO_DCC_FB, "Disable separate DCC on the main framebuffer" }, DEBUG_NAMED_VALUE_END /* must be last */ }; diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 203d863f267..fc50b91d685 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -100,6 +100,7 @@ #define DBG_MONOLITHIC_SHADERS (1llu << 47) #define DBG_NO_CE (1llu << 48) #define DBG_UNSAFE_MATH (1llu << 49) +#define DBG_NO_DCC_FB (1llu << 50) #define R600_MAP_BUFFER_ALIGNMENT 64 #define R600_MAX_VIEWPORTS 16 diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index d7ff2f77c33..796cbefc3e3 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -2198,7 +2198,8 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx, /* Fast clear is the most appropriate place to enable DCC for * displayable surfaces. */ - if (rctx->chip_class >= VI) { + if (rctx->chip_class >= VI && + !(rctx->screen->debug_flags & DBG_NO_DCC_FB)) { vi_separate_dcc_try_enable(rctx, tex); /* Stoney can't do a CMASK-based clear, so all clears are