summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Shapovalov <intelfx@intelfx.name>2016-07-11 22:55:58 +0300
committerIvan Shapovalov <intelfx@intelfx.name>2016-07-22 11:15:52 +0300
commit5502c5eec4c7b56c3b44ef04046d1621d58be47f (patch)
treedfcd1b4322045ebe37634a115447978c5d9d1c8e /src
parent2dd5ee3f758f817238cf74c068c5cad6eb3d46dd (diff)
cl::Kernel: skip NULL entries in waitForEvents
Diffstat (limited to 'src')
-rw-r--r--src/clpp11.hpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/clpp11.hpp b/src/clpp11.hpp
index 9fa683ac..debfff09 100644
--- a/src/clpp11.hpp
+++ b/src/clpp11.hpp
@@ -689,14 +689,14 @@ class Kernel {
void Launch(const Queue &queue, const std::vector<size_t> &global,
const std::vector<size_t> &local, EventPointer event,
const std::vector<Event> &waitForEvents) {
- if (waitForEvents.size() == 0) { return Launch(queue, global, local, event); }
-
// Builds a plain version of the events waiting list
auto waitForEventsPlain = std::vector<cl_event>();
for (auto &waitEvent : waitForEvents) {
- waitForEventsPlain.push_back(waitEvent());
+ if (waitEvent()) { waitForEventsPlain.push_back(waitEvent()); }
}
+ if (waitForEvents.size() == 0) { return Launch(queue, global, local, event); }
+
// Launches the kernel while waiting for other events
CheckError(clEnqueueNDRangeKernel(queue(), *kernel_, static_cast<cl_uint>(global.size()),
nullptr, global.data(), local.data(),