Multi device OpenCL did not work.

case was that cached kernels were used by both devices in separate
threads.

removed the cached kernels.
This commit is contained in:
2012-07-08 13:03:09 +00:00
parent 4bc818d240
commit 45aeee6a34
3 changed files with 8 additions and 16 deletions

View File

@@ -160,15 +160,13 @@ bool BokehBlurOperation::determineDependingAreaOfInterest(rcti *input, ReadBuffe
return false;
}
static cl_kernel kernel = 0;
void BokehBlurOperation::executeOpenCL(OpenCLDevice* device,
MemoryBuffer *outputMemoryBuffer, cl_mem clOutputBuffer,
MemoryBuffer **inputMemoryBuffers, list<cl_mem> *clMemToCleanUp,
list<cl_kernel> *clKernelsToCleanUp)
{
if (!kernel) {
kernel = device->COM_clCreateKernel("bokehBlurKernel", NULL);
}
cl_kernel kernel = device->COM_clCreateKernel("bokehBlurKernel", NULL);
cl_int radius = this->getWidth() * this->m_size / 100.0f;
cl_int step = this->getStep();