summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-03-24 00:38:15 +0100
committerMarek Olšák <[email protected]>2017-03-24 18:25:05 +0100
commit61926733f979dc397e9011878e478fcb75aaa7cb (patch)
tree44da5b814171756dfd904d540a266d904ae3504e
parent518d8341627ac80f8757fd09cc3cd5c2884f58e0 (diff)
radeonsi: don't crash on compute shader compile failure
Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_compute.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c
index 19a9189e739..46476b68beb 100644
--- a/src/gallium/drivers/radeonsi/si_compute.c
+++ b/src/gallium/drivers/radeonsi/si_compute.c
@@ -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. */