radeonsi: don't crash on compute shader compile failure
authorMarek Olšák <marek.olsak@amd.com>
Thu, 23 Mar 2017 23:38:15 +0000 (00:38 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 24 Mar 2017 17:25:05 +0000 (18:25 +0100)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_compute.c

index 19a9189e7392ca179d2698abfa91f72a0163f1d3..46476b68bebfc8c2206b76a051793015d3a5ab89 100644 (file)
@@ -746,9 +746,13 @@ static void si_launch_grid(
                sctx->b.flags |= SI_CONTEXT_PS_PARTIAL_FLUSH |
                                 SI_CONTEXT_CS_PARTIAL_FLUSH;
 
-       if (program->ir_type == PIPE_SHADER_IR_TGSI)
+       if (program->ir_type == PIPE_SHADER_IR_TGSI) {
                util_queue_fence_wait(&program->ready);
 
+               if (program->shader.compilation_failed)
+                       return;
+       }
+
        si_decompress_compute_textures(sctx);
 
        /* Add buffer sizes for memory checking in need_cs_space. */