FEATURE_SET_COMPUTE_20 = 20,\r
FEATURE_SET_COMPUTE_21 = 21,\r
GLOBAL_ATOMICS = FEATURE_SET_COMPUTE_11,\r
+ SHARED_ATOMICS = FEATURE_SET_COMPUTE_12,\r
NATIVE_DOUBLE = FEATURE_SET_COMPUTE_13\r
};\r
\r
}\r
};\r
\r
- CV_Assert(DeviceInfo().supports(GLOBAL_ATOMICS));\r
+ CV_Assert(TargetArchs::builtWith(GLOBAL_ATOMICS) && DeviceInfo().supports(GLOBAL_ATOMICS));\r
\r
const int nQuery = queryDescs.rows;\r
const int nTrain = trainDescs.rows;\r
{\r
using namespace cv::gpu::canny;\r
\r
+ CV_Assert(TargetArchs::builtWith(SHARED_ATOMICS) && DeviceInfo().supports(SHARED_ATOMICS));\r
CV_Assert(src.type() == CV_8UC1);\r
\r
if( low_thresh > high_thresh )\r
{\r
using namespace cv::gpu::canny;\r
\r
+ CV_Assert(TargetArchs::builtWith(SHARED_ATOMICS) && DeviceInfo().supports(SHARED_ATOMICS));\r
CV_Assert(dx.type() == CV_32SC1 && dy.type() == CV_32SC1 && dx.size() == dy.size());\r
\r
if( low_thresh > high_thresh )\r