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);} |