[Mesa-dev] [PATCH 1/1] radeonsi: Reorder checks in si_check_render_feedback

Jan Vesely jan.vesely at rutgers.edu
Thu Apr 5 20:49:18 UTC 2018


si_get_total_colormask accesses NULL pointer on compute shaders
Fixes crashes on clover
Fixes: 0669dca9c00261849cee14d69fdea0a5e323c7f7 ("radeonsi: skip DCC render feedback checking if color writes are disabled")
CC: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 src/gallium/drivers/radeonsi/si_blit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
index 40f512a682..35506dd74b 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -710,15 +710,15 @@ static void si_check_render_feedback_resident_images(struct si_context *sctx)
 
 static void si_check_render_feedback(struct si_context *sctx)
 {
+	if (!sctx->need_check_render_feedback)
+		return;
+
 	/* There is no render feedback if color writes are disabled.
 	 * (e.g. a pixel shader with image stores)
 	 */
 	if (!si_get_total_colormask(sctx))
 		return;
 
-	if (!sctx->need_check_render_feedback)
-		return;
-
 	for (int i = 0; i < SI_NUM_SHADERS; ++i) {
 		si_check_render_feedback_images(sctx, &sctx->images[i]);
 		si_check_render_feedback_textures(sctx, &sctx->samplers[i]);
-- 
2.14.3



More information about the mesa-dev mailing list