17 #ifndef __CL_PLATFORM_H
18 #define __CL_PLATFORM_H
27 #if !defined(CL_API_ENTRY)
30 #if !defined(CL_API_CALL)
31 #define CL_API_CALL __stdcall
33 #if !defined(CL_CALLBACK)
34 #define CL_CALLBACK __stdcall
37 #if !defined(CL_API_ENTRY)
40 #if !defined(CL_API_CALL)
43 #if !defined(CL_CALLBACK)
56 #ifndef CL_API_SUFFIX_USER
57 #define CL_API_SUFFIX_USER
60 #ifndef CL_API_PREFIX_USER
61 #define CL_API_PREFIX_USER
64 #define CL_API_SUFFIX_COMMON CL_API_SUFFIX_USER
65 #define CL_API_PREFIX_COMMON CL_API_PREFIX_USER
67 #define CL_API_SUFFIX__VERSION_1_0 CL_API_SUFFIX_COMMON
68 #define CL_API_SUFFIX__VERSION_1_1 CL_API_SUFFIX_COMMON
69 #define CL_API_SUFFIX__VERSION_1_2 CL_API_SUFFIX_COMMON
70 #define CL_API_SUFFIX__VERSION_2_0 CL_API_SUFFIX_COMMON
71 #define CL_API_SUFFIX__VERSION_2_1 CL_API_SUFFIX_COMMON
72 #define CL_API_SUFFIX__VERSION_2_2 CL_API_SUFFIX_COMMON
73 #define CL_API_SUFFIX__VERSION_3_0 CL_API_SUFFIX_COMMON
74 #define CL_API_SUFFIX__EXPERIMENTAL CL_API_SUFFIX_COMMON
78 #define CL_API_SUFFIX_DEPRECATED __attribute__((deprecated))
79 #define CL_API_PREFIX_DEPRECATED
81 #define CL_API_SUFFIX_DEPRECATED
82 #define CL_API_PREFIX_DEPRECATED __declspec(deprecated)
84 #define CL_API_SUFFIX_DEPRECATED
85 #define CL_API_PREFIX_DEPRECATED
88 #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
89 #define CL_API_SUFFIX__VERSION_1_0_DEPRECATED CL_API_SUFFIX_COMMON
90 #define CL_API_PREFIX__VERSION_1_0_DEPRECATED CL_API_PREFIX_COMMON
92 #define CL_API_SUFFIX__VERSION_1_0_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
93 #define CL_API_PREFIX__VERSION_1_0_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
96 #ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS
97 #define CL_API_SUFFIX__VERSION_1_1_DEPRECATED CL_API_SUFFIX_COMMON
98 #define CL_API_PREFIX__VERSION_1_1_DEPRECATED CL_API_PREFIX_COMMON
100 #define CL_API_SUFFIX__VERSION_1_1_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
101 #define CL_API_PREFIX__VERSION_1_1_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
104 #ifdef CL_USE_DEPRECATED_OPENCL_1_2_APIS
105 #define CL_API_SUFFIX__VERSION_1_2_DEPRECATED CL_API_SUFFIX_COMMON
106 #define CL_API_PREFIX__VERSION_1_2_DEPRECATED CL_API_PREFIX_COMMON
108 #define CL_API_SUFFIX__VERSION_1_2_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
109 #define CL_API_PREFIX__VERSION_1_2_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
112 #ifdef CL_USE_DEPRECATED_OPENCL_2_0_APIS
113 #define CL_API_SUFFIX__VERSION_2_0_DEPRECATED CL_API_SUFFIX_COMMON
114 #define CL_API_PREFIX__VERSION_2_0_DEPRECATED CL_API_PREFIX_COMMON
116 #define CL_API_SUFFIX__VERSION_2_0_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
117 #define CL_API_PREFIX__VERSION_2_0_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
120 #ifdef CL_USE_DEPRECATED_OPENCL_2_1_APIS
121 #define CL_API_SUFFIX__VERSION_2_1_DEPRECATED CL_API_SUFFIX_COMMON
122 #define CL_API_PREFIX__VERSION_2_1_DEPRECATED CL_API_PREFIX_COMMON
124 #define CL_API_SUFFIX__VERSION_2_1_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
125 #define CL_API_PREFIX__VERSION_2_1_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
128 #ifdef CL_USE_DEPRECATED_OPENCL_2_2_APIS
129 #define CL_API_SUFFIX__VERSION_2_2_DEPRECATED CL_API_SUFFIX_COMMON
130 #define CL_API_PREFIX__VERSION_2_2_DEPRECATED CL_API_PREFIX_COMMON
132 #define CL_API_SUFFIX__VERSION_2_2_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED
133 #define CL_API_PREFIX__VERSION_2_2_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED
136 #if (defined (_WIN32) && defined(_MSC_VER))
138 #if defined(__clang__)
139 #pragma clang diagnostic push
140 #pragma clang diagnostic ignored "-Wlanguage-extension-token"
145 #if defined(__clang__) || _MSC_VER >= 1600
154 typedef signed __int32
cl_int;
155 typedef unsigned __int32
cl_uint;
156 typedef signed __int64
cl_long;
159 typedef unsigned __int16
cl_half;
163 #if defined(__clang__)
164 #pragma clang diagnostic pop
168 #define CL_CHAR_BIT 8
169 #define CL_SCHAR_MAX 127
170 #define CL_SCHAR_MIN (-127-1)
171 #define CL_CHAR_MAX CL_SCHAR_MAX
172 #define CL_CHAR_MIN CL_SCHAR_MIN
173 #define CL_UCHAR_MAX 255
174 #define CL_SHRT_MAX 32767
175 #define CL_SHRT_MIN (-32767-1)
176 #define CL_USHRT_MAX 65535
177 #define CL_INT_MAX 2147483647
178 #define CL_INT_MIN (-2147483647-1)
179 #define CL_UINT_MAX 0xffffffffU
180 #define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL)
181 #define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL)
182 #define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL)
185 #define CL_FLT_MANT_DIG 24
186 #define CL_FLT_MAX_10_EXP +38
187 #define CL_FLT_MAX_EXP +128
188 #define CL_FLT_MIN_10_EXP -37
189 #define CL_FLT_MIN_EXP -125
190 #define CL_FLT_RADIX 2
191 #define CL_FLT_MAX 340282346638528859811704183484516925440.0f
192 #define CL_FLT_MIN 1.175494350822287507969e-38f
193 #define CL_FLT_EPSILON 1.1920928955078125e-7f
195 #define CL_HALF_DIG 3
196 #define CL_HALF_MANT_DIG 11
197 #define CL_HALF_MAX_10_EXP +4
198 #define CL_HALF_MAX_EXP +16
199 #define CL_HALF_MIN_10_EXP -4
200 #define CL_HALF_MIN_EXP -13
201 #define CL_HALF_RADIX 2
202 #define CL_HALF_MAX 65504.0f
203 #define CL_HALF_MIN 6.103515625e-05f
204 #define CL_HALF_EPSILON 9.765625e-04f
206 #define CL_DBL_DIG 15
207 #define CL_DBL_MANT_DIG 53
208 #define CL_DBL_MAX_10_EXP +308
209 #define CL_DBL_MAX_EXP +1024
210 #define CL_DBL_MIN_10_EXP -307
211 #define CL_DBL_MIN_EXP -1021
212 #define CL_DBL_RADIX 2
213 #define CL_DBL_MAX 1.7976931348623158e+308
214 #define CL_DBL_MIN 2.225073858507201383090e-308
215 #define CL_DBL_EPSILON 2.220446049250313080847e-16
217 #define CL_M_E 2.7182818284590452354
218 #define CL_M_LOG2E 1.4426950408889634074
219 #define CL_M_LOG10E 0.43429448190325182765
220 #define CL_M_LN2 0.69314718055994530942
221 #define CL_M_LN10 2.30258509299404568402
222 #define CL_M_PI 3.14159265358979323846
223 #define CL_M_PI_2 1.57079632679489661923
224 #define CL_M_PI_4 0.78539816339744830962
225 #define CL_M_1_PI 0.31830988618379067154
226 #define CL_M_2_PI 0.63661977236758134308
227 #define CL_M_2_SQRTPI 1.12837916709551257390
228 #define CL_M_SQRT2 1.41421356237309504880
229 #define CL_M_SQRT1_2 0.70710678118654752440
231 #define CL_M_E_F 2.718281828f
232 #define CL_M_LOG2E_F 1.442695041f
233 #define CL_M_LOG10E_F 0.434294482f
234 #define CL_M_LN2_F 0.693147181f
235 #define CL_M_LN10_F 2.302585093f
236 #define CL_M_PI_F 3.141592654f
237 #define CL_M_PI_2_F 1.570796327f
238 #define CL_M_PI_4_F 0.785398163f
239 #define CL_M_1_PI_F 0.318309886f
240 #define CL_M_2_PI_F 0.636619772f
241 #define CL_M_2_SQRTPI_F 1.128379167f
242 #define CL_M_SQRT2_F 1.414213562f
243 #define CL_M_SQRT1_2_F 0.707106781f
245 #define CL_NAN (CL_INFINITY - CL_INFINITY)
246 #define CL_HUGE_VALF ((cl_float) 1e50)
247 #define CL_HUGE_VAL ((cl_double) 1e500)
248 #define CL_MAXFLOAT CL_FLT_MAX
249 #define CL_INFINITY CL_HUGE_VALF
270 #define CL_CHAR_BIT 8
271 #define CL_SCHAR_MAX 127
272 #define CL_SCHAR_MIN (-127-1)
273 #define CL_CHAR_MAX CL_SCHAR_MAX
274 #define CL_CHAR_MIN CL_SCHAR_MIN
275 #define CL_UCHAR_MAX 255
276 #define CL_SHRT_MAX 32767
277 #define CL_SHRT_MIN (-32767-1)
278 #define CL_USHRT_MAX 65535
279 #define CL_INT_MAX 2147483647
280 #define CL_INT_MIN (-2147483647-1)
281 #define CL_UINT_MAX 0xffffffffU
282 #define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL)
283 #define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL)
284 #define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL)
287 #define CL_FLT_MANT_DIG 24
288 #define CL_FLT_MAX_10_EXP +38
289 #define CL_FLT_MAX_EXP +128
290 #define CL_FLT_MIN_10_EXP -37
291 #define CL_FLT_MIN_EXP -125
292 #define CL_FLT_RADIX 2
293 #define CL_FLT_MAX 340282346638528859811704183484516925440.0f
294 #define CL_FLT_MIN 1.175494350822287507969e-38f
295 #define CL_FLT_EPSILON 1.1920928955078125e-7f
297 #define CL_HALF_DIG 3
298 #define CL_HALF_MANT_DIG 11
299 #define CL_HALF_MAX_10_EXP +4
300 #define CL_HALF_MAX_EXP +16
301 #define CL_HALF_MIN_10_EXP -4
302 #define CL_HALF_MIN_EXP -13
303 #define CL_HALF_RADIX 2
304 #define CL_HALF_MAX 65504.0f
305 #define CL_HALF_MIN 6.103515625e-05f
306 #define CL_HALF_EPSILON 9.765625e-04f
308 #define CL_DBL_DIG 15
309 #define CL_DBL_MANT_DIG 53
310 #define CL_DBL_MAX_10_EXP +308
311 #define CL_DBL_MAX_EXP +1024
312 #define CL_DBL_MIN_10_EXP -307
313 #define CL_DBL_MIN_EXP -1021
314 #define CL_DBL_RADIX 2
315 #define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0
316 #define CL_DBL_MIN 2.225073858507201383090e-308
317 #define CL_DBL_EPSILON 2.220446049250313080847e-16
319 #define CL_M_E 2.7182818284590452354
320 #define CL_M_LOG2E 1.4426950408889634074
321 #define CL_M_LOG10E 0.43429448190325182765
322 #define CL_M_LN2 0.69314718055994530942
323 #define CL_M_LN10 2.30258509299404568402
324 #define CL_M_PI 3.14159265358979323846
325 #define CL_M_PI_2 1.57079632679489661923
326 #define CL_M_PI_4 0.78539816339744830962
327 #define CL_M_1_PI 0.31830988618379067154
328 #define CL_M_2_PI 0.63661977236758134308
329 #define CL_M_2_SQRTPI 1.12837916709551257390
330 #define CL_M_SQRT2 1.41421356237309504880
331 #define CL_M_SQRT1_2 0.70710678118654752440
333 #define CL_M_E_F 2.718281828f
334 #define CL_M_LOG2E_F 1.442695041f
335 #define CL_M_LOG10E_F 0.434294482f
336 #define CL_M_LN2_F 0.693147181f
337 #define CL_M_LN10_F 2.302585093f
338 #define CL_M_PI_F 3.141592654f
339 #define CL_M_PI_2_F 1.570796327f
340 #define CL_M_PI_4_F 0.785398163f
341 #define CL_M_1_PI_F 0.318309886f
342 #define CL_M_2_PI_F 0.636619772f
343 #define CL_M_2_SQRTPI_F 1.128379167f
344 #define CL_M_SQRT2_F 1.414213562f
345 #define CL_M_SQRT1_2_F 0.707106781f
347 #if defined( __GNUC__ )
348 #define CL_HUGE_VALF __builtin_huge_valf()
349 #define CL_HUGE_VAL __builtin_huge_val()
350 #define CL_NAN __builtin_nanf( "" )
352 #define CL_HUGE_VALF ((cl_float) 1e50)
353 #define CL_HUGE_VAL ((cl_double) 1e500)
354 float nanf(
const char * );
355 #define CL_NAN nanf( "" )
357 #define CL_MAXFLOAT CL_FLT_MAX
358 #define CL_INFINITY CL_HUGE_VALF
386 #if defined( __VEC__ )
387 #if !defined(__clang__)
390 typedef __vector
unsigned char __cl_uchar16;
391 typedef __vector
signed char __cl_char16;
392 typedef __vector
unsigned short __cl_ushort8;
393 typedef __vector
signed short __cl_short8;
394 typedef __vector
unsigned int __cl_uint4;
395 typedef __vector
signed int __cl_int4;
396 typedef __vector
float __cl_float4;
397 #define __CL_UCHAR16__ 1
398 #define __CL_CHAR16__ 1
399 #define __CL_USHORT8__ 1
400 #define __CL_SHORT8__ 1
401 #define __CL_UINT4__ 1
402 #define __CL_INT4__ 1
403 #define __CL_FLOAT4__ 1
406 #if defined( __SSE__ )
407 #if defined( __MINGW64__ )
410 #include <xmmintrin.h>
412 #if defined( __GNUC__ )
415 typedef __m128 __cl_float4;
417 #define __CL_FLOAT4__ 1
420 #if defined( __SSE2__ )
421 #if defined( __MINGW64__ )
424 #include <emmintrin.h>
426 #if defined( __GNUC__ )
427 typedef cl_uchar __cl_uchar16
__attribute__((vector_size(16)));
428 typedef cl_char __cl_char16
__attribute__((vector_size(16)));
429 typedef cl_ushort __cl_ushort8
__attribute__((vector_size(16)));
430 typedef cl_short __cl_short8
__attribute__((vector_size(16)));
433 typedef cl_ulong __cl_ulong2
__attribute__((vector_size(16)));
435 typedef cl_double __cl_double2
__attribute__((vector_size(16)));
437 typedef __m128i __cl_uchar16;
438 typedef __m128i __cl_char16;
439 typedef __m128i __cl_ushort8;
440 typedef __m128i __cl_short8;
441 typedef __m128i __cl_uint4;
442 typedef __m128i __cl_int4;
443 typedef __m128i __cl_ulong2;
444 typedef __m128i __cl_long2;
445 typedef __m128d __cl_double2;
447 #define __CL_UCHAR16__ 1
448 #define __CL_CHAR16__ 1
449 #define __CL_USHORT8__ 1
450 #define __CL_SHORT8__ 1
451 #define __CL_INT4__ 1
452 #define __CL_UINT4__ 1
453 #define __CL_ULONG2__ 1
454 #define __CL_LONG2__ 1
455 #define __CL_DOUBLE2__ 1
458 #if defined( __MMX__ )
459 #include <mmintrin.h>
460 #if defined( __GNUC__ )
461 typedef cl_uchar __cl_uchar8
__attribute__((vector_size(8)));
463 typedef cl_ushort __cl_ushort4
__attribute__((vector_size(8)));
464 typedef cl_short __cl_short4
__attribute__((vector_size(8)));
467 typedef cl_ulong __cl_ulong1
__attribute__((vector_size(8)));
469 typedef cl_float __cl_float2
__attribute__((vector_size(8)));
471 typedef __m64 __cl_uchar8;
472 typedef __m64 __cl_char8;
473 typedef __m64 __cl_ushort4;
474 typedef __m64 __cl_short4;
475 typedef __m64 __cl_uint2;
476 typedef __m64 __cl_int2;
477 typedef __m64 __cl_ulong1;
478 typedef __m64 __cl_long1;
479 typedef __m64 __cl_float2;
481 #define __CL_UCHAR8__ 1
482 #define __CL_CHAR8__ 1
483 #define __CL_USHORT4__ 1
484 #define __CL_SHORT4__ 1
485 #define __CL_INT2__ 1
486 #define __CL_UINT2__ 1
487 #define __CL_ULONG1__ 1
488 #define __CL_LONG1__ 1
489 #define __CL_FLOAT2__ 1
492 #if defined( __AVX__ )
493 #if defined( __MINGW64__ )
496 #include <immintrin.h>
498 #if defined( __GNUC__ )
499 typedef cl_float __cl_float8
__attribute__((vector_size(32)));
500 typedef cl_double __cl_double4
__attribute__((vector_size(32)));
502 typedef __m256 __cl_float8;
503 typedef __m256d __cl_double4;
505 #define __CL_FLOAT8__ 1
506 #define __CL_DOUBLE4__ 1
510 #if !defined(__cplusplus) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
511 #define __CL_HAS_ANON_STRUCT__ 1
512 #define __CL_ANON_STRUCT__
513 #elif defined(_WIN32) && defined(_MSC_VER) && !defined(__STDC__)
514 #define __CL_HAS_ANON_STRUCT__ 1
515 #define __CL_ANON_STRUCT__
516 #elif defined(__GNUC__) && ! defined(__STRICT_ANSI__)
517 #define __CL_HAS_ANON_STRUCT__ 1
518 #define __CL_ANON_STRUCT__ __extension__
519 #elif defined(__clang__)
520 #define __CL_HAS_ANON_STRUCT__ 1
521 #define __CL_ANON_STRUCT__ __extension__
523 #define __CL_HAS_ANON_STRUCT__ 0
524 #define __CL_ANON_STRUCT__
527 #if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__
529 #pragma warning( push )
530 #pragma warning( disable : 4201 )
534 #if defined( __GNUC__ ) || defined(__INTEGRITY)
535 #define CL_ALIGNED(_x) __attribute__ ((aligned(_x)))
536 #elif defined( _WIN32) && (_MSC_VER)
541 #define CL_ALIGNED(_x)
543 #warning Need to implement some method to align data here
544 #define CL_ALIGNED(_x)
548 #if __CL_HAS_ANON_STRUCT__
550 #define CL_HAS_NAMED_VECTOR_FIELDS 1
552 #define CL_HAS_HI_LO_VECTOR_FIELDS 1
561 #if __CL_HAS_ANON_STRUCT__
566 #if defined( __CL_CHAR2__)
574 #if __CL_HAS_ANON_STRUCT__
579 #if defined( __CL_CHAR2__)
582 #if defined( __CL_CHAR4__)
593 #if __CL_HAS_ANON_STRUCT__
598 #if defined( __CL_CHAR2__)
601 #if defined( __CL_CHAR4__)
604 #if defined( __CL_CHAR8__ )
612 #if __CL_HAS_ANON_STRUCT__
613 __CL_ANON_STRUCT__ struct{ cl_char
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
614 __CL_ANON_STRUCT__ struct{ cl_char s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
617 #if defined( __CL_CHAR2__)
620 #if defined( __CL_CHAR4__)
623 #if defined( __CL_CHAR8__ )
626 #if defined( __CL_CHAR16__ )
636 #if __CL_HAS_ANON_STRUCT__
641 #if defined( __cl_uchar2__)
649 #if __CL_HAS_ANON_STRUCT__
654 #if defined( __CL_UCHAR2__)
657 #if defined( __CL_UCHAR4__)
668 #if __CL_HAS_ANON_STRUCT__
673 #if defined( __CL_UCHAR2__)
676 #if defined( __CL_UCHAR4__)
679 #if defined( __CL_UCHAR8__ )
687 #if __CL_HAS_ANON_STRUCT__
688 __CL_ANON_STRUCT__ struct{ cl_uchar
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
689 __CL_ANON_STRUCT__ struct{ cl_uchar s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
692 #if defined( __CL_UCHAR2__)
695 #if defined( __CL_UCHAR4__)
698 #if defined( __CL_UCHAR8__ )
701 #if defined( __CL_UCHAR16__ )
711 #if __CL_HAS_ANON_STRUCT__
716 #if defined( __CL_SHORT2__)
724 #if __CL_HAS_ANON_STRUCT__
729 #if defined( __CL_SHORT2__)
732 #if defined( __CL_SHORT4__)
743 #if __CL_HAS_ANON_STRUCT__
748 #if defined( __CL_SHORT2__)
751 #if defined( __CL_SHORT4__)
754 #if defined( __CL_SHORT8__ )
762 #if __CL_HAS_ANON_STRUCT__
763 __CL_ANON_STRUCT__ struct{ cl_short
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
764 __CL_ANON_STRUCT__ struct{ cl_short s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
767 #if defined( __CL_SHORT2__)
770 #if defined( __CL_SHORT4__)
773 #if defined( __CL_SHORT8__ )
776 #if defined( __CL_SHORT16__ )
786 #if __CL_HAS_ANON_STRUCT__
791 #if defined( __CL_USHORT2__)
799 #if __CL_HAS_ANON_STRUCT__
804 #if defined( __CL_USHORT2__)
807 #if defined( __CL_USHORT4__)
818 #if __CL_HAS_ANON_STRUCT__
823 #if defined( __CL_USHORT2__)
826 #if defined( __CL_USHORT4__)
829 #if defined( __CL_USHORT8__ )
837 #if __CL_HAS_ANON_STRUCT__
838 __CL_ANON_STRUCT__ struct{ cl_ushort
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
839 __CL_ANON_STRUCT__ struct{ cl_ushort s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
842 #if defined( __CL_USHORT2__)
845 #if defined( __CL_USHORT4__)
848 #if defined( __CL_USHORT8__ )
851 #if defined( __CL_USHORT16__ )
861 #if __CL_HAS_ANON_STRUCT__
866 #if defined( __CL_HALF2__)
874 #if __CL_HAS_ANON_STRUCT__
879 #if defined( __CL_HALF2__)
882 #if defined( __CL_HALF4__)
893 #if __CL_HAS_ANON_STRUCT__
898 #if defined( __CL_HALF2__)
901 #if defined( __CL_HALF4__)
904 #if defined( __CL_HALF8__ )
912 #if __CL_HAS_ANON_STRUCT__
913 __CL_ANON_STRUCT__ struct{ cl_half
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
914 __CL_ANON_STRUCT__ struct{ cl_half s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
917 #if defined( __CL_HALF2__)
920 #if defined( __CL_HALF4__)
923 #if defined( __CL_HALF8__ )
926 #if defined( __CL_HALF16__ )
935 #if __CL_HAS_ANON_STRUCT__
940 #if defined( __CL_INT2__)
948 #if __CL_HAS_ANON_STRUCT__
953 #if defined( __CL_INT2__)
956 #if defined( __CL_INT4__)
967 #if __CL_HAS_ANON_STRUCT__
972 #if defined( __CL_INT2__)
975 #if defined( __CL_INT4__)
978 #if defined( __CL_INT8__ )
986 #if __CL_HAS_ANON_STRUCT__
987 __CL_ANON_STRUCT__ struct{ cl_int
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
988 __CL_ANON_STRUCT__ struct{ cl_int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
991 #if defined( __CL_INT2__)
994 #if defined( __CL_INT4__)
997 #if defined( __CL_INT8__ )
1000 #if defined( __CL_INT16__ )
1010 #if __CL_HAS_ANON_STRUCT__
1015 #if defined( __CL_UINT2__)
1023 #if __CL_HAS_ANON_STRUCT__
1028 #if defined( __CL_UINT2__)
1031 #if defined( __CL_UINT4__)
1042 #if __CL_HAS_ANON_STRUCT__
1047 #if defined( __CL_UINT2__)
1050 #if defined( __CL_UINT4__)
1053 #if defined( __CL_UINT8__ )
1061 #if __CL_HAS_ANON_STRUCT__
1062 __CL_ANON_STRUCT__ struct{ cl_uint
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
1063 __CL_ANON_STRUCT__ struct{ cl_uint s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
1066 #if defined( __CL_UINT2__)
1069 #if defined( __CL_UINT4__)
1072 #if defined( __CL_UINT8__ )
1075 #if defined( __CL_UINT16__ )
1084 #if __CL_HAS_ANON_STRUCT__
1089 #if defined( __CL_LONG2__)
1097 #if __CL_HAS_ANON_STRUCT__
1102 #if defined( __CL_LONG2__)
1105 #if defined( __CL_LONG4__)
1116 #if __CL_HAS_ANON_STRUCT__
1121 #if defined( __CL_LONG2__)
1124 #if defined( __CL_LONG4__)
1127 #if defined( __CL_LONG8__ )
1135 #if __CL_HAS_ANON_STRUCT__
1136 __CL_ANON_STRUCT__ struct{ cl_long
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
1137 __CL_ANON_STRUCT__ struct{ cl_long s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
1140 #if defined( __CL_LONG2__)
1143 #if defined( __CL_LONG4__)
1146 #if defined( __CL_LONG8__ )
1149 #if defined( __CL_LONG16__ )
1159 #if __CL_HAS_ANON_STRUCT__
1164 #if defined( __CL_ULONG2__)
1172 #if __CL_HAS_ANON_STRUCT__
1177 #if defined( __CL_ULONG2__)
1180 #if defined( __CL_ULONG4__)
1191 #if __CL_HAS_ANON_STRUCT__
1196 #if defined( __CL_ULONG2__)
1199 #if defined( __CL_ULONG4__)
1202 #if defined( __CL_ULONG8__ )
1210 #if __CL_HAS_ANON_STRUCT__
1211 __CL_ANON_STRUCT__ struct{ cl_ulong
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
1212 __CL_ANON_STRUCT__ struct{ cl_ulong s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
1215 #if defined( __CL_ULONG2__)
1218 #if defined( __CL_ULONG4__)
1221 #if defined( __CL_ULONG8__ )
1224 #if defined( __CL_ULONG16__ )
1235 #if __CL_HAS_ANON_STRUCT__
1240 #if defined( __CL_FLOAT2__)
1248 #if __CL_HAS_ANON_STRUCT__
1253 #if defined( __CL_FLOAT2__)
1256 #if defined( __CL_FLOAT4__)
1267 #if __CL_HAS_ANON_STRUCT__
1272 #if defined( __CL_FLOAT2__)
1275 #if defined( __CL_FLOAT4__)
1278 #if defined( __CL_FLOAT8__ )
1286 #if __CL_HAS_ANON_STRUCT__
1287 __CL_ANON_STRUCT__ struct{ cl_float
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
1288 __CL_ANON_STRUCT__ struct{ cl_float s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
1291 #if defined( __CL_FLOAT2__)
1294 #if defined( __CL_FLOAT4__)
1297 #if defined( __CL_FLOAT8__ )
1300 #if defined( __CL_FLOAT16__ )
1310 #if __CL_HAS_ANON_STRUCT__
1315 #if defined( __CL_DOUBLE2__)
1323 #if __CL_HAS_ANON_STRUCT__
1328 #if defined( __CL_DOUBLE2__)
1331 #if defined( __CL_DOUBLE4__)
1342 #if __CL_HAS_ANON_STRUCT__
1347 #if defined( __CL_DOUBLE2__)
1350 #if defined( __CL_DOUBLE4__)
1353 #if defined( __CL_DOUBLE8__ )
1361 #if __CL_HAS_ANON_STRUCT__
1362 __CL_ANON_STRUCT__ struct{ cl_double
x,
y,
z,
w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; };
1363 __CL_ANON_STRUCT__ struct{ cl_double s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; };
1366 #if defined( __CL_DOUBLE2__)
1369 #if defined( __CL_DOUBLE4__)
1372 #if defined( __CL_DOUBLE8__ )
1375 #if defined( __CL_DOUBLE16__ )
1400 #define __CL_STRINGIFY( _x ) # _x
1401 #define _CL_STRINGIFY( _x ) __CL_STRINGIFY( _x )
1402 #define CL_PROGRAM_STRING_DEBUG_INFO "#line " _CL_STRINGIFY(__LINE__) " \"" __FILE__ "\" \n\n"
1408 #if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__
1409 #pragma warning( pop )
GLdouble GLdouble GLdouble z
GLfloat GLfloat GLfloat v2
__attribute__((visibility("default")))
GLubyte GLubyte GLubyte GLubyte w