Module: Mesa Branch: master Commit: 4a5e779b5f9d169fd043ffaead1525040af816f3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a5e779b5f9d169fd043ffaead1525040af816f3
Author: Julien Isorce <jiso...@oblong.com> Date: Thu Mar 23 13:43:49 2017 +0000 si_compute: check NULL return from u_upload_alloc Signed-off-by: Julien Isorce <jiso...@oblong.com> Reviewed-by: Marek Olšák <marek.ol...@amd.com> --- src/gallium/drivers/radeonsi/si_compute.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index 46476b68be..913a2ddbfe 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -579,7 +579,7 @@ static void si_setup_user_sgprs_co_v2(struct si_context *sctx, } } -static void si_upload_compute_input(struct si_context *sctx, +static bool si_upload_compute_input(struct si_context *sctx, const amd_kernel_code_t *code_object, const struct pipe_grid_info *info) { @@ -602,6 +602,9 @@ static void si_upload_compute_input(struct si_context *sctx, &kernel_args_offset, (struct pipe_resource**)&input_buffer, &kernel_args_ptr); + if (unlikely(!kernel_args_ptr)) + return false; + kernel_args = (uint32_t*)kernel_args_ptr; kernel_args_va = input_buffer->gpu_address + kernel_args_offset; @@ -636,6 +639,8 @@ static void si_upload_compute_input(struct si_context *sctx, } r600_resource_reference(&input_buffer, NULL); + + return true; } static void si_setup_tgsi_grid(struct si_context *sctx, @@ -790,8 +795,11 @@ static void si_launch_grid( si_set_atom_dirty(sctx, sctx->atoms.s.render_cond, false); } - if (program->input_size || program->ir_type == PIPE_SHADER_IR_NATIVE) - si_upload_compute_input(sctx, code_object, info); + if ((program->input_size || + program->ir_type == PIPE_SHADER_IR_NATIVE) && + unlikely(!si_upload_compute_input(sctx, code_object, info))) { + return; + } /* Global buffers */ for (i = 0; i < MAX_GLOBAL_BUFFERS; i++) { _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit