summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunyan He <junyan.he@intel.com>2016-04-27 10:26:36 +0800
committerJunyan He <junyan.he@intel.com>2016-04-27 10:26:36 +0800
commit761edcf7c7a65ca2d36820da36804204291479af (patch)
tree2050a3de07b9ff4c989bce784beb3abaa035c318
parentd038a5ce8a61606fb6092c5e84885165b7e33fbc (diff)
add
-rw-r--r--backend/src/driver/cl_gen_kernel.cpp7
-rw-r--r--libclapi/cl_kernel.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/backend/src/driver/cl_gen_kernel.cpp b/backend/src/driver/cl_gen_kernel.cpp
index cbc7169f..078a6331 100644
--- a/backend/src/driver/cl_gen_kernel.cpp
+++ b/backend/src/driver/cl_gen_kernel.cpp
@@ -878,6 +878,13 @@ cl_int GenEnqueueNDRangeKernel(cl_command_queue queue, cl_kernel kernel, const u
item->submit = genNDRangeSubmit;
item->run = genNDRangeRun;
item->complete = genNDRangeComplete;
+
+ /* No depend, we submit immediately. */
+ if (item->depend_events == NULL) {
+ item->submit(item);
+ item->status = CL_RUNNING;
+ }
+
return CL_SUCCESS;
}
diff --git a/libclapi/cl_kernel.c b/libclapi/cl_kernel.c
index 46b93fb8..351e06f8 100644
--- a/libclapi/cl_kernel.c
+++ b/libclapi/cl_kernel.c
@@ -810,6 +810,8 @@ static cl_int cl_command_queue_ND_range(cl_command_queue queue, cl_kernel kernel
err = cl_enqueue_insert_work_item(queue, it);
if (err != CL_SUCCESS)
goto error;
+ } else {
+ cl_enqueue_destroy_work_item(queue, it);
}
if (event_ret)