mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
This commit is contained in:
@@ -4702,6 +4702,8 @@ public:
|
||||
UMatData::MemoryFlag flags0 = static_cast<UMatData::MemoryFlag>(0);
|
||||
getBestFlags(ctx, accessFlags, usageFlags, createFlags, flags0);
|
||||
|
||||
bool copyOnMap = (flags0 & UMatData::COPY_ON_MAP) != 0;
|
||||
|
||||
cl_context ctx_handle = (cl_context)ctx.ptr();
|
||||
int allocatorFlags = 0;
|
||||
UMatData::MemoryFlag tempUMatFlags = static_cast<UMatData::MemoryFlag>(0);
|
||||
@@ -4761,8 +4763,15 @@ public:
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if( copyOnMap )
|
||||
accessFlags &= ~ACCESS_FAST;
|
||||
|
||||
tempUMatFlags = UMatData::TEMP_UMAT;
|
||||
if (CV_OPENCL_ENABLE_MEM_USE_HOST_PTR
|
||||
if (
|
||||
#ifdef __APPLE__
|
||||
!copyOnMap &&
|
||||
#endif
|
||||
CV_OPENCL_ENABLE_MEM_USE_HOST_PTR
|
||||
// There are OpenCL runtime issues for less aligned data
|
||||
&& (CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR != 0
|
||||
&& u->origdata == cv::alignPtr(u->origdata, (int)CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR))
|
||||
@@ -4790,7 +4799,7 @@ public:
|
||||
u->handle = handle;
|
||||
u->prevAllocator = u->currAllocator;
|
||||
u->currAllocator = this;
|
||||
u->flags |= tempUMatFlags;
|
||||
u->flags |= tempUMatFlags | flags0;
|
||||
u->allocatorFlags_ = allocatorFlags;
|
||||
}
|
||||
if (!!(accessFlags & ACCESS_WRITE))
|
||||
|
||||
Reference in New Issue
Block a user