ocl_type.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 #ifndef GLM_GTX_ocl_type
40 #define GLM_GTX_ocl_type GLM_VERSION
41 
42 // Dependency:
43 #include "../glm.hpp"
44 
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
46 # pragma message("GLM: GLM_GTX_ocl_type extension included")
47 #endif
48 
49 namespace glm{
50 namespace gtx
51 {
53  // Scalar types
54 
57 
58  typedef detail::int8 cl_char;
59  typedef detail::int16 cl_short;
60  typedef detail::int32 cl_int;
61  typedef detail::int64 cl_long;
62 
63  typedef detail::uint8 cl_uchar;
64  typedef detail::uint16 cl_ushort;
65  typedef detail::uint32 cl_uint;
66  typedef detail::uint64 cl_ulong;
67 
68  typedef detail::float16 cl_half;
69  typedef detail::float32 cl_float;
70 
71 
72  typedef detail::int8 cl_char1;
73  typedef detail::int16 cl_short1;
74  typedef detail::int32 cl_int1;
75  typedef detail::int64 cl_long1;
76 
77  typedef detail::uint8 cl_uchar1;
78  typedef detail::uint16 cl_ushort1;
79  typedef detail::uint32 cl_uint1;
80  typedef detail::uint64 cl_ulong1;
81 
82  //typedef detail::float16 cl_half1; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
83  typedef detail::float32 cl_float1;
84 
85 
86  typedef detail::tvec2<detail::int8> cl_char2;
87  typedef detail::tvec2<detail::int16> cl_short2;
88  typedef detail::tvec2<detail::int32> cl_int2;
89  typedef detail::tvec2<detail::int64> cl_long2;
90 
91  typedef detail::tvec2<detail::uint8> cl_uchar2;
92  typedef detail::tvec2<detail::uint16> cl_ushort2;
93  typedef detail::tvec2<detail::uint32> cl_uint2;
94  typedef detail::tvec2<detail::uint64> cl_ulong2;
95 
96  //typedef detail::tvec2<detail::float16> cl_half2; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
97  typedef detail::tvec2<detail::float32> cl_float2;
98 
99 
100  typedef detail::tvec3<detail::int8> cl_char3;
101  typedef detail::tvec3<detail::int16> cl_short3;
102  typedef detail::tvec3<detail::int32> cl_int3;
103  typedef detail::tvec3<detail::int64> cl_long3;
104 
105  typedef detail::tvec3<detail::uint8> cl_uchar3;
106  typedef detail::tvec3<detail::uint16> cl_ushort3;
107  typedef detail::tvec3<detail::uint32> cl_uint3;
108  typedef detail::tvec3<detail::uint64> cl_ulong3;
109 
110  //typedef detail::tvec3<detail::float16> cl_half3; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
111  typedef detail::tvec3<detail::float32> cl_float3;
112 
113 
114  typedef detail::tvec4<detail::int8> cl_char4;
115  typedef detail::tvec4<detail::int16> cl_short4;
116  typedef detail::tvec4<detail::int32> cl_int4;
117  typedef detail::tvec4<detail::int64> cl_long4;
118  typedef detail::tvec4<detail::uint8> cl_uchar4;
119  typedef detail::tvec4<detail::uint16> cl_ushort4;
120  typedef detail::tvec4<detail::uint32> cl_uint4;
121  typedef detail::tvec4<detail::uint64> cl_ulong4;
122 
123  //typedef detail::tvec4<detail::float16> cl_half4; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
124  typedef detail::tvec4<detail::float32> cl_float4;
125 
127 }//namespace gtx
128 }//namespace glm
129 
130 #include "ocl_type.inl"
131 
132 #endif//GLM_GTX_ocl_type