Commit 75dde49b authored by Andrey Pavlenko's avatar Andrey Pavlenko Committed by OpenCV Buildbot

Merge pull request #2230 from ilya-lavrenov:tapi_openc_on-off_game

parents 983799d3 86353eb5
...@@ -2724,10 +2724,12 @@ bool Kernel::empty() const ...@@ -2724,10 +2724,12 @@ bool Kernel::empty() const
int Kernel::set(int i, const void* value, size_t sz) int Kernel::set(int i, const void* value, size_t sz)
{ {
if (!p || !p->handle)
return -1;
CV_Assert(i >= 0); CV_Assert(i >= 0);
if( i == 0 ) if( i == 0 )
p->cleanupUMats(); p->cleanupUMats();
if( !p || !p->handle || clSetKernelArg(p->handle, (cl_uint)i, sz, value) < 0 ) if( clSetKernelArg(p->handle, (cl_uint)i, sz, value) < 0 )
return -1; return -1;
return i+1; return i+1;
} }
...@@ -2745,9 +2747,9 @@ int Kernel::set(int i, const UMat& m) ...@@ -2745,9 +2747,9 @@ int Kernel::set(int i, const UMat& m)
int Kernel::set(int i, const KernelArg& arg) int Kernel::set(int i, const KernelArg& arg)
{ {
CV_Assert( i >= 0 );
if( !p || !p->handle ) if( !p || !p->handle )
return -1; return -1;
CV_Assert( i >= 0 );
if( i == 0 ) if( i == 0 )
p->cleanupUMats(); p->cleanupUMats();
if( arg.m ) if( arg.m )
...@@ -2757,6 +2759,13 @@ int Kernel::set(int i, const KernelArg& arg) ...@@ -2757,6 +2759,13 @@ int Kernel::set(int i, const KernelArg& arg)
bool ptronly = (arg.flags & KernelArg::PTR_ONLY) != 0; bool ptronly = (arg.flags & KernelArg::PTR_ONLY) != 0;
cl_mem h = (cl_mem)arg.m->handle(accessFlags); cl_mem h = (cl_mem)arg.m->handle(accessFlags);
if (!h)
{
p->release();
p = 0;
return -1;
}
if (ptronly) if (ptronly)
clSetKernelArg(p->handle, (cl_uint)i++, sizeof(h), &h); clSetKernelArg(p->handle, (cl_uint)i++, sizeof(h), &h);
else if( arg.m->dims <= 2 ) else if( arg.m->dims <= 2 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment