Return error code when work group error, and remove printf and exit(-1) when internal error..
Signed-off-by: Yang Rong <[email protected]> --- src/cl_command_queue_gen7.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cl_command_queue_gen7.c b/src/cl_command_queue_gen7.c index b020540..d847806 100644 --- a/src/cl_command_queue_gen7.c +++ b/src/cl_command_queue_gen7.c @@ -317,7 +317,10 @@ cl_command_queue_ND_range_gen7(cl_command_queue queue, kernel.use_slm = interp_kernel_use_slm(ker->opaque); /* Compute the number of HW threads we need */ - TRY (cl_kernel_work_group_sz, ker, local_wk_sz, 3, &local_sz); + if(UNLIKELY(err = cl_kernel_work_group_sz(ker, local_wk_sz, 3, &local_sz) != CL_SUCCESS)) { + fprintf(stderr, "Beignet: Work group size exceed Kerne's work group size.\n"); + return err; + } kernel.thread_n = thread_n = (local_sz + simd_sz - 1) / simd_sz; kernel.curbe_sz = cst_sz; @@ -395,8 +398,7 @@ cl_command_queue_ND_range_gen7(cl_command_queue queue, return CL_SUCCESS; error: - fprintf(stderr, "error occured. \n"); - exit(-1); + /* only some command/buffer internal error reach here, so return error code OOR */ return CL_OUT_OF_RESOURCES; } -- 1.8.3.2 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
