Gentoo Archives: gentoo-commits

From: "Amy Winston (amynka)" <amynka@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-libs/opencv/files: opencv-2.4.9-cuda.patch
Date: Tue, 26 Aug 2014 22:10:40
Message-Id: 20140826221036.18A883EF4@oystercatcher.gentoo.org
1 amynka 14/08/26 22:10:36
2
3 Added: opencv-2.4.9-cuda.patch
4 Log:
5 Patch for cuda added bug #520724.
6
7 (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 34E69781)
8
9 Revision Changes Path
10 1.1 media-libs/opencv/files/opencv-2.4.9-cuda.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/opencv/files/opencv-2.4.9-cuda.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/opencv/files/opencv-2.4.9-cuda.patch?rev=1.1&content-type=text/plain
14
15 Index: opencv-2.4.9-cuda.patch
16 ===================================================================
17 commit feb74b125d7923c0bc11054b66863e1e9f753141
18 Author: Alexander Smorkalov <alexander.smorkalov@××××××.com>
19 Date: Mon Jul 14 14:26:50 2014 +0400
20
21 Build fixes for CUDA 6.5
22 (cherry picked from commit 60a5ada4541e777bd2ad3fe0322180706351e58b)
23
24 diff --git a/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp b/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
25 index c1e06b4..1c95414 100644
26 --- a/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
27 +++ b/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp
28 @@ -48,24 +48,24 @@
29 #include "NCV.hpp"
30
31 template<typename TBase> inline __host__ __device__ TBase _pixMaxVal();
32 -template<> static inline __host__ __device__ Ncv8u _pixMaxVal<Ncv8u>() {return UCHAR_MAX;}
33 -template<> static inline __host__ __device__ Ncv16u _pixMaxVal<Ncv16u>() {return USHRT_MAX;}
34 -template<> static inline __host__ __device__ Ncv32u _pixMaxVal<Ncv32u>() {return UINT_MAX;}
35 -template<> static inline __host__ __device__ Ncv8s _pixMaxVal<Ncv8s>() {return SCHAR_MAX;}
36 -template<> static inline __host__ __device__ Ncv16s _pixMaxVal<Ncv16s>() {return SHRT_MAX;}
37 -template<> static inline __host__ __device__ Ncv32s _pixMaxVal<Ncv32s>() {return INT_MAX;}
38 -template<> static inline __host__ __device__ Ncv32f _pixMaxVal<Ncv32f>() {return FLT_MAX;}
39 -template<> static inline __host__ __device__ Ncv64f _pixMaxVal<Ncv64f>() {return DBL_MAX;}
40 +template<> inline __host__ __device__ Ncv8u _pixMaxVal<Ncv8u>() {return UCHAR_MAX;}
41 +template<> inline __host__ __device__ Ncv16u _pixMaxVal<Ncv16u>() {return USHRT_MAX;}
42 +template<> inline __host__ __device__ Ncv32u _pixMaxVal<Ncv32u>() {return UINT_MAX;}
43 +template<> inline __host__ __device__ Ncv8s _pixMaxVal<Ncv8s>() {return SCHAR_MAX;}
44 +template<> inline __host__ __device__ Ncv16s _pixMaxVal<Ncv16s>() {return SHRT_MAX;}
45 +template<> inline __host__ __device__ Ncv32s _pixMaxVal<Ncv32s>() {return INT_MAX;}
46 +template<> inline __host__ __device__ Ncv32f _pixMaxVal<Ncv32f>() {return FLT_MAX;}
47 +template<> inline __host__ __device__ Ncv64f _pixMaxVal<Ncv64f>() {return DBL_MAX;}
48
49 template<typename TBase> inline __host__ __device__ TBase _pixMinVal();
50 -template<> static inline __host__ __device__ Ncv8u _pixMinVal<Ncv8u>() {return 0;}
51 -template<> static inline __host__ __device__ Ncv16u _pixMinVal<Ncv16u>() {return 0;}
52 -template<> static inline __host__ __device__ Ncv32u _pixMinVal<Ncv32u>() {return 0;}
53 -template<> static inline __host__ __device__ Ncv8s _pixMinVal<Ncv8s>() {return SCHAR_MIN;}
54 -template<> static inline __host__ __device__ Ncv16s _pixMinVal<Ncv16s>() {return SHRT_MIN;}
55 -template<> static inline __host__ __device__ Ncv32s _pixMinVal<Ncv32s>() {return INT_MIN;}
56 -template<> static inline __host__ __device__ Ncv32f _pixMinVal<Ncv32f>() {return FLT_MIN;}
57 -template<> static inline __host__ __device__ Ncv64f _pixMinVal<Ncv64f>() {return DBL_MIN;}
58 +template<> inline __host__ __device__ Ncv8u _pixMinVal<Ncv8u>() {return 0;}
59 +template<> inline __host__ __device__ Ncv16u _pixMinVal<Ncv16u>() {return 0;}
60 +template<> inline __host__ __device__ Ncv32u _pixMinVal<Ncv32u>() {return 0;}
61 +template<> inline __host__ __device__ Ncv8s _pixMinVal<Ncv8s>() {return SCHAR_MIN;}
62 +template<> inline __host__ __device__ Ncv16s _pixMinVal<Ncv16s>() {return SHRT_MIN;}
63 +template<> inline __host__ __device__ Ncv32s _pixMinVal<Ncv32s>() {return INT_MIN;}
64 +template<> inline __host__ __device__ Ncv32f _pixMinVal<Ncv32f>() {return FLT_MIN;}
65 +template<> inline __host__ __device__ Ncv64f _pixMinVal<Ncv64f>() {return DBL_MIN;}
66
67 template<typename Tvec> struct TConvVec2Base;
68 template<> struct TConvVec2Base<uchar1> {typedef Ncv8u TBase;};
69 @@ -116,21 +116,21 @@ template<typename Tin> static inline __host__ __device__ void _TDemoteClampNN(Ti
70 template<typename Tin> static inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv32f &out) {out = (Ncv32f)a;}
71
72 template<typename Tout> inline Tout _pixMakeZero();
73 -template<> static inline __host__ __device__ uchar1 _pixMakeZero<uchar1>() {return make_uchar1(0);}
74 -template<> static inline __host__ __device__ uchar3 _pixMakeZero<uchar3>() {return make_uchar3(0,0,0);}
75 -template<> static inline __host__ __device__ uchar4 _pixMakeZero<uchar4>() {return make_uchar4(0,0,0,0);}
76 -template<> static inline __host__ __device__ ushort1 _pixMakeZero<ushort1>() {return make_ushort1(0);}
77 -template<> static inline __host__ __device__ ushort3 _pixMakeZero<ushort3>() {return make_ushort3(0,0,0);}
78 -template<> static inline __host__ __device__ ushort4 _pixMakeZero<ushort4>() {return make_ushort4(0,0,0,0);}
79 -template<> static inline __host__ __device__ uint1 _pixMakeZero<uint1>() {return make_uint1(0);}
80 -template<> static inline __host__ __device__ uint3 _pixMakeZero<uint3>() {return make_uint3(0,0,0);}
81 -template<> static inline __host__ __device__ uint4 _pixMakeZero<uint4>() {return make_uint4(0,0,0,0);}
82 -template<> static inline __host__ __device__ float1 _pixMakeZero<float1>() {return make_float1(0.f);}
83 -template<> static inline __host__ __device__ float3 _pixMakeZero<float3>() {return make_float3(0.f,0.f,0.f);}
84 -template<> static inline __host__ __device__ float4 _pixMakeZero<float4>() {return make_float4(0.f,0.f,0.f,0.f);}
85 -template<> static inline __host__ __device__ double1 _pixMakeZero<double1>() {return make_double1(0.);}
86 -template<> static inline __host__ __device__ double3 _pixMakeZero<double3>() {return make_double3(0.,0.,0.);}
87 -template<> static inline __host__ __device__ double4 _pixMakeZero<double4>() {return make_double4(0.,0.,0.,0.);}
88 +template<> inline __host__ __device__ uchar1 _pixMakeZero<uchar1>() {return make_uchar1(0);}
89 +template<> inline __host__ __device__ uchar3 _pixMakeZero<uchar3>() {return make_uchar3(0,0,0);}
90 +template<> inline __host__ __device__ uchar4 _pixMakeZero<uchar4>() {return make_uchar4(0,0,0,0);}
91 +template<> inline __host__ __device__ ushort1 _pixMakeZero<ushort1>() {return make_ushort1(0);}
92 +template<> inline __host__ __device__ ushort3 _pixMakeZero<ushort3>() {return make_ushort3(0,0,0);}
93 +template<> inline __host__ __device__ ushort4 _pixMakeZero<ushort4>() {return make_ushort4(0,0,0,0);}
94 +template<> inline __host__ __device__ uint1 _pixMakeZero<uint1>() {return make_uint1(0);}
95 +template<> inline __host__ __device__ uint3 _pixMakeZero<uint3>() {return make_uint3(0,0,0);}
96 +template<> inline __host__ __device__ uint4 _pixMakeZero<uint4>() {return make_uint4(0,0,0,0);}
97 +template<> inline __host__ __device__ float1 _pixMakeZero<float1>() {return make_float1(0.f);}
98 +template<> inline __host__ __device__ float3 _pixMakeZero<float3>() {return make_float3(0.f,0.f,0.f);}
99 +template<> inline __host__ __device__ float4 _pixMakeZero<float4>() {return make_float4(0.f,0.f,0.f,0.f);}
100 +template<> inline __host__ __device__ double1 _pixMakeZero<double1>() {return make_double1(0.);}
101 +template<> inline __host__ __device__ double3 _pixMakeZero<double3>() {return make_double3(0.,0.,0.);}
102 +template<> inline __host__ __device__ double4 _pixMakeZero<double4>() {return make_double4(0.,0.,0.,0.);}
103
104 static inline __host__ __device__ uchar1 _pixMake(Ncv8u x) {return make_uchar1(x);}
105 static inline __host__ __device__ uchar3 _pixMake(Ncv8u x, Ncv8u y, Ncv8u z) {return make_uchar3(x,y,z);}