Mesa (master): radeonsi: fix an assertion failure in si_decompress_sampler_color_textures

Marek Olšák mareko at kemper.freedesktop.org
Fri Nov 4 12:06:04 UTC 2016


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Nov  3 19:16:51 2016 +0100

radeonsi: fix an assertion failure in si_decompress_sampler_color_textures

This fixes a crash in Deus Ex: Mankind Divided. Release builds were
unaffected, so it's not too serious.

Cc: 11.2 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_blit.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
index e086ed8..075d76a 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -486,7 +486,9 @@ si_decompress_sampler_color_textures(struct si_context *sctx,
 		assert(view);
 
 		tex = (struct r600_texture *)view->texture;
-		assert(tex->cmask.size || tex->fmask.size || tex->dcc_offset);
+		/* CMASK or DCC can be discarded and we can still end up here. */
+		if (!tex->cmask.size && !tex->fmask.size && !tex->dcc_offset)
+			continue;
 
 		si_blit_decompress_color(&sctx->b.b, tex,
 					 view->u.tex.first_level, view->u.tex.last_level,




More information about the mesa-commit mailing list