aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShow Liu <show.liu@linaro.org>2014-12-09 16:05:31 +0800
committerShow Liu <show.liu@linaro.org>2014-12-09 16:05:31 +0800
commit27a45b16ed4aa2e3947b794c79e88fe0b4215510 (patch)
tree55548cf2bda89c4b2e9488803679ceb449a63714
parent3a13e2e863866e7839ed1810fce1ffdbed986a4f (diff)
Fixed the incomplete kernellist when resurrect kernel from released kernel list.
-rw-r--r--src/core/program.cpp8
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;