fix for brute-force matcher with CUDA 4.2.
This commit is contained in:
parent
06e3c8fe91
commit
ea3fe441df
@ -97,7 +97,7 @@ namespace cv { namespace gpu { namespace device
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask>
|
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask>
|
||||||
__device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
__device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
||||||
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
||||||
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
||||||
{
|
{
|
||||||
@ -253,7 +253,7 @@ namespace cv { namespace gpu { namespace device
|
|||||||
// Match Unrolled
|
// Match Unrolled
|
||||||
|
|
||||||
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask>
|
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask>
|
||||||
__device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
__device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
||||||
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
||||||
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
||||||
{
|
{
|
||||||
@ -409,7 +409,7 @@ namespace cv { namespace gpu { namespace device
|
|||||||
// Match
|
// Match
|
||||||
|
|
||||||
template <int BLOCK_SIZE, typename Dist, typename T, typename Mask>
|
template <int BLOCK_SIZE, typename Dist, typename T, typename Mask>
|
||||||
__device__ void loop(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
__device__ void loop(int queryIdx, const DevMem2D_<T>& query, volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,
|
||||||
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
typename Dist::value_type* s_query, typename Dist::value_type* s_train,
|
||||||
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user