Mesa (master): radeonsi: handle shader precompile failures

Marek Olšák mareko at kemper.freedesktop.org
Thu Sep 24 17:51:48 UTC 2015


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Sep 10 18:30:41 2015 +0200

radeonsi: handle shader precompile failures

Cc: 11.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_shaders.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index bc7fdb3..74e1136 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -736,7 +736,12 @@ static void *si_create_shader_state(struct pipe_context *ctx,
 	}
 
 	if (sscreen->b.debug_flags & DBG_PRECOMPILE)
-		si_shader_select(ctx, sel);
+		if (si_shader_select(ctx, sel)) {
+			fprintf(stderr, "radeonsi: can't create a shader\n");
+			tgsi_free_tokens(sel->tokens);
+			FREE(sel);
+			return NULL;
+		}
 
 	return sel;
 }




More information about the mesa-commit mailing list