Implement clEnqueueMarker and clEnqueueBarrier.
authorYang Rong <rong.r.yang@intel.com>
Tue, 17 Sep 2013 08:10:01 +0000 (16:10 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Wed, 18 Sep 2013 05:11:44 +0000 (13:11 +0800)
commit99cba698400ed9aebf8bc252f382b1600118f5ab
tree986738dcbb522e564ddce38934fd6b552dc2872a
parent2caef53e7a84a307a713dd0a24f9b13c2634512b
Implement clEnqueueMarker and clEnqueueBarrier.

Add some event info to cl_command_queue.
One is non-complete user events, used to block marker event and barrier.
After these events become CL_COMPLETE, the events blocked by these events also
become CL_COMPLETE, so marker event will also set to CL_COMPLETE. If there is no
user events, need wait last event complete and set marker event to complete.
Add barrier_index, for clEnqueueBarrier, point to user events, indicate the enqueue
apis follow clEnqueueBarrier should wait on how many user events.

Signed-off-by: Yang Rong <rong.r.yang@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
src/cl_api.c
src/cl_command_queue.c
src/cl_command_queue.h
src/cl_enqueue.h
src/cl_event.c
src/cl_event.h