When the uploading of shader fails on si_shader_binary_upload(),
it returns -ENOMEM. We handles si_shader_binary_upload() failure path
on si_create_compute_state().

CID 1394027

Signed-off-by: Mun Gwan-gyeong <elong...@gmail.com>
---
 src/gallium/drivers/radeonsi/si_compute.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_compute.c 
b/src/gallium/drivers/radeonsi/si_compute.c
index f1887bb..c813621 100644
--- a/src/gallium/drivers/radeonsi/si_compute.c
+++ b/src/gallium/drivers/radeonsi/si_compute.c
@@ -165,7 +165,11 @@ static void *si_create_compute_state(
                }
                si_shader_dump(sctx->screen, &program->shader, &sctx->b.debug,
                               PIPE_SHADER_COMPUTE, stderr);
-               si_shader_binary_upload(sctx->screen, &program->shader);
+               if (si_shader_binary_upload(sctx->screen, &program->shader)) {
+                       fprintf(stderr, "LLVM failed to upload shader\n");
+                       FREE(program);
+                       return NULL;
+               }
        }
 
        return program;
-- 
2.10.2

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to