added safe call support in cu files

This commit is contained in:
Anatoly Baksheev 2010-07-15 14:42:24 +00:00
parent 2c84a66ec7
commit 55b1e9cbc7
4 changed files with 19 additions and 19 deletions

View File

@ -53,6 +53,8 @@ namespace cv
typedef unsigned short ushort;
typedef unsigned int uint;
extern "C" void error( const char *error_string, const char *file, const int line, const char *func = "");
namespace impl
{
static inline int divUp(int a, int b) { return (a % b == 0) ? a/b : a/b + 1; }
@ -62,4 +64,8 @@ namespace cv
}
}
#ifdef __CUDACC__
#define cudaSafeCall(err) { if( cudaSuccess != err) cv::gpu::error(cudaGetErrorString(err), __FILE__, __LINE__); }
#endif
#endif /* __OPENCV_CUDA_SHARED_HPP__ */

View File

@ -297,7 +297,6 @@ extern "C" void cv::gpu::impl::stereoBM_GPU(const DevMem2D& left, const DevMem2D
size_t smem_size = (BLOCK_W + N_DISPARITIES * SHARED_MEM_SIZE) * sizeof(unsigned int);
#define cudaSafeCall
cudaSafeCall( cudaMemset2D(disp.ptr, disp.step, 0, disp.cols, disp. rows) );
cudaSafeCall( cudaMemset2D(minSSD_buf.ptr, minSSD_buf.step, 0xFF, minSSD_buf.cols * minSSD_buf.elemSize(), disp. rows) );

View File

@ -42,3 +42,9 @@
#include "precomp.hpp"
/* End of file. */
extern "C" void cv::gpu::error( const char *error_string, const char *file, const int line, const char *func)
{
cv::error( cv::Exception(CV_GpuApiCallError, error_string, func, file, line) );
}

View File

@ -70,25 +70,14 @@
#include "cuda_runtime_api.h"
#define cudaCallerSafeCall(err) err;
#ifdef __GNUC__
#define cudaSafeCall(err) __cudaSafeCall(err, __FILE__, __LINE__, __func__)
#define cudaSafeCall(err) { if(cudaSuccess != err) cv::gpu::error(cudaGetErrorString(err), __FILE__, __LINE__, __func__); }
#else
#define cudaSafeCall(err) __cudaSafeCall(err, __FILE__, __LINE__)
#define cudaSafeCall(err) { if(cudaSuccess != err) cv::gpu::error(cudaGetErrorString(err), __FILE__, __LINE__); }
#endif
namespace cv
{
namespace gpu
{
static inline void __cudaSafeCall( cudaError err, const char *file, const int line, const char *func = "")
{
if( cudaSuccess != err)
cv::error( cv::Exception(CV_GpuApiCallError, cudaGetErrorString(err), func, file, line) );
}
}
}
#define cudaCallerSafeCall(err) err;
#endif /* HAVE_CUDA */