diff options
Diffstat (limited to 'src/com/mbien/opencl/CLCommandQueue.java')
-rw-r--r-- | src/com/mbien/opencl/CLCommandQueue.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/mbien/opencl/CLCommandQueue.java b/src/com/mbien/opencl/CLCommandQueue.java index bc50210e..9825b871 100644 --- a/src/com/mbien/opencl/CLCommandQueue.java +++ b/src/com/mbien/opencl/CLCommandQueue.java @@ -179,18 +179,20 @@ public class CLCommandQueue implements CLResource { return this; } - public CLCommandQueue putWaitForEvent(CLEventList list, int index) { + public CLCommandQueue putWaitForEvent(CLEventList list, int index, boolean blockingWait) { int marker = list.IDs.position()-1; list.IDs.position(index); - int ret = cl.clWaitForEvents(1, list.IDs); + int ret = blockingWait ? cl.clWaitForEvents(1, list.IDs) + : cl.clEnqueueWaitForEvents(ID, 1, list.IDs); list.IDs.position(marker); checkForError(ret, "error while waiting for events"); return this; } - public CLCommandQueue putWaitForEvents(CLEventList list) { + public CLCommandQueue putWaitForEvents(CLEventList list, boolean blockingWait) { list.IDs.rewind(); - int ret = cl.clWaitForEvents(list.size, list.IDs); + int ret = blockingWait ? cl.clWaitForEvents(list.size, list.IDs) + : cl.clEnqueueWaitForEvents(ID, list.size, list.IDs); checkForError(ret, "error while waiting for events"); return this; } |