1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 07:43:03 +04:00

core(ocl): workaround CL_OUT_OF_RESOURCES error

Flush deallocation queue before calling map/unmap
This commit is contained in:
Alexander Alekhin
2017-10-30 17:54:56 +03:00
parent fd1eb63fee
commit 7809c4156f
+2 -1
View File
@@ -3613,11 +3613,12 @@ public:
if (u->tempUMat())
{
CV_Assert(u->mapcount == 0);
flushCleanupQueue(); // workaround for CL_OUT_OF_RESOURCES problem (#9960)
void* data = clEnqueueMapBuffer(q, (cl_mem)u->handle, CL_TRUE,
(CL_MAP_READ | CL_MAP_WRITE),
0, u->size, 0, 0, 0, &retval);
CV_Assert(retval == CL_SUCCESS);
CV_Assert(u->origdata == data);
CV_OclDbgAssert(retval == CL_SUCCESS);
if (u->originalUMatData)
{
CV_Assert(u->originalUMatData->data == data);