fix for incorrect opencl device selection
This commit is contained in:
parent
dc28451b8a
commit
eebf92ba58
@ -1410,7 +1410,7 @@ bool useOpenCL()
|
|||||||
{
|
{
|
||||||
CoreTLSData* data = coreTlsData.get();
|
CoreTLSData* data = coreTlsData.get();
|
||||||
if( data->useOpenCL < 0 )
|
if( data->useOpenCL < 0 )
|
||||||
data->useOpenCL = (int)haveOpenCL();
|
data->useOpenCL = (int)haveOpenCL() && Device::getDefault().ptr() != NULL;
|
||||||
return data->useOpenCL > 0;
|
return data->useOpenCL > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1419,7 +1419,7 @@ void setUseOpenCL(bool flag)
|
|||||||
if( haveOpenCL() )
|
if( haveOpenCL() )
|
||||||
{
|
{
|
||||||
CoreTLSData* data = coreTlsData.get();
|
CoreTLSData* data = coreTlsData.get();
|
||||||
data->useOpenCL = flag ? 1 : 0;
|
data->useOpenCL = (flag && Device::getDefault().ptr() != NULL) ? 1 : 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2245,6 +2245,7 @@ not_found:
|
|||||||
std::cerr << deviceTypes[t] << " ";
|
std::cerr << deviceTypes[t] << " ";
|
||||||
|
|
||||||
std::cerr << std::endl << " Device name: " << (deviceName.length() == 0 ? "any" : deviceName) << std::endl;
|
std::cerr << std::endl << " Device name: " << (deviceName.length() == 0 ? "any" : deviceName) << std::endl;
|
||||||
|
throw cv::Exception();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ void UMatData::unlock()
|
|||||||
|
|
||||||
MatAllocator* UMat::getStdAllocator()
|
MatAllocator* UMat::getStdAllocator()
|
||||||
{
|
{
|
||||||
if( ocl::haveOpenCL() )
|
if( ocl::haveOpenCL() && ocl::useOpenCL() )
|
||||||
return ocl::getOpenCLAllocator();
|
return ocl::getOpenCLAllocator();
|
||||||
return Mat::getStdAllocator();
|
return Mat::getStdAllocator();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user