added GpuFeature assertion to gpu::Canny
authorVladislav Vinogradov <no@email>
Mon, 5 Sep 2011 06:20:34 +0000 (06:20 +0000)
committerVladislav Vinogradov <no@email>
Mon, 5 Sep 2011 06:20:34 +0000 (06:20 +0000)
modules/gpu/include/opencv2/gpu/gpu.hpp
modules/gpu/src/brute_force_matcher.cpp
modules/gpu/src/imgproc.cpp

index 254c888..e3c7efe 100644 (file)
@@ -77,6 +77,7 @@ namespace cv
             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
index 86b74e4..ab24cb0 100644 (file)
@@ -618,7 +618,7 @@ void cv::gpu::BruteForceMatcher_GPU_base::radiusMatch(const GpuMat& queryDescs,
         }\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
index f65eee1..16a2de5 100644 (file)
@@ -1782,6 +1782,7 @@ void cv::gpu::Canny(const GpuMat& src, CannyBuf& buf, GpuMat& dst, double low_th
 {\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
@@ -1820,6 +1821,7 @@ void cv::gpu::Canny(const GpuMat& dx, const GpuMat& dy, CannyBuf& buf, GpuMat& d
 {\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