|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __CL_PLATFORM_H |
|
#define __CL_PLATFORM_H |
|
|
|
#include <CL/cl_version.h> |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#if defined(_WIN32) |
|
#if !defined(CL_API_ENTRY) |
|
#define CL_API_ENTRY |
|
#endif |
|
#if !defined(CL_API_CALL) |
|
#define CL_API_CALL __stdcall |
|
#endif |
|
#if !defined(CL_CALLBACK) |
|
#define CL_CALLBACK __stdcall |
|
#endif |
|
#else |
|
#if !defined(CL_API_ENTRY) |
|
#define CL_API_ENTRY |
|
#endif |
|
#if !defined(CL_API_CALL) |
|
#define CL_API_CALL |
|
#endif |
|
#if !defined(CL_CALLBACK) |
|
#define CL_CALLBACK |
|
#endif |
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef CL_API_SUFFIX_USER |
|
#define CL_API_SUFFIX_USER |
|
#endif |
|
|
|
#ifndef CL_API_PREFIX_USER |
|
#define CL_API_PREFIX_USER |
|
#endif |
|
|
|
#define CL_API_SUFFIX_COMMON CL_API_SUFFIX_USER |
|
#define CL_API_PREFIX_COMMON CL_API_PREFIX_USER |
|
|
|
#define CL_API_SUFFIX__VERSION_1_0 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_1_1 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_1_2 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_2_0 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_2_1 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_2_2 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__VERSION_3_0 CL_API_SUFFIX_COMMON |
|
#define CL_API_SUFFIX__EXPERIMENTAL CL_API_SUFFIX_COMMON |
|
|
|
|
|
#ifdef __GNUC__ |
|
#define CL_API_SUFFIX_DEPRECATED __attribute__((deprecated)) |
|
#define CL_API_PREFIX_DEPRECATED |
|
#elif defined(_WIN32) |
|
#define CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX_DEPRECATED __declspec(deprecated) |
|
#else |
|
#define CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS |
|
#define CL_API_SUFFIX__VERSION_1_0_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_1_0_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_1_0_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_1_0_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS |
|
#define CL_API_SUFFIX__VERSION_1_1_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_1_1_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_1_1_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_1_1_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_1_2_APIS |
|
#define CL_API_SUFFIX__VERSION_1_2_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_1_2_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_1_2_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_1_2_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_2_0_APIS |
|
#define CL_API_SUFFIX__VERSION_2_0_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_2_0_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_2_0_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_2_0_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_2_1_APIS |
|
#define CL_API_SUFFIX__VERSION_2_1_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_2_1_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_2_1_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_2_1_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#ifdef CL_USE_DEPRECATED_OPENCL_2_2_APIS |
|
#define CL_API_SUFFIX__VERSION_2_2_DEPRECATED CL_API_SUFFIX_COMMON |
|
#define CL_API_PREFIX__VERSION_2_2_DEPRECATED CL_API_PREFIX_COMMON |
|
#else |
|
#define CL_API_SUFFIX__VERSION_2_2_DEPRECATED CL_API_SUFFIX_COMMON CL_API_SUFFIX_DEPRECATED |
|
#define CL_API_PREFIX__VERSION_2_2_DEPRECATED CL_API_PREFIX_COMMON CL_API_PREFIX_DEPRECATED |
|
#endif |
|
|
|
#if (defined (_WIN32) && defined(_MSC_VER)) |
|
|
|
#if defined(__clang__) |
|
#pragma clang diagnostic push |
|
#pragma clang diagnostic ignored "-Wlanguage-extension-token" |
|
#endif |
|
|
|
|
|
|
|
#if defined(__clang__) || _MSC_VER >= 1600 |
|
#include <stdint.h> |
|
#endif |
|
|
|
|
|
typedef signed __int8 cl_char; |
|
typedef unsigned __int8 cl_uchar; |
|
typedef signed __int16 cl_short; |
|
typedef unsigned __int16 cl_ushort; |
|
typedef signed __int32 cl_int; |
|
typedef unsigned __int32 cl_uint; |
|
typedef signed __int64 cl_long; |
|
typedef unsigned __int64 cl_ulong; |
|
|
|
typedef unsigned __int16 cl_half; |
|
typedef float cl_float; |
|
typedef double cl_double; |
|
|
|
#if defined(__clang__) |
|
#pragma clang diagnostic pop |
|
#endif |
|
|
|
|
|
#define CL_CHAR_BIT 8 |
|
#define CL_SCHAR_MAX 127 |
|
#define CL_SCHAR_MIN (-127-1) |
|
#define CL_CHAR_MAX CL_SCHAR_MAX |
|
#define CL_CHAR_MIN CL_SCHAR_MIN |
|
#define CL_UCHAR_MAX 255 |
|
#define CL_SHRT_MAX 32767 |
|
#define CL_SHRT_MIN (-32767-1) |
|
#define CL_USHRT_MAX 65535 |
|
#define CL_INT_MAX 2147483647 |
|
#define CL_INT_MIN (-2147483647-1) |
|
#define CL_UINT_MAX 0xffffffffU |
|
#define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) |
|
#define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) |
|
#define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) |
|
|
|
#define CL_FLT_DIG 6 |
|
#define CL_FLT_MANT_DIG 24 |
|
#define CL_FLT_MAX_10_EXP +38 |
|
#define CL_FLT_MAX_EXP +128 |
|
#define CL_FLT_MIN_10_EXP -37 |
|
#define CL_FLT_MIN_EXP -125 |
|
#define CL_FLT_RADIX 2 |
|
#define CL_FLT_MAX 340282346638528859811704183484516925440.0f |
|
#define CL_FLT_MIN 1.175494350822287507969e-38f |
|
#define CL_FLT_EPSILON 1.1920928955078125e-7f |
|
|
|
#define CL_HALF_DIG 3 |
|
#define CL_HALF_MANT_DIG 11 |
|
#define CL_HALF_MAX_10_EXP +4 |
|
#define CL_HALF_MAX_EXP +16 |
|
#define CL_HALF_MIN_10_EXP -4 |
|
#define CL_HALF_MIN_EXP -13 |
|
#define CL_HALF_RADIX 2 |
|
#define CL_HALF_MAX 65504.0f |
|
#define CL_HALF_MIN 6.103515625e-05f |
|
#define CL_HALF_EPSILON 9.765625e-04f |
|
|
|
#define CL_DBL_DIG 15 |
|
#define CL_DBL_MANT_DIG 53 |
|
#define CL_DBL_MAX_10_EXP +308 |
|
#define CL_DBL_MAX_EXP +1024 |
|
#define CL_DBL_MIN_10_EXP -307 |
|
#define CL_DBL_MIN_EXP -1021 |
|
#define CL_DBL_RADIX 2 |
|
#define CL_DBL_MAX 1.7976931348623158e+308 |
|
#define CL_DBL_MIN 2.225073858507201383090e-308 |
|
#define CL_DBL_EPSILON 2.220446049250313080847e-16 |
|
|
|
#define CL_M_E 2.7182818284590452354 |
|
#define CL_M_LOG2E 1.4426950408889634074 |
|
#define CL_M_LOG10E 0.43429448190325182765 |
|
#define CL_M_LN2 0.69314718055994530942 |
|
#define CL_M_LN10 2.30258509299404568402 |
|
#define CL_M_PI 3.14159265358979323846 |
|
#define CL_M_PI_2 1.57079632679489661923 |
|
#define CL_M_PI_4 0.78539816339744830962 |
|
#define CL_M_1_PI 0.31830988618379067154 |
|
#define CL_M_2_PI 0.63661977236758134308 |
|
#define CL_M_2_SQRTPI 1.12837916709551257390 |
|
#define CL_M_SQRT2 1.41421356237309504880 |
|
#define CL_M_SQRT1_2 0.70710678118654752440 |
|
|
|
#define CL_M_E_F 2.718281828f |
|
#define CL_M_LOG2E_F 1.442695041f |
|
#define CL_M_LOG10E_F 0.434294482f |
|
#define CL_M_LN2_F 0.693147181f |
|
#define CL_M_LN10_F 2.302585093f |
|
#define CL_M_PI_F 3.141592654f |
|
#define CL_M_PI_2_F 1.570796327f |
|
#define CL_M_PI_4_F 0.785398163f |
|
#define CL_M_1_PI_F 0.318309886f |
|
#define CL_M_2_PI_F 0.636619772f |
|
#define CL_M_2_SQRTPI_F 1.128379167f |
|
#define CL_M_SQRT2_F 1.414213562f |
|
#define CL_M_SQRT1_2_F 0.707106781f |
|
|
|
#define CL_NAN (CL_INFINITY - CL_INFINITY) |
|
#define CL_HUGE_VALF ((cl_float) 1e50) |
|
#define CL_HUGE_VAL ((cl_double) 1e500) |
|
#define CL_MAXFLOAT CL_FLT_MAX |
|
#define CL_INFINITY CL_HUGE_VALF |
|
|
|
#else |
|
|
|
#include <stdint.h> |
|
|
|
|
|
typedef int8_t cl_char; |
|
typedef uint8_t cl_uchar; |
|
typedef int16_t cl_short; |
|
typedef uint16_t cl_ushort; |
|
typedef int32_t cl_int; |
|
typedef uint32_t cl_uint; |
|
typedef int64_t cl_long; |
|
typedef uint64_t cl_ulong; |
|
|
|
typedef uint16_t cl_half; |
|
typedef float cl_float; |
|
typedef double cl_double; |
|
|
|
|
|
#define CL_CHAR_BIT 8 |
|
#define CL_SCHAR_MAX 127 |
|
#define CL_SCHAR_MIN (-127-1) |
|
#define CL_CHAR_MAX CL_SCHAR_MAX |
|
#define CL_CHAR_MIN CL_SCHAR_MIN |
|
#define CL_UCHAR_MAX 255 |
|
#define CL_SHRT_MAX 32767 |
|
#define CL_SHRT_MIN (-32767-1) |
|
#define CL_USHRT_MAX 65535 |
|
#define CL_INT_MAX 2147483647 |
|
#define CL_INT_MIN (-2147483647-1) |
|
#define CL_UINT_MAX 0xffffffffU |
|
#define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) |
|
#define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) |
|
#define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) |
|
|
|
#define CL_FLT_DIG 6 |
|
#define CL_FLT_MANT_DIG 24 |
|
#define CL_FLT_MAX_10_EXP +38 |
|
#define CL_FLT_MAX_EXP +128 |
|
#define CL_FLT_MIN_10_EXP -37 |
|
#define CL_FLT_MIN_EXP -125 |
|
#define CL_FLT_RADIX 2 |
|
#define CL_FLT_MAX 340282346638528859811704183484516925440.0f |
|
#define CL_FLT_MIN 1.175494350822287507969e-38f |
|
#define CL_FLT_EPSILON 1.1920928955078125e-7f |
|
|
|
#define CL_HALF_DIG 3 |
|
#define CL_HALF_MANT_DIG 11 |
|
#define CL_HALF_MAX_10_EXP +4 |
|
#define CL_HALF_MAX_EXP +16 |
|
#define CL_HALF_MIN_10_EXP -4 |
|
#define CL_HALF_MIN_EXP -13 |
|
#define CL_HALF_RADIX 2 |
|
#define CL_HALF_MAX 65504.0f |
|
#define CL_HALF_MIN 6.103515625e-05f |
|
#define CL_HALF_EPSILON 9.765625e-04f |
|
|
|
#define CL_DBL_DIG 15 |
|
#define CL_DBL_MANT_DIG 53 |
|
#define CL_DBL_MAX_10_EXP +308 |
|
#define CL_DBL_MAX_EXP +1024 |
|
#define CL_DBL_MIN_10_EXP -307 |
|
#define CL_DBL_MIN_EXP -1021 |
|
#define CL_DBL_RADIX 2 |
|
#define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 |
|
#define CL_DBL_MIN 2.225073858507201383090e-308 |
|
#define CL_DBL_EPSILON 2.220446049250313080847e-16 |
|
|
|
#define CL_M_E 2.7182818284590452354 |
|
#define CL_M_LOG2E 1.4426950408889634074 |
|
#define CL_M_LOG10E 0.43429448190325182765 |
|
#define CL_M_LN2 0.69314718055994530942 |
|
#define CL_M_LN10 2.30258509299404568402 |
|
#define CL_M_PI 3.14159265358979323846 |
|
#define CL_M_PI_2 1.57079632679489661923 |
|
#define CL_M_PI_4 0.78539816339744830962 |
|
#define CL_M_1_PI 0.31830988618379067154 |
|
#define CL_M_2_PI 0.63661977236758134308 |
|
#define CL_M_2_SQRTPI 1.12837916709551257390 |
|
#define CL_M_SQRT2 1.41421356237309504880 |
|
#define CL_M_SQRT1_2 0.70710678118654752440 |
|
|
|
#define CL_M_E_F 2.718281828f |
|
#define CL_M_LOG2E_F 1.442695041f |
|
#define CL_M_LOG10E_F 0.434294482f |
|
#define CL_M_LN2_F 0.693147181f |
|
#define CL_M_LN10_F 2.302585093f |
|
#define CL_M_PI_F 3.141592654f |
|
#define CL_M_PI_2_F 1.570796327f |
|
#define CL_M_PI_4_F 0.785398163f |
|
#define CL_M_1_PI_F 0.318309886f |
|
#define CL_M_2_PI_F 0.636619772f |
|
#define CL_M_2_SQRTPI_F 1.128379167f |
|
#define CL_M_SQRT2_F 1.414213562f |
|
#define CL_M_SQRT1_2_F 0.707106781f |
|
|
|
#if defined( __GNUC__ ) |
|
#define CL_HUGE_VALF __builtin_huge_valf() |
|
#define CL_HUGE_VAL __builtin_huge_val() |
|
#define CL_NAN __builtin_nanf( "" ) |
|
#else |
|
#define CL_HUGE_VALF ((cl_float) 1e50) |
|
#define CL_HUGE_VAL ((cl_double) 1e500) |
|
float nanf( const char * ); |
|
#define CL_NAN nanf( "" ) |
|
#endif |
|
#define CL_MAXFLOAT CL_FLT_MAX |
|
#define CL_INFINITY CL_HUGE_VALF |
|
|
|
#endif |
|
|
|
#include <stddef.h> |
|
|
|
|
|
typedef unsigned int cl_GLuint; |
|
typedef int cl_GLint; |
|
typedef unsigned int cl_GLenum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined( __VEC__ ) |
|
#if !defined(__clang__) |
|
#include <altivec.h> |
|
#endif |
|
typedef __vector unsigned char __cl_uchar16; |
|
typedef __vector signed char __cl_char16; |
|
typedef __vector unsigned short __cl_ushort8; |
|
typedef __vector signed short __cl_short8; |
|
typedef __vector unsigned int __cl_uint4; |
|
typedef __vector signed int __cl_int4; |
|
typedef __vector float __cl_float4; |
|
#define __CL_UCHAR16__ 1 |
|
#define __CL_CHAR16__ 1 |
|
#define __CL_USHORT8__ 1 |
|
#define __CL_SHORT8__ 1 |
|
#define __CL_UINT4__ 1 |
|
#define __CL_INT4__ 1 |
|
#define __CL_FLOAT4__ 1 |
|
#endif |
|
|
|
#if defined( __SSE__ ) |
|
#if defined( __MINGW64__ ) |
|
#include <intrin.h> |
|
#else |
|
#include <xmmintrin.h> |
|
#endif |
|
#if defined( __GNUC__ ) |
|
typedef float __cl_float4 __attribute__((vector_size(16))); |
|
#else |
|
typedef __m128 __cl_float4; |
|
#endif |
|
#define __CL_FLOAT4__ 1 |
|
#endif |
|
|
|
#if defined( __SSE2__ ) |
|
#if defined( __MINGW64__ ) |
|
#include <intrin.h> |
|
#else |
|
#include <emmintrin.h> |
|
#endif |
|
#if defined( __GNUC__ ) |
|
typedef cl_uchar __cl_uchar16 __attribute__((vector_size(16))); |
|
typedef cl_char __cl_char16 __attribute__((vector_size(16))); |
|
typedef cl_ushort __cl_ushort8 __attribute__((vector_size(16))); |
|
typedef cl_short __cl_short8 __attribute__((vector_size(16))); |
|
typedef cl_uint __cl_uint4 __attribute__((vector_size(16))); |
|
typedef cl_int __cl_int4 __attribute__((vector_size(16))); |
|
typedef cl_ulong __cl_ulong2 __attribute__((vector_size(16))); |
|
typedef cl_long __cl_long2 __attribute__((vector_size(16))); |
|
typedef cl_double __cl_double2 __attribute__((vector_size(16))); |
|
#else |
|
typedef __m128i __cl_uchar16; |
|
typedef __m128i __cl_char16; |
|
typedef __m128i __cl_ushort8; |
|
typedef __m128i __cl_short8; |
|
typedef __m128i __cl_uint4; |
|
typedef __m128i __cl_int4; |
|
typedef __m128i __cl_ulong2; |
|
typedef __m128i __cl_long2; |
|
typedef __m128d __cl_double2; |
|
#endif |
|
#define __CL_UCHAR16__ 1 |
|
#define __CL_CHAR16__ 1 |
|
#define __CL_USHORT8__ 1 |
|
#define __CL_SHORT8__ 1 |
|
#define __CL_INT4__ 1 |
|
#define __CL_UINT4__ 1 |
|
#define __CL_ULONG2__ 1 |
|
#define __CL_LONG2__ 1 |
|
#define __CL_DOUBLE2__ 1 |
|
#endif |
|
|
|
#if defined( __MMX__ ) |
|
#include <mmintrin.h> |
|
#if defined( __GNUC__ ) |
|
typedef cl_uchar __cl_uchar8 __attribute__((vector_size(8))); |
|
typedef cl_char __cl_char8 __attribute__((vector_size(8))); |
|
typedef cl_ushort __cl_ushort4 __attribute__((vector_size(8))); |
|
typedef cl_short __cl_short4 __attribute__((vector_size(8))); |
|
typedef cl_uint __cl_uint2 __attribute__((vector_size(8))); |
|
typedef cl_int __cl_int2 __attribute__((vector_size(8))); |
|
typedef cl_ulong __cl_ulong1 __attribute__((vector_size(8))); |
|
typedef cl_long __cl_long1 __attribute__((vector_size(8))); |
|
typedef cl_float __cl_float2 __attribute__((vector_size(8))); |
|
#else |
|
typedef __m64 __cl_uchar8; |
|
typedef __m64 __cl_char8; |
|
typedef __m64 __cl_ushort4; |
|
typedef __m64 __cl_short4; |
|
typedef __m64 __cl_uint2; |
|
typedef __m64 __cl_int2; |
|
typedef __m64 __cl_ulong1; |
|
typedef __m64 __cl_long1; |
|
typedef __m64 __cl_float2; |
|
#endif |
|
#define __CL_UCHAR8__ 1 |
|
#define __CL_CHAR8__ 1 |
|
#define __CL_USHORT4__ 1 |
|
#define __CL_SHORT4__ 1 |
|
#define __CL_INT2__ 1 |
|
#define __CL_UINT2__ 1 |
|
#define __CL_ULONG1__ 1 |
|
#define __CL_LONG1__ 1 |
|
#define __CL_FLOAT2__ 1 |
|
#endif |
|
|
|
#if defined( __AVX__ ) |
|
#if defined( __MINGW64__ ) |
|
#include <intrin.h> |
|
#else |
|
#include <immintrin.h> |
|
#endif |
|
#if defined( __GNUC__ ) |
|
typedef cl_float __cl_float8 __attribute__((vector_size(32))); |
|
typedef cl_double __cl_double4 __attribute__((vector_size(32))); |
|
#else |
|
typedef __m256 __cl_float8; |
|
typedef __m256d __cl_double4; |
|
#endif |
|
#define __CL_FLOAT8__ 1 |
|
#define __CL_DOUBLE4__ 1 |
|
#endif |
|
|
|
|
|
#if !defined(__cplusplus) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L |
|
#define __CL_HAS_ANON_STRUCT__ 1 |
|
#define __CL_ANON_STRUCT__ |
|
#elif defined(_WIN32) && defined(_MSC_VER) && !defined(__STDC__) |
|
#define __CL_HAS_ANON_STRUCT__ 1 |
|
#define __CL_ANON_STRUCT__ |
|
#elif defined(__GNUC__) && ! defined(__STRICT_ANSI__) |
|
#define __CL_HAS_ANON_STRUCT__ 1 |
|
#define __CL_ANON_STRUCT__ __extension__ |
|
#elif defined(__clang__) |
|
#define __CL_HAS_ANON_STRUCT__ 1 |
|
#define __CL_ANON_STRUCT__ __extension__ |
|
#else |
|
#define __CL_HAS_ANON_STRUCT__ 0 |
|
#define __CL_ANON_STRUCT__ |
|
#endif |
|
|
|
#if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__ |
|
|
|
#pragma warning( push ) |
|
#pragma warning( disable : 4201 ) |
|
#endif |
|
|
|
|
|
#if defined( __GNUC__ ) || defined(__INTEGRITY) |
|
#define CL_ALIGNED(_x) __attribute__ ((aligned(_x))) |
|
#elif defined( _WIN32) && (_MSC_VER) |
|
|
|
|
|
|
|
|
|
#define CL_ALIGNED(_x) |
|
#else |
|
#warning Need to implement some method to align data here |
|
#define CL_ALIGNED(_x) |
|
#endif |
|
|
|
|
|
#if __CL_HAS_ANON_STRUCT__ |
|
|
|
#define CL_HAS_NAMED_VECTOR_FIELDS 1 |
|
|
|
#define CL_HAS_HI_LO_VECTOR_FIELDS 1 |
|
#endif |
|
|
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_char CL_ALIGNED(2) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_char x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char lo, hi; }; |
|
#endif |
|
#if defined( __CL_CHAR2__) |
|
__cl_char2 v2; |
|
#endif |
|
}cl_char2; |
|
|
|
typedef union |
|
{ |
|
cl_char CL_ALIGNED(4) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_char x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_CHAR2__) |
|
__cl_char2 v2[2]; |
|
#endif |
|
#if defined( __CL_CHAR4__) |
|
__cl_char4 v4; |
|
#endif |
|
}cl_char4; |
|
|
|
|
|
typedef cl_char4 cl_char3; |
|
|
|
typedef union |
|
{ |
|
cl_char CL_ALIGNED(8) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_char x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_CHAR2__) |
|
__cl_char2 v2[4]; |
|
#endif |
|
#if defined( __CL_CHAR4__) |
|
__cl_char4 v4[2]; |
|
#endif |
|
#if defined( __CL_CHAR8__ ) |
|
__cl_char8 v8; |
|
#endif |
|
}cl_char8; |
|
|
|
typedef union |
|
{ |
|
cl_char CL_ALIGNED(16) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_char x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_char8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_CHAR2__) |
|
__cl_char2 v2[8]; |
|
#endif |
|
#if defined( __CL_CHAR4__) |
|
__cl_char4 v4[4]; |
|
#endif |
|
#if defined( __CL_CHAR8__ ) |
|
__cl_char8 v8[2]; |
|
#endif |
|
#if defined( __CL_CHAR16__ ) |
|
__cl_char16 v16; |
|
#endif |
|
}cl_char16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_uchar CL_ALIGNED(2) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uchar x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar lo, hi; }; |
|
#endif |
|
#if defined( __cl_uchar2__) |
|
__cl_uchar2 v2; |
|
#endif |
|
}cl_uchar2; |
|
|
|
typedef union |
|
{ |
|
cl_uchar CL_ALIGNED(4) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uchar x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UCHAR2__) |
|
__cl_uchar2 v2[2]; |
|
#endif |
|
#if defined( __CL_UCHAR4__) |
|
__cl_uchar4 v4; |
|
#endif |
|
}cl_uchar4; |
|
|
|
|
|
typedef cl_uchar4 cl_uchar3; |
|
|
|
typedef union |
|
{ |
|
cl_uchar CL_ALIGNED(8) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uchar x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UCHAR2__) |
|
__cl_uchar2 v2[4]; |
|
#endif |
|
#if defined( __CL_UCHAR4__) |
|
__cl_uchar4 v4[2]; |
|
#endif |
|
#if defined( __CL_UCHAR8__ ) |
|
__cl_uchar8 v8; |
|
#endif |
|
}cl_uchar8; |
|
|
|
typedef union |
|
{ |
|
cl_uchar CL_ALIGNED(16) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uchar x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uchar8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UCHAR2__) |
|
__cl_uchar2 v2[8]; |
|
#endif |
|
#if defined( __CL_UCHAR4__) |
|
__cl_uchar4 v4[4]; |
|
#endif |
|
#if defined( __CL_UCHAR8__ ) |
|
__cl_uchar8 v8[2]; |
|
#endif |
|
#if defined( __CL_UCHAR16__ ) |
|
__cl_uchar16 v16; |
|
#endif |
|
}cl_uchar16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_short CL_ALIGNED(4) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_short x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short lo, hi; }; |
|
#endif |
|
#if defined( __CL_SHORT2__) |
|
__cl_short2 v2; |
|
#endif |
|
}cl_short2; |
|
|
|
typedef union |
|
{ |
|
cl_short CL_ALIGNED(8) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_short x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_SHORT2__) |
|
__cl_short2 v2[2]; |
|
#endif |
|
#if defined( __CL_SHORT4__) |
|
__cl_short4 v4; |
|
#endif |
|
}cl_short4; |
|
|
|
|
|
typedef cl_short4 cl_short3; |
|
|
|
typedef union |
|
{ |
|
cl_short CL_ALIGNED(16) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_short x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_SHORT2__) |
|
__cl_short2 v2[4]; |
|
#endif |
|
#if defined( __CL_SHORT4__) |
|
__cl_short4 v4[2]; |
|
#endif |
|
#if defined( __CL_SHORT8__ ) |
|
__cl_short8 v8; |
|
#endif |
|
}cl_short8; |
|
|
|
typedef union |
|
{ |
|
cl_short CL_ALIGNED(32) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_short x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_short8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_SHORT2__) |
|
__cl_short2 v2[8]; |
|
#endif |
|
#if defined( __CL_SHORT4__) |
|
__cl_short4 v4[4]; |
|
#endif |
|
#if defined( __CL_SHORT8__ ) |
|
__cl_short8 v8[2]; |
|
#endif |
|
#if defined( __CL_SHORT16__ ) |
|
__cl_short16 v16; |
|
#endif |
|
}cl_short16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_ushort CL_ALIGNED(4) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ushort x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort lo, hi; }; |
|
#endif |
|
#if defined( __CL_USHORT2__) |
|
__cl_ushort2 v2; |
|
#endif |
|
}cl_ushort2; |
|
|
|
typedef union |
|
{ |
|
cl_ushort CL_ALIGNED(8) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ushort x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_USHORT2__) |
|
__cl_ushort2 v2[2]; |
|
#endif |
|
#if defined( __CL_USHORT4__) |
|
__cl_ushort4 v4; |
|
#endif |
|
}cl_ushort4; |
|
|
|
|
|
typedef cl_ushort4 cl_ushort3; |
|
|
|
typedef union |
|
{ |
|
cl_ushort CL_ALIGNED(16) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ushort x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_USHORT2__) |
|
__cl_ushort2 v2[4]; |
|
#endif |
|
#if defined( __CL_USHORT4__) |
|
__cl_ushort4 v4[2]; |
|
#endif |
|
#if defined( __CL_USHORT8__ ) |
|
__cl_ushort8 v8; |
|
#endif |
|
}cl_ushort8; |
|
|
|
typedef union |
|
{ |
|
cl_ushort CL_ALIGNED(32) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ushort x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ushort8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_USHORT2__) |
|
__cl_ushort2 v2[8]; |
|
#endif |
|
#if defined( __CL_USHORT4__) |
|
__cl_ushort4 v4[4]; |
|
#endif |
|
#if defined( __CL_USHORT8__ ) |
|
__cl_ushort8 v8[2]; |
|
#endif |
|
#if defined( __CL_USHORT16__ ) |
|
__cl_ushort16 v16; |
|
#endif |
|
}cl_ushort16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_half CL_ALIGNED(4) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_half x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half lo, hi; }; |
|
#endif |
|
#if defined( __CL_HALF2__) |
|
__cl_half2 v2; |
|
#endif |
|
}cl_half2; |
|
|
|
typedef union |
|
{ |
|
cl_half CL_ALIGNED(8) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_half x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_HALF2__) |
|
__cl_half2 v2[2]; |
|
#endif |
|
#if defined( __CL_HALF4__) |
|
__cl_half4 v4; |
|
#endif |
|
}cl_half4; |
|
|
|
|
|
typedef cl_half4 cl_half3; |
|
|
|
typedef union |
|
{ |
|
cl_half CL_ALIGNED(16) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_half x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_HALF2__) |
|
__cl_half2 v2[4]; |
|
#endif |
|
#if defined( __CL_HALF4__) |
|
__cl_half4 v4[2]; |
|
#endif |
|
#if defined( __CL_HALF8__ ) |
|
__cl_half8 v8; |
|
#endif |
|
}cl_half8; |
|
|
|
typedef union |
|
{ |
|
cl_half CL_ALIGNED(32) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_half x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_half8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_HALF2__) |
|
__cl_half2 v2[8]; |
|
#endif |
|
#if defined( __CL_HALF4__) |
|
__cl_half4 v4[4]; |
|
#endif |
|
#if defined( __CL_HALF8__ ) |
|
__cl_half8 v8[2]; |
|
#endif |
|
#if defined( __CL_HALF16__ ) |
|
__cl_half16 v16; |
|
#endif |
|
}cl_half16; |
|
|
|
|
|
typedef union |
|
{ |
|
cl_int CL_ALIGNED(8) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_int x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int lo, hi; }; |
|
#endif |
|
#if defined( __CL_INT2__) |
|
__cl_int2 v2; |
|
#endif |
|
}cl_int2; |
|
|
|
typedef union |
|
{ |
|
cl_int CL_ALIGNED(16) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_int x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_INT2__) |
|
__cl_int2 v2[2]; |
|
#endif |
|
#if defined( __CL_INT4__) |
|
__cl_int4 v4; |
|
#endif |
|
}cl_int4; |
|
|
|
|
|
typedef cl_int4 cl_int3; |
|
|
|
typedef union |
|
{ |
|
cl_int CL_ALIGNED(32) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_int x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_INT2__) |
|
__cl_int2 v2[4]; |
|
#endif |
|
#if defined( __CL_INT4__) |
|
__cl_int4 v4[2]; |
|
#endif |
|
#if defined( __CL_INT8__ ) |
|
__cl_int8 v8; |
|
#endif |
|
}cl_int8; |
|
|
|
typedef union |
|
{ |
|
cl_int CL_ALIGNED(64) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_int x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_int8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_INT2__) |
|
__cl_int2 v2[8]; |
|
#endif |
|
#if defined( __CL_INT4__) |
|
__cl_int4 v4[4]; |
|
#endif |
|
#if defined( __CL_INT8__ ) |
|
__cl_int8 v8[2]; |
|
#endif |
|
#if defined( __CL_INT16__ ) |
|
__cl_int16 v16; |
|
#endif |
|
}cl_int16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_uint CL_ALIGNED(8) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uint x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint lo, hi; }; |
|
#endif |
|
#if defined( __CL_UINT2__) |
|
__cl_uint2 v2; |
|
#endif |
|
}cl_uint2; |
|
|
|
typedef union |
|
{ |
|
cl_uint CL_ALIGNED(16) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uint x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UINT2__) |
|
__cl_uint2 v2[2]; |
|
#endif |
|
#if defined( __CL_UINT4__) |
|
__cl_uint4 v4; |
|
#endif |
|
}cl_uint4; |
|
|
|
|
|
typedef cl_uint4 cl_uint3; |
|
|
|
typedef union |
|
{ |
|
cl_uint CL_ALIGNED(32) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uint x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UINT2__) |
|
__cl_uint2 v2[4]; |
|
#endif |
|
#if defined( __CL_UINT4__) |
|
__cl_uint4 v4[2]; |
|
#endif |
|
#if defined( __CL_UINT8__ ) |
|
__cl_uint8 v8; |
|
#endif |
|
}cl_uint8; |
|
|
|
typedef union |
|
{ |
|
cl_uint CL_ALIGNED(64) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_uint x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_uint8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_UINT2__) |
|
__cl_uint2 v2[8]; |
|
#endif |
|
#if defined( __CL_UINT4__) |
|
__cl_uint4 v4[4]; |
|
#endif |
|
#if defined( __CL_UINT8__ ) |
|
__cl_uint8 v8[2]; |
|
#endif |
|
#if defined( __CL_UINT16__ ) |
|
__cl_uint16 v16; |
|
#endif |
|
}cl_uint16; |
|
|
|
|
|
typedef union |
|
{ |
|
cl_long CL_ALIGNED(16) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_long x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long lo, hi; }; |
|
#endif |
|
#if defined( __CL_LONG2__) |
|
__cl_long2 v2; |
|
#endif |
|
}cl_long2; |
|
|
|
typedef union |
|
{ |
|
cl_long CL_ALIGNED(32) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_long x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_LONG2__) |
|
__cl_long2 v2[2]; |
|
#endif |
|
#if defined( __CL_LONG4__) |
|
__cl_long4 v4; |
|
#endif |
|
}cl_long4; |
|
|
|
|
|
typedef cl_long4 cl_long3; |
|
|
|
typedef union |
|
{ |
|
cl_long CL_ALIGNED(64) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_long x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_LONG2__) |
|
__cl_long2 v2[4]; |
|
#endif |
|
#if defined( __CL_LONG4__) |
|
__cl_long4 v4[2]; |
|
#endif |
|
#if defined( __CL_LONG8__ ) |
|
__cl_long8 v8; |
|
#endif |
|
}cl_long8; |
|
|
|
typedef union |
|
{ |
|
cl_long CL_ALIGNED(128) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_long x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_long8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_LONG2__) |
|
__cl_long2 v2[8]; |
|
#endif |
|
#if defined( __CL_LONG4__) |
|
__cl_long4 v4[4]; |
|
#endif |
|
#if defined( __CL_LONG8__ ) |
|
__cl_long8 v8[2]; |
|
#endif |
|
#if defined( __CL_LONG16__ ) |
|
__cl_long16 v16; |
|
#endif |
|
}cl_long16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_ulong CL_ALIGNED(16) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ulong x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong lo, hi; }; |
|
#endif |
|
#if defined( __CL_ULONG2__) |
|
__cl_ulong2 v2; |
|
#endif |
|
}cl_ulong2; |
|
|
|
typedef union |
|
{ |
|
cl_ulong CL_ALIGNED(32) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ulong x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_ULONG2__) |
|
__cl_ulong2 v2[2]; |
|
#endif |
|
#if defined( __CL_ULONG4__) |
|
__cl_ulong4 v4; |
|
#endif |
|
}cl_ulong4; |
|
|
|
|
|
typedef cl_ulong4 cl_ulong3; |
|
|
|
typedef union |
|
{ |
|
cl_ulong CL_ALIGNED(64) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ulong x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_ULONG2__) |
|
__cl_ulong2 v2[4]; |
|
#endif |
|
#if defined( __CL_ULONG4__) |
|
__cl_ulong4 v4[2]; |
|
#endif |
|
#if defined( __CL_ULONG8__ ) |
|
__cl_ulong8 v8; |
|
#endif |
|
}cl_ulong8; |
|
|
|
typedef union |
|
{ |
|
cl_ulong CL_ALIGNED(128) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_ulong x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_ulong8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_ULONG2__) |
|
__cl_ulong2 v2[8]; |
|
#endif |
|
#if defined( __CL_ULONG4__) |
|
__cl_ulong4 v4[4]; |
|
#endif |
|
#if defined( __CL_ULONG8__ ) |
|
__cl_ulong8 v8[2]; |
|
#endif |
|
#if defined( __CL_ULONG16__ ) |
|
__cl_ulong16 v16; |
|
#endif |
|
}cl_ulong16; |
|
|
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_float CL_ALIGNED(8) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_float x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float lo, hi; }; |
|
#endif |
|
#if defined( __CL_FLOAT2__) |
|
__cl_float2 v2; |
|
#endif |
|
}cl_float2; |
|
|
|
typedef union |
|
{ |
|
cl_float CL_ALIGNED(16) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_float x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_FLOAT2__) |
|
__cl_float2 v2[2]; |
|
#endif |
|
#if defined( __CL_FLOAT4__) |
|
__cl_float4 v4; |
|
#endif |
|
}cl_float4; |
|
|
|
|
|
typedef cl_float4 cl_float3; |
|
|
|
typedef union |
|
{ |
|
cl_float CL_ALIGNED(32) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_float x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_FLOAT2__) |
|
__cl_float2 v2[4]; |
|
#endif |
|
#if defined( __CL_FLOAT4__) |
|
__cl_float4 v4[2]; |
|
#endif |
|
#if defined( __CL_FLOAT8__ ) |
|
__cl_float8 v8; |
|
#endif |
|
}cl_float8; |
|
|
|
typedef union |
|
{ |
|
cl_float CL_ALIGNED(64) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_float x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_float8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_FLOAT2__) |
|
__cl_float2 v2[8]; |
|
#endif |
|
#if defined( __CL_FLOAT4__) |
|
__cl_float4 v4[4]; |
|
#endif |
|
#if defined( __CL_FLOAT8__ ) |
|
__cl_float8 v8[2]; |
|
#endif |
|
#if defined( __CL_FLOAT16__ ) |
|
__cl_float16 v16; |
|
#endif |
|
}cl_float16; |
|
|
|
|
|
|
|
typedef union |
|
{ |
|
cl_double CL_ALIGNED(16) s[2]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_double x, y; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double s0, s1; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double lo, hi; }; |
|
#endif |
|
#if defined( __CL_DOUBLE2__) |
|
__cl_double2 v2; |
|
#endif |
|
}cl_double2; |
|
|
|
typedef union |
|
{ |
|
cl_double CL_ALIGNED(32) s[4]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_double x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double s0, s1, s2, s3; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double2 lo, hi; }; |
|
#endif |
|
#if defined( __CL_DOUBLE2__) |
|
__cl_double2 v2[2]; |
|
#endif |
|
#if defined( __CL_DOUBLE4__) |
|
__cl_double4 v4; |
|
#endif |
|
}cl_double4; |
|
|
|
|
|
typedef cl_double4 cl_double3; |
|
|
|
typedef union |
|
{ |
|
cl_double CL_ALIGNED(64) s[8]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_double x, y, z, w; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double s0, s1, s2, s3, s4, s5, s6, s7; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double4 lo, hi; }; |
|
#endif |
|
#if defined( __CL_DOUBLE2__) |
|
__cl_double2 v2[4]; |
|
#endif |
|
#if defined( __CL_DOUBLE4__) |
|
__cl_double4 v4[2]; |
|
#endif |
|
#if defined( __CL_DOUBLE8__ ) |
|
__cl_double8 v8; |
|
#endif |
|
}cl_double8; |
|
|
|
typedef union |
|
{ |
|
cl_double CL_ALIGNED(128) s[16]; |
|
#if __CL_HAS_ANON_STRUCT__ |
|
__CL_ANON_STRUCT__ struct{ cl_double x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; |
|
__CL_ANON_STRUCT__ struct{ cl_double8 lo, hi; }; |
|
#endif |
|
#if defined( __CL_DOUBLE2__) |
|
__cl_double2 v2[8]; |
|
#endif |
|
#if defined( __CL_DOUBLE4__) |
|
__cl_double4 v4[4]; |
|
#endif |
|
#if defined( __CL_DOUBLE8__ ) |
|
__cl_double8 v8[2]; |
|
#endif |
|
#if defined( __CL_DOUBLE16__ ) |
|
__cl_double16 v16; |
|
#endif |
|
}cl_double16; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define __CL_STRINGIFY( _x ) # _x |
|
#define _CL_STRINGIFY( _x ) __CL_STRINGIFY( _x ) |
|
#define CL_PROGRAM_STRING_DEBUG_INFO "#line " _CL_STRINGIFY(__LINE__) " \"" __FILE__ "\" \n\n" |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__ |
|
#pragma warning( pop ) |
|
#endif |
|
|
|
#endif |
|
|