Mesa (master): radeonsi: handle NO_DCC early
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Sep 10 03:44:12 UTC 2019
Module: Mesa
Branch: master
Commit: 30a1dd0ee6ca6c89fe7c89996e399298ee1eef5c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=30a1dd0ee6ca6c89fe7c89996e399298ee1eef5c
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Aug 27 20:32:46 2019 -0400
radeonsi: handle NO_DCC early
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
---
src/gallium/drivers/radeonsi/si_texture.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c
index 1f7cab6b2f3..baa34d0b408 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -298,6 +298,13 @@ static int si_init_surface(struct si_screen *sscreen,
ptex->nr_storage_samples >= 2)
flags |= RADEON_SURF_DISABLE_DCC;
+ /* Shared textures must always set up DCC.
+ * If it's not present, it will be disabled by
+ * si_get_opaque_metadata later.
+ */
+ if (!is_imported && (sscreen->debug_flags & DBG(NO_DCC)))
+ flags |= RADEON_SURF_DISABLE_DCC;
+
if (ptex->bind & PIPE_BIND_SCANOUT || is_scanout) {
/* This should catch bugs in gallium users setting incorrect flags. */
assert(ptex->nr_samples <= 1 &&
@@ -1384,12 +1391,7 @@ si_texture_create_object(struct pipe_screen *screen,
tex->cmask_buffer = &tex->buffer;
}
- /* Shared textures must always set up DCC here.
- * If it's not present, it will be disabled by
- * si_get_opaque_metadata later.
- */
if (tex->surface.dcc_size &&
- (buf || !(sscreen->debug_flags & DBG(NO_DCC))) &&
(sscreen->info.use_display_dcc_unaligned ||
sscreen->info.use_display_dcc_with_retile_blit ||
!(tex->surface.flags & RADEON_SURF_SCANOUT))) {
More information about the mesa-commit
mailing list