Mesa (master): radeonsi: don't set BO metadata for non-zero planes

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 9 21:07:22 UTC 2019


Module: Mesa
Branch: master
Commit: e4f4bb8abd5f07ff25e3c594753ebc2553579f51
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4f4bb8abd5f07ff25e3c594753ebc2553579f51

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Oct  9 17:02:07 2019 -0400

radeonsi: don't set BO metadata for non-zero planes

pointed out by Bas

---

 src/gallium/drivers/radeonsi/si_texture.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c
index 7fb671694c6..bbd87ee0b5f 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -1039,7 +1039,7 @@ static bool si_texture_get_handle(struct pipe_screen* screen,
 		}
 
 		/* Set metadata. */
-		if (!res->b.is_shared || update_metadata)
+		if ((!res->b.is_shared || update_metadata) && whandle->offset == 0)
 			si_set_tex_bo_metadata(sscreen, tex);
 
 		if (sscreen->info.chip_class >= GFX9) {
@@ -1801,7 +1801,7 @@ static struct pipe_resource *si_texture_from_winsys_buffer(struct si_screen *ssc
 	}
 
 	/* Displayable DCC requires an explicit flush. */
-	if (dedicated &&
+	if (dedicated && offset == 0 &&
 	    !(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) &&
 	    si_has_displayable_dcc(tex)) {
 		/* TODO: do we need to decompress DCC? */




More information about the mesa-commit mailing list