[Mesa-dev] [PATCH 8/9] radeonsi: handle imported textures with DCC robustly

Marek Olšák maraeo at gmail.com
Tue Nov 21 17:30:35 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

now you can hack the driver to enable DCC for displayable textures and
Glamor that doesn't enable that by default won't crash anymore.
---
 src/gallium/drivers/radeonsi/si_state.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index fcf4928..46c45ea 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -4618,21 +4618,21 @@ static void si_apply_opaque_metadata(struct r600_common_screen *rscreen,
 	if (rscreen->chip_class < VI)
 		return;
 
 	/* Return if DCC is enabled. The texture should be set up with it
 	 * already.
 	 */
 	if (md->size_metadata >= 11 * 4 &&
 	    md->metadata[0] != 0 &&
 	    md->metadata[1] == si_get_bo_metadata_word1(rscreen) &&
 	    G_008F28_COMPRESSION_EN(desc[6])) {
-		assert(rtex->dcc_offset == ((uint64_t)desc[7] << 8));
+		rtex->dcc_offset = (uint64_t)desc[7] << 8;
 		return;
 	}
 
 	/* Disable DCC. These are always set by texture_from_handle and must
 	 * be cleared here.
 	 */
 	rtex->dcc_offset = 0;
 }
 
 void si_init_screen_state_functions(struct si_screen *sscreen)
-- 
2.7.4



More information about the mesa-dev mailing list