fix for brute-force matcher with CUDA 4.2.
authorMarina Kolpakova <no@email>
Mon, 30 Apr 2012 19:06:37 +0000 (19:06 +0000)
committerMarina Kolpakova <no@email>
Mon, 30 Apr 2012 19:06:37 +0000 (19:06 +0000)
modules/gpu/src/cuda/bf_match.cu

index 7d6d62b..ad8cc88 100644 (file)
@@ -97,7 +97,7 @@ namespace cv { namespace gpu { namespace device
         }\r
 \r
         template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask> \r
-        __device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+        __device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
                                            typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
                                            float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
         {\r
@@ -253,7 +253,7 @@ namespace cv { namespace gpu { namespace device
         // Match Unrolled\r
 \r
         template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask> \r
-        __device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+        __device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
                                      typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
                                      float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
         {\r
@@ -409,7 +409,7 @@ namespace cv { namespace gpu { namespace device
         // Match\r
 \r
         template <int BLOCK_SIZE, typename Dist, typename T, typename Mask> \r
-        __device__ void loop(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+        __device__ void loop(int queryIdx, const DevMem2D_<T>& query, volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
                              typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
                              float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
         {\r