commit feb74b125d7923c0bc11054b66863e1e9f753141 Author: Alexander Smorkalov Date: Mon Jul 14 14:26:50 2014 +0400 Build fixes for CUDA 6.5 (cherry picked from commit 60a5ada4541e777bd2ad3fe0322180706351e58b) diff --git a/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp b/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp index c1e06b4..1c95414 100644 --- a/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp +++ b/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp @@ -48,24 +48,24 @@ #include "NCV.hpp" template inline __host__ __device__ TBase _pixMaxVal(); -template<> static inline __host__ __device__ Ncv8u _pixMaxVal() {return UCHAR_MAX;} -template<> static inline __host__ __device__ Ncv16u _pixMaxVal() {return USHRT_MAX;} -template<> static inline __host__ __device__ Ncv32u _pixMaxVal() {return UINT_MAX;} -template<> static inline __host__ __device__ Ncv8s _pixMaxVal() {return SCHAR_MAX;} -template<> static inline __host__ __device__ Ncv16s _pixMaxVal() {return SHRT_MAX;} -template<> static inline __host__ __device__ Ncv32s _pixMaxVal() {return INT_MAX;} -template<> static inline __host__ __device__ Ncv32f _pixMaxVal() {return FLT_MAX;} -template<> static inline __host__ __device__ Ncv64f _pixMaxVal() {return DBL_MAX;} +template<> inline __host__ __device__ Ncv8u _pixMaxVal() {return UCHAR_MAX;} +template<> inline __host__ __device__ Ncv16u _pixMaxVal() {return USHRT_MAX;} +template<> inline __host__ __device__ Ncv32u _pixMaxVal() {return UINT_MAX;} +template<> inline __host__ __device__ Ncv8s _pixMaxVal() {return SCHAR_MAX;} +template<> inline __host__ __device__ Ncv16s _pixMaxVal() {return SHRT_MAX;} +template<> inline __host__ __device__ Ncv32s _pixMaxVal() {return INT_MAX;} +template<> inline __host__ __device__ Ncv32f _pixMaxVal() {return FLT_MAX;} +template<> inline __host__ __device__ Ncv64f _pixMaxVal() {return DBL_MAX;} template inline __host__ __device__ TBase _pixMinVal(); -template<> static inline __host__ __device__ Ncv8u _pixMinVal() {return 0;} -template<> static inline __host__ __device__ Ncv16u _pixMinVal() {return 0;} -template<> static inline __host__ __device__ Ncv32u _pixMinVal() {return 0;} -template<> static inline __host__ __device__ Ncv8s _pixMinVal() {return SCHAR_MIN;} -template<> static inline __host__ __device__ Ncv16s _pixMinVal() {return SHRT_MIN;} -template<> static inline __host__ __device__ Ncv32s _pixMinVal() {return INT_MIN;} -template<> static inline __host__ __device__ Ncv32f _pixMinVal() {return FLT_MIN;} -template<> static inline __host__ __device__ Ncv64f _pixMinVal() {return DBL_MIN;} +template<> inline __host__ __device__ Ncv8u _pixMinVal() {return 0;} +template<> inline __host__ __device__ Ncv16u _pixMinVal() {return 0;} +template<> inline __host__ __device__ Ncv32u _pixMinVal() {return 0;} +template<> inline __host__ __device__ Ncv8s _pixMinVal() {return SCHAR_MIN;} +template<> inline __host__ __device__ Ncv16s _pixMinVal() {return SHRT_MIN;} +template<> inline __host__ __device__ Ncv32s _pixMinVal() {return INT_MIN;} +template<> inline __host__ __device__ Ncv32f _pixMinVal() {return FLT_MIN;} +template<> inline __host__ __device__ Ncv64f _pixMinVal() {return DBL_MIN;} template struct TConvVec2Base; template<> struct TConvVec2Base {typedef Ncv8u TBase;}; @@ -116,21 +116,21 @@ template static inline __host__ __device__ void _TDemoteClampNN(Ti template static inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv32f &out) {out = (Ncv32f)a;} template inline Tout _pixMakeZero(); -template<> static inline __host__ __device__ uchar1 _pixMakeZero() {return make_uchar1(0);} -template<> static inline __host__ __device__ uchar3 _pixMakeZero() {return make_uchar3(0,0,0);} -template<> static inline __host__ __device__ uchar4 _pixMakeZero() {return make_uchar4(0,0,0,0);} -template<> static inline __host__ __device__ ushort1 _pixMakeZero() {return make_ushort1(0);} -template<> static inline __host__ __device__ ushort3 _pixMakeZero() {return make_ushort3(0,0,0);} -template<> static inline __host__ __device__ ushort4 _pixMakeZero() {return make_ushort4(0,0,0,0);} -template<> static inline __host__ __device__ uint1 _pixMakeZero() {return make_uint1(0);} -template<> static inline __host__ __device__ uint3 _pixMakeZero() {return make_uint3(0,0,0);} -template<> static inline __host__ __device__ uint4 _pixMakeZero() {return make_uint4(0,0,0,0);} -template<> static inline __host__ __device__ float1 _pixMakeZero() {return make_float1(0.f);} -template<> static inline __host__ __device__ float3 _pixMakeZero() {return make_float3(0.f,0.f,0.f);} -template<> static inline __host__ __device__ float4 _pixMakeZero() {return make_float4(0.f,0.f,0.f,0.f);} -template<> static inline __host__ __device__ double1 _pixMakeZero() {return make_double1(0.);} -template<> static inline __host__ __device__ double3 _pixMakeZero() {return make_double3(0.,0.,0.);} -template<> static inline __host__ __device__ double4 _pixMakeZero() {return make_double4(0.,0.,0.,0.);} +template<> inline __host__ __device__ uchar1 _pixMakeZero() {return make_uchar1(0);} +template<> inline __host__ __device__ uchar3 _pixMakeZero() {return make_uchar3(0,0,0);} +template<> inline __host__ __device__ uchar4 _pixMakeZero() {return make_uchar4(0,0,0,0);} +template<> inline __host__ __device__ ushort1 _pixMakeZero() {return make_ushort1(0);} +template<> inline __host__ __device__ ushort3 _pixMakeZero() {return make_ushort3(0,0,0);} +template<> inline __host__ __device__ ushort4 _pixMakeZero() {return make_ushort4(0,0,0,0);} +template<> inline __host__ __device__ uint1 _pixMakeZero() {return make_uint1(0);} +template<> inline __host__ __device__ uint3 _pixMakeZero() {return make_uint3(0,0,0);} +template<> inline __host__ __device__ uint4 _pixMakeZero() {return make_uint4(0,0,0,0);} +template<> inline __host__ __device__ float1 _pixMakeZero() {return make_float1(0.f);} +template<> inline __host__ __device__ float3 _pixMakeZero() {return make_float3(0.f,0.f,0.f);} +template<> inline __host__ __device__ float4 _pixMakeZero() {return make_float4(0.f,0.f,0.f,0.f);} +template<> inline __host__ __device__ double1 _pixMakeZero() {return make_double1(0.);} +template<> inline __host__ __device__ double3 _pixMakeZero() {return make_double3(0.,0.,0.);} +template<> inline __host__ __device__ double4 _pixMakeZero() {return make_double4(0.,0.,0.,0.);} static inline __host__ __device__ uchar1 _pixMake(Ncv8u x) {return make_uchar1(x);} static inline __host__ __device__ uchar3 _pixMake(Ncv8u x, Ncv8u y, Ncv8u z) {return make_uchar3(x,y,z);}