From 9cf8186c18be19465188ba9bd37d45376998d9ef Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 6 Aug 2014 13:33:39 -0400
Subject: [PATCH] P4 to Git Change 1063463 by bsumner@bsumner-lin-opencl on
2014/08/06 13:24:54
ECR #304775 - eliminate differences with Khronos headers and ensure correct contents for mainline
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.h#17 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_platform.h#5 edit
[ROCm/clr commit: 3ae8e5dc453b5ac96efbd25742266adf1c6591f7]
---
.../opencl/khronos/headers/opencl2.0/CL/cl.h | 3 +
.../khronos/headers/opencl2.0/CL/cl_ext.h | 194 +++++++++---------
.../headers/opencl2.0/CL/cl_platform.h | 131 +++++++++---
3 files changed, 206 insertions(+), 122 deletions(-)
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.h
index f09d9f4dc7..363bd7fcd3 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.h
@@ -110,6 +110,9 @@ typedef struct _cl_image_desc {
size_t image_slice_pitch;
cl_uint num_mip_levels;
cl_uint num_samples;
+#ifdef __GNUC__
+ __extension__ /* Prevents warnings about anonymous union in -pedantic builds */
+#endif
union {
cl_mem buffer;
cl_mem mem_object;
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
index 640e0d5657..79c2091b4a 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
@@ -134,55 +134,21 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clIcdGetPlatformIDsKHR_fn)(
* cl_khr_initalize_memory extension *
*************************************/
-#define CL_CONTEXT_MEMORY_INITIALIZE_KHR 0x200E
+#define CL_CONTEXT_MEMORY_INITIALIZE_KHR 0x2030
/**************************************
* cl_khr_terminate_context extension *
**************************************/
-#define CL_DEVICE_TERMINATE_CAPABILITY_KHR 0x200F
-#define CL_CONTEXT_TERMINATE_KHR 0x2010
+#define CL_DEVICE_TERMINATE_CAPABILITY_KHR 0x2031
+#define CL_CONTEXT_TERMINATE_KHR 0x2032
#define cl_khr_terminate_context 1
extern CL_API_ENTRY cl_int CL_API_CALL clTerminateContextKHR(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2;
-//
-/******************************
- * cl_khr_subgroups extension *
- ******************************/
-
-#define cl_khr_subgroups 1
-
-typedef cl_uint cl_kernel_sub_group_info;
-
-#define CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE 0x2011
-#define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE 0x2012
-
-extern CL_API_ENTRY cl_int CL_API_CALL
-clGetKernelSubGroupInfoKHR(cl_kernel /* kernel */,
- cl_device_id /* device */,
- cl_kernel_sub_group_info /* param_name */,
- size_t /* input_value_size */,
- const void * /* input_value */,
- size_t /* param_value_size */,
- void * /* param_value */,
- size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2;
-
-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetKernelSubGroupInfoKHR_fn)(
- cl_kernel /* kernel */,
- cl_device_id /* device */,
- cl_kernel_sub_group_info /* param_name */,
- size_t /* input_value_size */,
- const void * /* input_value */,
- size_t /* param_value_size */,
- void * /* param_value */,
- size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2;
-
-//
-
/*
* Extension: cl_khr_spir
*
@@ -267,8 +233,6 @@ typedef cl_int (CL_CALLBACK * intercept_callback_fn)(cl_event, cl_int *);
* cl-gl depth buffer interop extension *
****************************************/
-#define CL_DEPTH 0x10BD
-#define CL_DEPTH_STENCIL 0x10BE
#define CL_UNORM_INT24 0x10DF
#define CL_GL_NUM_SAMPLES 0x2012
//
@@ -408,82 +372,116 @@ typedef struct _cl_mem_ion_host_ptr
} cl_mem_ion_host_ptr;
- //
- /*************************
- * cl_amd_object_metadata *
- **************************/
- #define cl_amd_object_metadata 1
+//
+/*************************
+* cl_amd_object_metadata *
+**************************/
+#define cl_amd_object_metadata 1
- typedef size_t cl_key_amd;
+typedef size_t cl_key_amd;
- #define CL_INVALID_OBJECT_AMD 0x403A
- #define CL_INVALID_KEY_AMD 0x403B
- #define CL_PLATFORM_MAX_KEYS_AMD 0x403C
+#define CL_INVALID_OBJECT_AMD 0x403A
+#define CL_INVALID_KEY_AMD 0x403B
+#define CL_PLATFORM_MAX_KEYS_AMD 0x403C
- typedef CL_API_ENTRY cl_key_amd (CL_API_CALL * clCreateKeyAMD_fn)(
- cl_platform_id /* platform */,
- void (CL_CALLBACK * /* destructor */)( void* /* old_value */),
- cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
+typedef CL_API_ENTRY cl_key_amd (CL_API_CALL * clCreateKeyAMD_fn)(
+ cl_platform_id /* platform */,
+ void (CL_CALLBACK * /* destructor */)( void* /* old_value */),
+ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
- typedef CL_API_ENTRY cl_int (CL_API_CALL * clObjectGetValueForKeyAMD_fn)(
- void * /* object */,
- cl_key_amd /* key */,
- void ** /* ret_val */) CL_API_SUFFIX__VERSION_1_1;
+typedef CL_API_ENTRY cl_int (CL_API_CALL * clObjectGetValueForKeyAMD_fn)(
+ void * /* object */,
+ cl_key_amd /* key */,
+ void ** /* ret_val */) CL_API_SUFFIX__VERSION_1_1;
- typedef CL_API_ENTRY cl_int (CL_API_CALL * clObjectSetValueForKeyAMD_fn)(
- void * /* object */,
- cl_key_amd /* key */,
- void * /* value */) CL_API_SUFFIX__VERSION_1_1;
+typedef CL_API_ENTRY cl_int (CL_API_CALL * clObjectSetValueForKeyAMD_fn)(
+ void * /* object */,
+ cl_key_amd /* key */,
+ void * /* value */) CL_API_SUFFIX__VERSION_1_1;
//
+
#endif /* CL_VERSION_1_1 */
#ifdef CL_VERSION_1_2
- /********************************
- * cl_amd_bus_addressable_memory *
- ********************************/
+/********************************
+* cl_amd_bus_addressable_memory *
+********************************/
- /* cl_mem flag - bitfield */
- #define CL_MEM_BUS_ADDRESSABLE_AMD (1<<30)
- #define CL_MEM_EXTERNAL_PHYSICAL_AMD (1<<31)
+/* cl_mem flag - bitfield */
+#define CL_MEM_BUS_ADDRESSABLE_AMD (1<<30)
+#define CL_MEM_EXTERNAL_PHYSICAL_AMD (1<<31)
- #define CL_COMMAND_WAIT_SIGNAL_AMD 0x4080
- #define CL_COMMAND_WRITE_SIGNAL_AMD 0x4081
- #define CL_COMMAND_MAKE_BUFFERS_RESIDENT_AMD 0x4082
+#define CL_COMMAND_WAIT_SIGNAL_AMD 0x4080
+#define CL_COMMAND_WRITE_SIGNAL_AMD 0x4081
+#define CL_COMMAND_MAKE_BUFFERS_RESIDENT_AMD 0x4082
- typedef struct _cl_bus_address_amd
- {
- cl_ulong surface_bus_address;
- cl_ulong marker_bus_address;
- } cl_bus_address_amd;
+typedef struct _cl_bus_address_amd
+{
+ cl_ulong surface_bus_address;
+ cl_ulong marker_bus_address;
+} cl_bus_address_amd;
- typedef CL_API_ENTRY cl_int
- (CL_API_CALL * clEnqueueWaitSignalAMD_fn)( cl_command_queue /*command_queue*/,
- cl_mem /*mem_object*/,
- cl_uint /*value*/,
- cl_uint /*num_events*/,
- const cl_event * /*event_wait_list*/,
- cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
+typedef CL_API_ENTRY cl_int
+(CL_API_CALL * clEnqueueWaitSignalAMD_fn)( cl_command_queue /*command_queue*/,
+ cl_mem /*mem_object*/,
+ cl_uint /*value*/,
+ cl_uint /*num_events*/,
+ const cl_event * /*event_wait_list*/,
+ cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
- typedef CL_API_ENTRY cl_int
- (CL_API_CALL * clEnqueueWriteSignalAMD_fn)( cl_command_queue /*command_queue*/,
- cl_mem /*mem_object*/,
- cl_uint /*value*/,
- cl_ulong /*offset*/,
- cl_uint /*num_events*/,
- const cl_event * /*event_list*/,
- cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
+typedef CL_API_ENTRY cl_int
+(CL_API_CALL * clEnqueueWriteSignalAMD_fn)( cl_command_queue /*command_queue*/,
+ cl_mem /*mem_object*/,
+ cl_uint /*value*/,
+ cl_ulong /*offset*/,
+ cl_uint /*num_events*/,
+ const cl_event * /*event_list*/,
+ cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
- typedef CL_API_ENTRY cl_int
- (CL_API_CALL * clEnqueueMakeBuffersResidentAMD_fn)( cl_command_queue /*command_queue*/,
- cl_uint /*num_mem_objs*/,
- cl_mem * /*mem_objects*/,
- cl_bool /*blocking_make_resident*/,
- cl_bus_address_amd * /*bus_addresses*/,
- cl_uint /*num_events*/,
- const cl_event * /*event_list*/,
- cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
+typedef CL_API_ENTRY cl_int
+(CL_API_CALL * clEnqueueMakeBuffersResidentAMD_fn)( cl_command_queue /*command_queue*/,
+ cl_uint /*num_mem_objs*/,
+ cl_mem * /*mem_objects*/,
+ cl_bool /*blocking_make_resident*/,
+ cl_bus_address_amd * /*bus_addresses*/,
+ cl_uint /*num_events*/,
+ const cl_event * /*event_list*/,
+ cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
#endif /* CL_VERSION_1_2 */
+#ifdef CL_VERSION_2_0
+/******************************
+ * cl_khr_subgroups extension *
+ ******************************/
+#define cl_khr_subgroups 1
+
+typedef cl_uint cl_kernel_sub_group_info;
+
+/* cl_khr_sub_group_info */
+#define CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE 0x2033
+#define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE 0x2034
+
+extern CL_API_ENTRY cl_int CL_API_CALL
+clGetKernelSubGroupInfoKHR(cl_kernel /* kernel */,
+ cl_device_id /* device */,
+ cl_kernel_sub_group_info /* param_name */,
+ size_t /* input_value_size */,
+ const void * /* input_value */,
+ size_t /* param_value_size */,
+ void * /* param_value */,
+ size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
+
+typedef CL_API_ENTRY cl_int
+ (CL_API_CALL *clGetKernelSubGroupInfoKHR_fn)(cl_kernel /* kernel */,
+ cl_device_id /* device */,
+ cl_kernel_sub_group_info /* param_name */,
+ size_t /* input_value_size */,
+ const void * /* input_value */,
+ size_t /* param_value_size */,
+ void * /* param_value */,
+ size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
+#endif /* CL_VERSION_2_0 */
+
#ifdef __cplusplus
}
#endif
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_platform.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_platform.h
index fd1ece10aa..d813b1ff92 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_platform.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_platform.h
@@ -31,12 +31,6 @@
#include
#endif
-#if !defined(_WIN32) || !defined(_MSC_VER)
-# include
-#endif /* !_WIN32 */
-#include
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -157,21 +151,10 @@ typedef signed __int64 cl_long;
typedef unsigned __int64 cl_ulong;
typedef unsigned __int16 cl_half;
-#else /* !_WIN32 */
-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;
-#endif /* !_WIN32 */
typedef float cl_float;
typedef double cl_double;
+/* Macro names and corresponding values defined by OpenCL */
#define CL_CHAR_BIT 8
#define CL_SCHAR_MAX 127
#define CL_SCHAR_MIN (-127-1)
@@ -195,9 +178,9 @@ typedef double cl_double;
#define CL_FLT_MIN_10_EXP -37
#define CL_FLT_MIN_EXP -125
#define CL_FLT_RADIX 2
-#define CL_FLT_MAX FLT_MAX
-#define CL_FLT_MIN FLT_MIN
-#define CL_FLT_EPSILON FLT_EPSILON
+#define CL_FLT_MAX 340282346638528859811704183484516925440.0f
+#define CL_FLT_MIN 1.175494350822287507969e-38f
+#define CL_FLT_EPSILON 0.00000011920928955078125f
#define CL_DBL_DIG 15
#define CL_DBL_MANT_DIG 53
@@ -206,9 +189,9 @@ typedef double cl_double;
#define CL_DBL_MIN_10_EXP -307
#define CL_DBL_MIN_EXP -1021
#define CL_DBL_RADIX 2
-#define CL_DBL_MAX DBL_MAX
-#define CL_DBL_MIN DBL_MIN
-#define CL_DBL_EPSILON DBL_EPSILON
+#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.718281828459045090796
#define CL_M_LOG2E 1.442695040888963387005
@@ -244,6 +227,106 @@ typedef double cl_double;
#define CL_MAXFLOAT CL_FLT_MAX
#define CL_INFINITY CL_HUGE_VALF
+#else
+
+#include
+
+/* scalar types */
+typedef int8_t cl_char;
+typedef uint8_t cl_uchar;
+typedef int16_t cl_short __attribute__((aligned(2)));
+typedef uint16_t cl_ushort __attribute__((aligned(2)));
+typedef int32_t cl_int __attribute__((aligned(4)));
+typedef uint32_t cl_uint __attribute__((aligned(4)));
+typedef int64_t cl_long __attribute__((aligned(8)));
+typedef uint64_t cl_ulong __attribute__((aligned(8)));
+
+typedef uint16_t cl_half __attribute__((aligned(2)));
+typedef float cl_float __attribute__((aligned(4)));
+typedef double cl_double __attribute__((aligned(8)));
+
+/* Macro names and corresponding values defined by OpenCL */
+#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 0x1.fffffep127f
+#define CL_FLT_MIN 0x1.0p-126f
+#define CL_FLT_EPSILON 0x1.0p-23f
+
+#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 0x1.fffffffffffffp1023
+#define CL_DBL_MIN 0x1.0p-1022
+#define CL_DBL_EPSILON 0x1.0p-52
+
+#define CL_M_E 2.718281828459045090796
+#define CL_M_LOG2E 1.442695040888963387005
+#define CL_M_LOG10E 0.434294481903251816668
+#define CL_M_LN2 0.693147180559945286227
+#define CL_M_LN10 2.302585092994045901094
+#define CL_M_PI 3.141592653589793115998
+#define CL_M_PI_2 1.570796326794896557999
+#define CL_M_PI_4 0.785398163397448278999
+#define CL_M_1_PI 0.318309886183790691216
+#define CL_M_2_PI 0.636619772367581382433
+#define CL_M_2_SQRTPI 1.128379167095512558561
+#define CL_M_SQRT2 1.414213562373095145475
+#define CL_M_SQRT1_2 0.707106781186547572737
+
+#define CL_M_E_F 2.71828174591064f
+#define CL_M_LOG2E_F 1.44269502162933f
+#define CL_M_LOG10E_F 0.43429449200630f
+#define CL_M_LN2_F 0.69314718246460f
+#define CL_M_LN10_F 2.30258512496948f
+#define CL_M_PI_F 3.14159274101257f
+#define CL_M_PI_2_F 1.57079637050629f
+#define CL_M_PI_4_F 0.78539818525314f
+#define CL_M_1_PI_F 0.31830987334251f
+#define CL_M_2_PI_F 0.63661974668503f
+#define CL_M_2_SQRTPI_F 1.12837922573090f
+#define CL_M_SQRT2_F 1.41421353816986f
+#define CL_M_SQRT1_2_F 0.70710676908493f
+
+#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
/* Mirror types to GL types. Mirror types allow us to avoid deciding which 87s to load based on whether we are using GL or GLES here. */