diff options
author | Show Liu <show.liu@linaro.org> | 2014-12-09 16:05:31 +0800 |
---|---|---|
committer | Show Liu <show.liu@linaro.org> | 2014-12-09 16:05:31 +0800 |
commit | 27a45b16ed4aa2e3947b794c79e88fe0b4215510 (patch) | |
tree | 55548cf2bda89c4b2e9488803679ceb449a63714 | |
parent | 3a13e2e863866e7839ed1810fce1ffdbed986a4f (diff) |
Fixed the incomplete kernellist when resurrect kernel from released kernel list.
-rw-r--r-- | src/core/program.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/program.cpp b/src/core/program.cpp index 991c7b2..32b1b75 100644 --- a/src/core/program.cpp +++ b/src/core/program.cpp @@ -339,6 +339,7 @@ std::vector<Kernel *> Program::createKernels(cl_int *errcode_ret) { std::vector<Kernel *> rs; Kernel *kern = NULL; + size_t i = 0; /*------------------------------------------------------------------------- * We should never go here @@ -351,11 +352,12 @@ std::vector<Kernel *> Program::createKernels(cl_int *errcode_ret) * the currently built program. In that case, KernelList.size() must be the actual * number of kernels compiled into the program (event if they were previously released). */ - for (size_t i=0; i < kernelReleasedList.size(); i++) + //for (size_t i=0; i < kernelReleasedList.size(); i++) + while(kernelReleasedList.size()) { kern = kernelReleasedList[i]; - kernelReleasedList.erase(kernelReleasedList.begin() + i); - kernelList.push_back(kern); + kernelReleasedList.erase(kernelReleasedList.begin() + i); + kernelList.push_back(kern); } if (kernelList.size()) return kernelList; |