radeonsi: handle shader precompile failures
authorMarek Olšák <marek.olsak@amd.com>
Thu, 10 Sep 2015 16:30:41 +0000 (18:30 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 24 Sep 2015 17:51:43 +0000 (19:51 +0200)
Cc: 11.0 <mesa-stable@lists.freedesktop.org>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeonsi/si_state_shaders.c

index bc7fdb3e94aac80ae011986dc330ead6fceb7611..74e113668aacc13724b1248d2b1fdc125bb52886 100644 (file)
@@ -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;
 }