summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Rong <rong.r.yang@intel.com>2014-10-17 11:04:16 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-10-17 12:27:49 +0800
commitac00eb3d479d63e8fe46c9709d97f63551e77160 (patch)
treeaefa39724cc1df6c0e5d7805667db4daf192f188
parentcfe4bc351e46e61c0b3997af6e94def975261928 (diff)
Refine the the error handling in function cl_command_queue_ND_range_gen7.
Return error code when work group error, and remove printf and exit(-1) when internal error.. Signed-off-by: Yang Rong <rong.r.yang@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r--src/cl_command_queue_gen7.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cl_command_queue_gen7.c b/src/cl_command_queue_gen7.c
index b020540b..d847806e 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;
}