diff options
author | Ivan Shapovalov <intelfx@intelfx.name> | 2016-07-11 22:55:58 +0300 |
---|---|---|
committer | Ivan Shapovalov <intelfx@intelfx.name> | 2016-07-22 11:15:52 +0300 |
commit | 5502c5eec4c7b56c3b44ef04046d1621d58be47f (patch) | |
tree | dfcd1b4322045ebe37634a115447978c5d9d1c8e /src | |
parent | 2dd5ee3f758f817238cf74c068c5cad6eb3d46dd (diff) |
cl::Kernel: skip NULL entries in waitForEvents
Diffstat (limited to 'src')
-rw-r--r-- | src/clpp11.hpp | 6 |
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(), |