radeonsi: add a debug option that disables DCC for all exported buffers

requested internally

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14283>
This commit is contained in:
Marek Olšák
2021-12-21 12:56:38 -05:00
committed by Marge Bot
parent 4cc0548046
commit ce72395008
3 changed files with 4 additions and 1 deletions
+1
View File
@@ -105,6 +105,7 @@ static const struct debug_named_value radeonsi_debug_options[] = {
{"notiling", DBG(NO_TILING), "Disable tiling"},
{"nodisplaytiling", DBG(NO_DISPLAY_TILING), "Disable display tiling"},
{"nodisplaydcc", DBG(NO_DISPLAY_DCC), "Disable display DCC"},
{"noexporteddcc", DBG(NO_EXPORTED_DCC), "Disable DCC for all exported buffers (via DMABUF, etc.)"},
{"nodcc", DBG(NO_DCC), "Disable DCC."},
{"nodccclear", DBG(NO_DCC_CLEAR), "Disable DCC fast clear."},
{"nodccstore", DBG(NO_DCC_STORE), "Disable DCC stores"},
+1
View File
@@ -237,6 +237,7 @@ enum
DBG_NO_TILING,
DBG_NO_DISPLAY_TILING,
DBG_NO_DISPLAY_DCC,
DBG_NO_EXPORTED_DCC,
DBG_NO_DCC,
DBG_NO_DCC_CLEAR,
DBG_NO_DCC_STORE,
+2 -1
View File
@@ -701,7 +701,8 @@ static bool si_texture_get_handle(struct pipe_screen *screen, struct pipe_contex
* disable it for external clients that want write
* access.
*/
if ((usage & PIPE_HANDLE_USAGE_SHADER_WRITE && !tex->is_depth && tex->surface.meta_offset) ||
if (sscreen->debug_flags & DBG(NO_EXPORTED_DCC) ||
(usage & PIPE_HANDLE_USAGE_SHADER_WRITE && !tex->is_depth && tex->surface.meta_offset) ||
/* Displayable DCC requires an explicit flush. */
(!(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) &&
si_displayable_dcc_needs_explicit_flush(tex))) {