Merge pull request #2565 from apavlenko:tapi_stitching
This commit is contained in:
@@ -3798,11 +3798,16 @@ public:
|
||||
|
||||
cl_command_queue q = (cl_command_queue)Queue::getDefault().ptr();
|
||||
|
||||
if( u->refcount == 0 )
|
||||
// FIXIT Workaround for UMat synchronization issue
|
||||
// if( u->refcount == 0 )
|
||||
{
|
||||
if( !u->copyOnMap() )
|
||||
{
|
||||
CV_Assert(u->data == 0);
|
||||
if (u->data) // FIXIT Workaround for UMat synchronization issue
|
||||
{
|
||||
//CV_Assert(u->hostCopyObsolete() == false);
|
||||
return;
|
||||
}
|
||||
// because there can be other map requests for the same UMat with different access flags,
|
||||
// we use the universal (read-write) access mode.
|
||||
cl_int retval = 0;
|
||||
@@ -3844,6 +3849,10 @@ public:
|
||||
|
||||
UMatDataAutoLock autolock(u);
|
||||
|
||||
// FIXIT Workaround for UMat synchronization issue
|
||||
if(u->refcount > 0)
|
||||
return;
|
||||
|
||||
cl_command_queue q = (cl_command_queue)Queue::getDefault().ptr();
|
||||
cl_int retval = 0;
|
||||
if( !u->copyOnMap() && u->data )
|
||||
@@ -4404,7 +4413,24 @@ int predictOptimalVectorWidth(InputArray src1, InputArray src2, InputArray src3,
|
||||
|
||||
#undef PROCESS_SRC
|
||||
|
||||
/////////////////////////////////////////// Image2D ////////////////////////////////////////////////////
|
||||
|
||||
// TODO Make this as a method of OpenCL "BuildOptions" class
|
||||
void buildOptionsAddMatrixDescription(String& buildOptions, const String& name, InputArray _m)
|
||||
{
|
||||
if (!buildOptions.empty())
|
||||
buildOptions += " ";
|
||||
int type = _m.type(), depth = CV_MAT_DEPTH(type);
|
||||
buildOptions += format(
|
||||
"-D %s_T=%s -D %s_T1=%s -D %s_CN=%d -D %s_TSIZE=%d -D %s_T1SIZE=%d -D %s_DEPTH=%d",
|
||||
name.c_str(), ocl::typeToStr(type),
|
||||
name.c_str(), ocl::typeToStr(CV_MAKE_TYPE(depth, 1)),
|
||||
name.c_str(), (int)CV_MAT_CN(type),
|
||||
name.c_str(), (int)CV_ELEM_SIZE(type),
|
||||
name.c_str(), (int)CV_ELEM_SIZE1(type),
|
||||
name.c_str(), (int)depth
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
struct Image2D::Impl
|
||||
{
|
||||
|
Reference in New Issue
Block a user