From: Marek Olšák Date: Wed, 9 Oct 2019 21:02:07 +0000 (-0400) Subject: radeonsi: don't set BO metadata for non-zero planes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e4f4bb8abd5f07ff25e3c594753ebc2553579f51;p=mesa.git radeonsi: don't set BO metadata for non-zero planes pointed out by Bas --- 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? */