summaryrefslogtreecommitdiffstats
path: root/source/l/ocl-icd
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2021-08-06 18:04:01 +0000
committer Eric Hameleers <alien@slackware.com>2021-08-07 08:59:56 +0200
commit295fdc80f2f76c209bec6289e8a8115cbc3867d8 (patch)
tree219dc7f31058096428028ab01f1dd13e17321d21 /source/l/ocl-icd
parentf2ff678d478fb705648398cc2b44aee8868f6443 (diff)
downloadcurrent-295fdc80f2f76c209bec6289e8a8115cbc3867d8.tar.gz
current-295fdc80f2f76c209bec6289e8a8115cbc3867d8.tar.xz
Fri Aug 6 18:04:01 UTC 202120210806180401
a/udisks2-2.9.3-x86_64-1.txz: Upgraded. d/patchelf-0.13-x86_64-1.txz: Upgraded. d/python-pip-21.2.3-x86_64-1.txz: Upgraded. kde/krita-4.4.7-x86_64-1.txz: Upgraded. l/gjs-1.68.2-x86_64-1.txz: Upgraded. l/glib-networking-2.68.2-x86_64-1.txz: Upgraded. l/pcaudiolib-1.2-x86_64-1.txz: Upgraded. l/pipewire-0.3.33-x86_64-1.txz: Upgraded. l/python-pysol_cards-0.10.2-x86_64-1.txz: Upgraded. n/ipset-7.15-x86_64-1.txz: Upgraded. n/libqmi-1.30.0-x86_64-1.txz: Upgraded. n/mobile-broadband-provider-info-20210805-x86_64-1.txz: Upgraded. xap/blackbox-0.77-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l/ocl-icd')
-rw-r--r--source/l/ocl-icd/0001-Updated-to-support-latest-Khronos-headers.patch2434
-rwxr-xr-xsource/l/ocl-icd/ocl-icd.SlackBuild2
2 files changed, 2436 insertions, 0 deletions
diff --git a/source/l/ocl-icd/0001-Updated-to-support-latest-Khronos-headers.patch b/source/l/ocl-icd/0001-Updated-to-support-latest-Khronos-headers.patch
new file mode 100644
index 000000000..6912d7d2b
--- /dev/null
+++ b/source/l/ocl-icd/0001-Updated-to-support-latest-Khronos-headers.patch
@@ -0,0 +1,2434 @@
+From aed1832c81c0971ea001e12d41e04df834257f94 Mon Sep 17 00:00:00 2001
+From: Brice Videau <bvideau@anl.gov>
+Date: Wed, 12 May 2021 10:24:44 -0500
+Subject: [PATCH] Updated to support latest Khronos headers.
+
+Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
+---
+ icd_generator.rb | 4 +-
+ khronos-headers/CL/cl.h | 46 +--
+ khronos-headers/CL/cl_d3d10.h | 12 +-
+ khronos-headers/CL/cl_d3d11.h | 12 +-
+ khronos-headers/CL/cl_dx9_media_sharing.h | 32 +-
+ khronos-headers/CL/cl_egl.h | 8 +-
+ khronos-headers/CL/cl_ext.h | 228 +++++++++----
+ khronos-headers/CL/cl_gl.h | 22 +-
+ khronos-headers/CL/cl_gl_ext.h | 26 +-
+ khronos-headers/CL/cl_icd.h | 316 +++++++++---------
+ khronos-headers/CL/cl_layer.h | 4 +-
+ khronos-headers/CL/cl_platform.h | 125 ++++---
+ .../CL/cl_va_api_media_sharing_intel.h | 24 +-
+ khronos-headers/CL/opencl.h | 3 +-
+ ocl_interface.yaml | 10 +-
+ run_dummy_icd.c | 1 -
+ 16 files changed, 484 insertions(+), 389 deletions(-)
+
+diff --git a/icd_generator.rb b/icd_generator.rb
+index bb0f2e9..ed4217f 100644
+--- a/icd_generator.rb
++++ b/icd_generator.rb
+@@ -57,7 +57,7 @@ module IcdGenerator
+ "clGetGLContextInfoKHR", "clUnloadCompiler",
+ "clCreateContext", "clCreateContextFromType", "clWaitForEvents"]
+ $header_files = ["/usr/include/CL/cl.h", "/usr/include/CL/cl_gl.h", "/usr/include/CL/cl_egl.h",
+- "/usr/include/CL/cl_ext.h", "/usr/include/CL/cl_gl_ext.h"]
++ "/usr/include/CL/cl_ext.h"]
+ $windows_header_files = ["/usr/include/CL/cl_dx9_media_sharing.h", "/usr/include/CL/cl_d3d11.h", "/usr/include/CL/cl_d3d10.h"]
+ $cl_data_type_error = { "cl_platform_id" => "CL_INVALID_PLATFORM",
+ "cl_device_id" => "CL_INVALID_DEVICE",
+@@ -246,7 +246,7 @@ EOF
+ run_dummy_icd += "\n\n"
+ $api_entries.each_key { |func_name|
+ next if $forbidden_funcs.include?(func_name)
+- run_dummy_icd += $api_entries[func_name]+";\n"
++ run_dummy_icd += $api_entries[func_name]+"\n"
+ }
+ run_dummy_icd += "\n\n"
+ run_dummy_icd += "void call_all_OpenCL_functions(cl_platform_id chosen_platform) {\n"
+diff --git a/khronos-headers/CL/cl.h b/khronos-headers/CL/cl.h
+index 3a5aae4..0018a0f 100644
+--- a/khronos-headers/CL/cl.h
++++ b/khronos-headers/CL/cl.h
+@@ -1311,11 +1311,11 @@ clLinkProgram(cl_context context,
+
+ #ifdef CL_VERSION_2_2
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_2_2_DEPRECATED cl_int CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_2_2_DEPRECATED cl_int CL_API_CALL
+ clSetProgramReleaseCallback(cl_program program,
+ void (CL_CALLBACK * pfn_notify)(cl_program program,
+ void * user_data),
+- void * user_data) CL_EXT_SUFFIX__VERSION_2_2_DEPRECATED;
++ void * user_data) CL_API_SUFFIX__VERSION_2_2_DEPRECATED;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clSetProgramSpecializationConstant(cl_program program,
+@@ -1857,11 +1857,11 @@ clGetExtensionFunctionAddressForPlatform(cl_platform_id platform,
+ clSetCommandQueueProperty(cl_command_queue command_queue,
+ cl_command_queue_properties properties,
+ cl_bool enable,
+- cl_command_queue_properties * old_properties) CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED;
++ cl_command_queue_properties * old_properties) CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
+ #endif /* CL_USE_DEPRECATED_OPENCL_1_0_APIS */
+
+ /* Deprecated OpenCL 1.1 APIs */
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
+ clCreateImage2D(cl_context context,
+ cl_mem_flags flags,
+ const cl_image_format * image_format,
+@@ -1869,9 +1869,9 @@ clCreateImage2D(cl_context context,
+ size_t image_height,
+ size_t image_row_pitch,
+ void * host_ptr,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
+ clCreateImage3D(cl_context context,
+ cl_mem_flags flags,
+ const cl_image_format * image_format,
+@@ -1881,46 +1881,46 @@ clCreateImage3D(cl_context context,
+ size_t image_row_pitch,
+ size_t image_slice_pitch,
+ void * host_ptr,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
+ clEnqueueMarker(cl_command_queue command_queue,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
+ clEnqueueWaitForEvents(cl_command_queue command_queue,
+ cl_uint num_events,
+- const cl_event * event_list) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ const cl_event * event_list) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
+-clEnqueueBarrier(cl_command_queue command_queue) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
++clEnqueueBarrier(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
+-clUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
++clUnloadCompiler(void) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL
+-clGetExtensionFunctionAddress(const char * func_name) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL
++clGetExtensionFunctionAddress(const char * func_name) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+ /* Deprecated OpenCL 2.0 APIs */
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_command_queue CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_command_queue CL_API_CALL
+ clCreateCommandQueue(cl_context context,
+ cl_device_id device,
+ cl_command_queue_properties properties,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_sampler CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_sampler CL_API_CALL
+ clCreateSampler(cl_context context,
+ cl_bool normalized_coords,
+ cl_addressing_mode addressing_mode,
+ cl_filter_mode filter_mode,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_int CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_int CL_API_CALL
+ clEnqueueTask(cl_command_queue command_queue,
+ cl_kernel kernel,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+ #ifdef __cplusplus
+ }
+diff --git a/khronos-headers/CL/cl_d3d10.h b/khronos-headers/CL/cl_d3d10.h
+index 2b80d90..6adedb0 100644
+--- a/khronos-headers/CL/cl_d3d10.h
++++ b/khronos-headers/CL/cl_d3d10.h
+@@ -75,7 +75,7 @@ typedef cl_uint cl_d3d10_device_set_khr;
+
+ /******************************************************************************/
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)(
++typedef cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)(
+ cl_platform_id platform,
+ cl_d3d10_device_source_khr d3d_device_source,
+ void * d3d_object,
+@@ -84,27 +84,27 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)(
+ cl_device_id * devices,
+ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10BufferKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D10BufferKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D10Buffer * resource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture2DKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D10Texture2DKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D10Texture2D * resource,
+ UINT subresource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture3DKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D10Texture3DKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D10Texture3D * resource,
+ UINT subresource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -112,7 +112,7 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)(
+ const cl_event * event_wait_list,
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D10ObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseD3D10ObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+diff --git a/khronos-headers/CL/cl_d3d11.h b/khronos-headers/CL/cl_d3d11.h
+index 10023dd..50ed906 100644
+--- a/khronos-headers/CL/cl_d3d11.h
++++ b/khronos-headers/CL/cl_d3d11.h
+@@ -75,7 +75,7 @@ typedef cl_uint cl_d3d11_device_set_khr;
+
+ /******************************************************************************/
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)(
++typedef cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)(
+ cl_platform_id platform,
+ cl_d3d11_device_source_khr d3d_device_source,
+ void * d3d_object,
+@@ -84,27 +84,27 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)(
+ cl_device_id * devices,
+ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11BufferKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D11BufferKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D11Buffer * resource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture2DKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D11Texture2DKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D11Texture2D * resource,
+ UINT subresource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture3DKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromD3D11Texture3DKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ ID3D11Texture3D * resource,
+ UINT subresource,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -112,7 +112,7 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)(
+ const cl_event * event_wait_list,
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D11ObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseD3D11ObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+diff --git a/khronos-headers/CL/cl_dx9_media_sharing.h b/khronos-headers/CL/cl_dx9_media_sharing.h
+index 4e64b18..b0d2b23 100644
+--- a/khronos-headers/CL/cl_dx9_media_sharing.h
++++ b/khronos-headers/CL/cl_dx9_media_sharing.h
+@@ -76,7 +76,7 @@ typedef struct _cl_dx9_surface_info_khr
+
+ /******************************************************************************/
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromDX9MediaAdapterKHR_fn)(
++typedef cl_int (CL_API_CALL *clGetDeviceIDsFromDX9MediaAdapterKHR_fn)(
+ cl_platform_id platform,
+ cl_uint num_media_adapters,
+ cl_dx9_media_adapter_type_khr * media_adapter_type,
+@@ -86,7 +86,7 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromDX9MediaAdapterKHR_f
+ cl_device_id * devices,
+ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceKHR_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ cl_dx9_media_adapter_type_khr adapter_type,
+@@ -94,7 +94,7 @@ typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceKHR_fn)(
+ cl_uint plane,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireDX9MediaSurfacesKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireDX9MediaSurfacesKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -102,7 +102,7 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireDX9MediaSurfacesKHR_fn
+ const cl_event * event_wait_list,
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseDX9MediaSurfacesKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseDX9MediaSurfacesKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -159,16 +159,16 @@ clGetDeviceIDsFromDX9INTEL(
+ cl_dx9_device_set_intel dx9_device_set,
+ cl_uint num_entries,
+ cl_device_id* devices,
+- cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL* clGetDeviceIDsFromDX9INTEL_fn)(
++typedef cl_int (CL_API_CALL* clGetDeviceIDsFromDX9INTEL_fn)(
+ cl_platform_id platform,
+ cl_dx9_device_source_intel dx9_device_source,
+ void* dx9_object,
+ cl_dx9_device_set_intel dx9_device_set,
+ cl_uint num_entries,
+ cl_device_id* devices,
+- cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_1;
+
+ extern CL_API_ENTRY cl_mem CL_API_CALL
+ clCreateFromDX9MediaSurfaceINTEL(
+@@ -177,15 +177,15 @@ clCreateFromDX9MediaSurfaceINTEL(
+ IDirect3DSurface9* resource,
+ HANDLE sharedHandle,
+ UINT plane,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceINTEL_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceINTEL_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ IDirect3DSurface9* resource,
+ HANDLE sharedHandle,
+ UINT plane,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueAcquireDX9ObjectsINTEL(
+@@ -194,15 +194,15 @@ clEnqueueAcquireDX9ObjectsINTEL(
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireDX9ObjectsINTEL_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireDX9ObjectsINTEL_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_1;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueReleaseDX9ObjectsINTEL(
+@@ -211,15 +211,15 @@ clEnqueueReleaseDX9ObjectsINTEL(
+ cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseDX9ObjectsINTEL_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseDX9ObjectsINTEL_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_1;
+
+ #ifdef __cplusplus
+ }
+diff --git a/khronos-headers/CL/cl_egl.h b/khronos-headers/CL/cl_egl.h
+index c8bde80..357a37c 100644
+--- a/khronos-headers/CL/cl_egl.h
++++ b/khronos-headers/CL/cl_egl.h
+@@ -56,7 +56,7 @@ clCreateFromEGLImageKHR(cl_context context,
+ const cl_egl_image_properties_khr * properties,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromEGLImageKHR_fn)(
++typedef cl_mem (CL_API_CALL *clCreateFromEGLImageKHR_fn)(
+ cl_context context,
+ CLeglDisplayKHR egldisplay,
+ CLeglImageKHR eglimage,
+@@ -73,7 +73,7 @@ clEnqueueAcquireEGLObjectsKHR(cl_command_queue command_queue,
+ const cl_event * event_wait_list,
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireEGLObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireEGLObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -90,7 +90,7 @@ clEnqueueReleaseEGLObjectsKHR(cl_command_queue command_queue,
+ const cl_event * event_wait_list,
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseEGLObjectsKHR_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseEGLObjectsKHR_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem * mem_objects,
+@@ -107,7 +107,7 @@ clCreateEventFromEGLSyncKHR(cl_context context,
+ CLeglDisplayKHR display,
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_event (CL_API_CALL *clCreateEventFromEGLSyncKHR_fn)(
++typedef cl_event (CL_API_CALL *clCreateEventFromEGLSyncKHR_fn)(
+ cl_context context,
+ CLeglSyncKHR sync,
+ CLeglDisplayKHR display,
+diff --git a/khronos-headers/CL/cl_ext.h b/khronos-headers/CL/cl_ext.h
+index 4773061..3015f46 100644
+--- a/khronos-headers/CL/cl_ext.h
++++ b/khronos-headers/CL/cl_ext.h
+@@ -54,9 +54,9 @@ extern "C" {
+ * before using.
+ */
+ #define cl_APPLE_SetMemObjectDestructor 1
+-cl_int CL_API_ENTRY clSetMemObjectDestructorAPPLE( cl_mem memobj,
++extern CL_API_ENTRY cl_int CL_API_CALL clSetMemObjectDestructorAPPLE( cl_mem memobj,
+ void (* pfn_notify)(cl_mem memobj, void * user_data),
+- void * user_data) CL_EXT_SUFFIX__VERSION_1_0;
++ void * user_data) CL_API_SUFFIX__VERSION_1_0;
+
+
+ /* Context Logging Functions
+@@ -68,22 +68,22 @@ cl_int CL_API_ENTRY clSetMemObjectDestructorAPPLE( cl_mem memobj,
+ * clLogMessagesToSystemLog forwards on all log messages to the Apple System Logger
+ */
+ #define cl_APPLE_ContextLoggingFunctions 1
+-extern void CL_API_ENTRY clLogMessagesToSystemLogAPPLE( const char * errstr,
++extern CL_API_ENTRY void CL_API_CALL clLogMessagesToSystemLogAPPLE( const char * errstr,
+ const void * private_info,
+ size_t cb,
+- void * user_data) CL_EXT_SUFFIX__VERSION_1_0;
++ void * user_data) CL_API_SUFFIX__VERSION_1_0;
+
+ /* clLogMessagesToStdout sends all log messages to the file descriptor stdout */
+-extern void CL_API_ENTRY clLogMessagesToStdoutAPPLE( const char * errstr,
++extern CL_API_ENTRY void CL_API_CALL clLogMessagesToStdoutAPPLE( const char * errstr,
+ const void * private_info,
+ size_t cb,
+- void * user_data) CL_EXT_SUFFIX__VERSION_1_0;
++ void * user_data) CL_API_SUFFIX__VERSION_1_0;
+
+ /* clLogMessagesToStderr sends all log messages to the file descriptor stderr */
+-extern void CL_API_ENTRY clLogMessagesToStderrAPPLE( const char * errstr,
++extern CL_API_ENTRY void CL_API_CALL clLogMessagesToStderrAPPLE( const char * errstr,
+ const void * private_info,
+ size_t cb,
+- void * user_data) CL_EXT_SUFFIX__VERSION_1_0;
++ void * user_data) CL_API_SUFFIX__VERSION_1_0;
+
+
+ /************************
+@@ -102,7 +102,7 @@ clIcdGetPlatformIDsKHR(cl_uint num_entries,
+ cl_platform_id * platforms,
+ cl_uint * num_platforms);
+
+-typedef CL_API_ENTRY cl_int
++typedef cl_int
+ (CL_API_CALL *clIcdGetPlatformIDsKHR_fn)(cl_uint num_entries,
+ cl_platform_id * platforms,
+ cl_uint * num_platforms);
+@@ -129,11 +129,11 @@ clCreateProgramWithILKHR(cl_context context,
+ size_t length,
+ cl_int * errcode_ret);
+
+-typedef CL_API_ENTRY cl_program
++typedef cl_program
+ (CL_API_CALL *clCreateProgramWithILKHR_fn)(cl_context context,
+ const void * il,
+ size_t length,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+ /* Extension: cl_khr_image2d_from_buffer
+ *
+@@ -176,10 +176,10 @@ typedef CL_API_ENTRY cl_program
+
+ #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;
++clTerminateContextKHR(cl_context context) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int
+-(CL_API_CALL *clTerminateContextKHR_fn)(cl_context context) CL_EXT_SUFFIX__VERSION_1_2;
++typedef cl_int
++(CL_API_CALL *clTerminateContextKHR_fn)(cl_context context) CL_API_SUFFIX__VERSION_1_2;
+
+
+ /*
+@@ -204,13 +204,13 @@ extern CL_API_ENTRY cl_command_queue CL_API_CALL
+ clCreateCommandQueueWithPropertiesKHR(cl_context context,
+ cl_device_id device,
+ const cl_queue_properties_khr* properties,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_command_queue
++typedef cl_command_queue
+ (CL_API_CALL *clCreateCommandQueueWithPropertiesKHR_fn)(cl_context context,
+ cl_device_id device,
+ const cl_queue_properties_khr* properties,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+
+ /******************************************
+@@ -268,16 +268,16 @@ typedef CL_API_ENTRY cl_command_queue
+ #define cl_ext_device_fission 1
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+-clReleaseDeviceEXT(cl_device_id device) CL_EXT_SUFFIX__VERSION_1_1;
++clReleaseDeviceEXT(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int
+-(CL_API_CALL *clReleaseDeviceEXT_fn)(cl_device_id device) CL_EXT_SUFFIX__VERSION_1_1;
++typedef cl_int
++(CL_API_CALL *clReleaseDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+-clRetainDeviceEXT(cl_device_id device) CL_EXT_SUFFIX__VERSION_1_1;
++clRetainDeviceEXT(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int
+-(CL_API_CALL *clRetainDeviceEXT_fn)(cl_device_id device) CL_EXT_SUFFIX__VERSION_1_1;
++typedef cl_int
++(CL_API_CALL *clRetainDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+
+ typedef cl_ulong cl_device_partition_property_ext;
+ extern CL_API_ENTRY cl_int CL_API_CALL
+@@ -285,14 +285,14 @@ clCreateSubDevicesEXT(cl_device_id in_device,
+ const cl_device_partition_property_ext * properties,
+ cl_uint num_entries,
+ cl_device_id * out_devices,
+- cl_uint * num_devices) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int
++typedef cl_int
+ (CL_API_CALL * clCreateSubDevicesEXT_fn)(cl_device_id in_device,
+ const cl_device_partition_property_ext * properties,
+ cl_uint num_entries,
+ cl_device_id * out_devices,
+- cl_uint * num_devices) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_1;
+
+ /* cl_device_partition_property_ext */
+ #define CL_DEVICE_PARTITION_EQUALLY_EXT 0x4050
+@@ -346,7 +346,7 @@ clEnqueueMigrateMemObjectEXT(cl_command_queue command_queue,
+ const cl_event * event_wait_list,
+ cl_event * event);
+
+-typedef CL_API_ENTRY cl_int
++typedef cl_int
+ (CL_API_CALL *clEnqueueMigrateMemObjectEXT_fn)(cl_command_queue command_queue,
+ cl_uint num_mem_objects,
+ const cl_mem * mem_objects,
+@@ -490,7 +490,7 @@ clEnqueueAcquireGrallocObjectsIMG(cl_command_queue command_queue,
+ const cl_mem * mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueReleaseGrallocObjectsIMG(cl_command_queue command_queue,
+@@ -498,7 +498,7 @@ clEnqueueReleaseGrallocObjectsIMG(cl_command_queue command_queue,
+ const cl_mem * mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ /******************************************
+ * cl_img_generate_mipmap extension *
+@@ -523,7 +523,7 @@ clEnqueueGenerateMipmapIMG(cl_command_queue command_queue,
+ const size_t *mip_region,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+- cl_event *event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+ /******************************************
+ * cl_img_mem_properties extension *
+@@ -564,9 +564,9 @@ clGetKernelSubGroupInfoKHR(cl_kernel in_kernel,
+ const void * input_value,
+ size_t param_value_size,
+ void * param_value,
+- size_t * param_value_size_ret) CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED;
++ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_int
++typedef cl_int
+ (CL_API_CALL * clGetKernelSubGroupInfoKHR_fn)(cl_kernel in_kernel,
+ cl_device_id in_device,
+ cl_kernel_sub_group_info param_name,
+@@ -574,7 +574,7 @@ typedef CL_API_ENTRY cl_int
+ const void * input_value,
+ size_t param_value_size,
+ void * param_value,
+- size_t * param_value_size_ret) CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED;
++ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
+
+
+ /*********************************
+@@ -694,6 +694,46 @@ typedef struct _cl_name_version_khr
+ #define CL_DEVICE_NODE_MASK_KHR 0x106E
+
+
++/***************************************************************
++* cl_khr_pci_bus_info
++***************************************************************/
++#define cl_khr_pci_bus_info 1
++
++typedef struct _cl_device_pci_bus_info_khr {
++ cl_uint pci_domain;
++ cl_uint pci_bus;
++ cl_uint pci_device;
++ cl_uint pci_function;
++} cl_device_pci_bus_info_khr;
++
++/* cl_device_info */
++#define CL_DEVICE_PCI_BUS_INFO_KHR 0x410F
++
++
++/***************************************************************
++* cl_khr_suggested_local_work_size
++***************************************************************/
++#define cl_khr_suggested_local_work_size 1
++
++extern CL_API_ENTRY cl_int CL_API_CALL
++clGetKernelSuggestedLocalWorkSizeKHR(
++ cl_command_queue command_queue,
++ cl_kernel kernel,
++ cl_uint work_dim,
++ const size_t* global_work_offset,
++ const size_t* global_work_size,
++ size_t* suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0;
++
++typedef cl_int (CL_API_CALL *
++clGetKernelSuggestedLocalWorkSizeKHR_fn)(
++ cl_command_queue command_queue,
++ cl_kernel kernel,
++ cl_uint work_dim,
++ const size_t* global_work_offset,
++ const size_t* global_work_size,
++ size_t* suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0;
++
++
+ /**********************************
+ * cl_arm_import_memory extension *
+ **********************************/
+@@ -719,6 +759,12 @@ typedef intptr_t cl_import_properties_arm;
+ /* Data consistency with host property */
+ #define CL_IMPORT_DMA_BUF_DATA_CONSISTENCY_WITH_HOST_ARM 0x41E3
+
++/* Index of plane in a multiplanar hardware buffer */
++#define CL_IMPORT_ANDROID_HARDWARE_BUFFER_PLANE_INDEX_ARM 0x41EF
++
++/* Index of layer in a multilayer hardware buffer */
++#define CL_IMPORT_ANDROID_HARDWARE_BUFFER_LAYER_INDEX_ARM 0x41F0
++
+ /* Import memory size value to indicate a size for the whole buffer */
+ #define CL_IMPORT_MEMORY_WHOLE_ALLOCATION_ARM SIZE_MAX
+
+@@ -744,7 +790,7 @@ clImportMemoryARM( cl_context context,
+ const cl_import_properties_arm *properties,
+ void *memory,
+ size_t size,
+- cl_int *errcode_ret) CL_EXT_SUFFIX__VERSION_1_0;
++ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+
+ /******************************************
+@@ -787,11 +833,11 @@ extern CL_API_ENTRY void * CL_API_CALL
+ clSVMAllocARM(cl_context context,
+ cl_svm_mem_flags_arm flags,
+ size_t size,
+- cl_uint alignment) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_uint alignment) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY void CL_API_CALL
+ clSVMFreeARM(cl_context context,
+- void * svm_pointer) CL_EXT_SUFFIX__VERSION_1_2;
++ void * svm_pointer) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueSVMFreeARM(cl_command_queue command_queue,
+@@ -804,7 +850,7 @@ clEnqueueSVMFreeARM(cl_command_queue command_queue,
+ void * user_data,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueSVMMemcpyARM(cl_command_queue command_queue,
+@@ -814,7 +860,7 @@ clEnqueueSVMMemcpyARM(cl_command_queue command_queue,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueSVMMemFillARM(cl_command_queue command_queue,
+@@ -824,7 +870,7 @@ clEnqueueSVMMemFillARM(cl_command_queue command_queue,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueSVMMapARM(cl_command_queue command_queue,
+@@ -834,25 +880,25 @@ clEnqueueSVMMapARM(cl_command_queue command_queue,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueSVMUnmapARM(cl_command_queue command_queue,
+ void * svm_ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event * event_wait_list,
+- cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clSetKernelArgSVMPointerARM(cl_kernel kernel,
+ cl_uint arg_index,
+- const void * arg_value) CL_EXT_SUFFIX__VERSION_1_2;
++ const void * arg_value) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clSetKernelExecInfoARM(cl_kernel kernel,
+ cl_kernel_exec_info_arm param_name,
+ size_t param_value_size,
+- const void * param_value) CL_EXT_SUFFIX__VERSION_1_2;
++ const void * param_value) CL_API_SUFFIX__VERSION_1_2;
+
+ /********************************
+ * cl_arm_get_core_id extension *
+@@ -1060,14 +1106,14 @@ clCreateAcceleratorINTEL(
+ cl_accelerator_type_intel accelerator_type,
+ size_t descriptor_size,
+ const void* descriptor,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_accelerator_intel (CL_API_CALL *clCreateAcceleratorINTEL_fn)(
++typedef cl_accelerator_intel (CL_API_CALL *clCreateAcceleratorINTEL_fn)(
+ cl_context context,
+ cl_accelerator_type_intel accelerator_type,
+ size_t descriptor_size,
+ const void* descriptor,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clGetAcceleratorInfoINTEL(
+@@ -1075,28 +1121,28 @@ clGetAcceleratorInfoINTEL(
+ cl_accelerator_info_intel param_name,
+ size_t param_value_size,
+ void* param_value,
+- size_t* param_value_size_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetAcceleratorInfoINTEL_fn)(
++typedef cl_int (CL_API_CALL *clGetAcceleratorInfoINTEL_fn)(
+ cl_accelerator_intel accelerator,
+ cl_accelerator_info_intel param_name,
+ size_t param_value_size,
+ void* param_value,
+- size_t* param_value_size_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clRetainAcceleratorINTEL(
+- cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clRetainAcceleratorINTEL_fn)(
+- cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2;
++typedef cl_int (CL_API_CALL *clRetainAcceleratorINTEL_fn)(
++ cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clReleaseAcceleratorINTEL(
+- cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clReleaseAcceleratorINTEL_fn)(
+- cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2;
++typedef cl_int (CL_API_CALL *clReleaseAcceleratorINTEL_fn)(
++ cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+
+ /******************************************
+ * cl_intel_simultaneous_sharing extension *
+@@ -1368,7 +1414,7 @@ clHostMemAllocINTEL(
+ cl_uint alignment,
+ cl_int* errcode_ret);
+
+-typedef CL_API_ENTRY void* (CL_API_CALL *
++typedef void* (CL_API_CALL *
+ clHostMemAllocINTEL_fn)(
+ cl_context context,
+ const cl_mem_properties_intel* properties,
+@@ -1385,7 +1431,7 @@ clDeviceMemAllocINTEL(
+ cl_uint alignment,
+ cl_int* errcode_ret);
+
+-typedef CL_API_ENTRY void* (CL_API_CALL *
++typedef void* (CL_API_CALL *
+ clDeviceMemAllocINTEL_fn)(
+ cl_context context,
+ cl_device_id device,
+@@ -1403,7 +1449,7 @@ clSharedMemAllocINTEL(
+ cl_uint alignment,
+ cl_int* errcode_ret);
+
+-typedef CL_API_ENTRY void* (CL_API_CALL *
++typedef void* (CL_API_CALL *
+ clSharedMemAllocINTEL_fn)(
+ cl_context context,
+ cl_device_id device,
+@@ -1417,7 +1463,7 @@ clMemFreeINTEL(
+ cl_context context,
+ void* ptr);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clMemFreeINTEL_fn)(
+ cl_context context,
+ void* ptr);
+@@ -1427,7 +1473,7 @@ clMemBlockingFreeINTEL(
+ cl_context context,
+ void* ptr);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clMemBlockingFreeINTEL_fn)(
+ cl_context context,
+ void* ptr);
+@@ -1441,7 +1487,7 @@ clGetMemAllocInfoINTEL(
+ void* param_value,
+ size_t* param_value_size_ret);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clGetMemAllocInfoINTEL_fn)(
+ cl_context context,
+ const void* ptr,
+@@ -1456,7 +1502,7 @@ clSetKernelArgMemPointerINTEL(
+ cl_uint arg_index,
+ const void* arg_value);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clSetKernelArgMemPointerINTEL_fn)(
+ cl_kernel kernel,
+ cl_uint arg_index,
+@@ -1472,7 +1518,7 @@ clEnqueueMemsetINTEL( /* Deprecated */
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clEnqueueMemsetINTEL_fn)( /* Deprecated */
+ cl_command_queue command_queue,
+ void* dst_ptr,
+@@ -1493,7 +1539,7 @@ clEnqueueMemFillINTEL(
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clEnqueueMemFillINTEL_fn)(
+ cl_command_queue command_queue,
+ void* dst_ptr,
+@@ -1515,7 +1561,7 @@ clEnqueueMemcpyINTEL(
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clEnqueueMemcpyINTEL_fn)(
+ cl_command_queue command_queue,
+ cl_bool blocking,
+@@ -1541,7 +1587,7 @@ clEnqueueMigrateMemINTEL(
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clEnqueueMigrateMemINTEL_fn)(
+ cl_command_queue command_queue,
+ const void* ptr,
+@@ -1563,7 +1609,7 @@ clEnqueueMemAdviseINTEL(
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *
++typedef cl_int (CL_API_CALL *
+ clEnqueueMemAdviseINTEL_fn)(
+ cl_command_queue command_queue,
+ const void* ptr,
+@@ -1586,16 +1632,16 @@ clCreateBufferWithPropertiesINTEL(
+ cl_mem_flags flags,
+ size_t size,
+ void * host_ptr,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_0;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL *
++typedef cl_mem (CL_API_CALL *
+ clCreateBufferWithPropertiesINTEL_fn)(
+ cl_context context,
+ const cl_mem_properties_intel* properties,
+ cl_mem_flags flags,
+ size_t size,
+ void * host_ptr,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_0;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ /******************************************
+ * cl_intel_mem_channel_property extension *
+@@ -1612,6 +1658,48 @@ clCreateBufferWithPropertiesINTEL_fn)(
+ /* cl_mem_flags */
+ #define CL_MEM_FORCE_HOST_MEMORY_INTEL (1 << 20)
+
++/***************************************************************
++* cl_intel_command_queue_families
++***************************************************************/
++#define cl_intel_command_queue_families 1
++
++typedef cl_bitfield cl_command_queue_capabilities_intel;
++
++#define CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL 64
++
++typedef struct _cl_queue_family_properties_intel {
++ cl_command_queue_properties properties;
++ cl_command_queue_capabilities_intel capabilities;
++ cl_uint count;
++ char name[CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL];
++} cl_queue_family_properties_intel;
++
++/* cl_device_info */
++#define CL_DEVICE_QUEUE_FAMILY_PROPERTIES_INTEL 0x418B
++
++/* cl_queue_properties */
++#define CL_QUEUE_FAMILY_INTEL 0x418C
++#define CL_QUEUE_INDEX_INTEL 0x418D
++
++/* cl_command_queue_capabilities_intel */
++#define CL_QUEUE_DEFAULT_CAPABILITIES_INTEL 0
++#define CL_QUEUE_CAPABILITY_CREATE_SINGLE_QUEUE_EVENTS_INTEL (1 << 0)
++#define CL_QUEUE_CAPABILITY_CREATE_CROSS_QUEUE_EVENTS_INTEL (1 << 1)
++#define CL_QUEUE_CAPABILITY_SINGLE_QUEUE_EVENT_WAIT_LIST_INTEL (1 << 2)
++#define CL_QUEUE_CAPABILITY_CROSS_QUEUE_EVENT_WAIT_LIST_INTEL (1 << 3)
++#define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_INTEL (1 << 8)
++#define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_RECT_INTEL (1 << 9)
++#define CL_QUEUE_CAPABILITY_MAP_BUFFER_INTEL (1 << 10)
++#define CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL (1 << 11)
++#define CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL (1 << 12)
++#define CL_QUEUE_CAPABILITY_MAP_IMAGE_INTEL (1 << 13)
++#define CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL (1 << 14)
++#define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL (1 << 15)
++#define CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL (1 << 16)
++#define CL_QUEUE_CAPABILITY_MARKER_INTEL (1 << 24)
++#define CL_QUEUE_CAPABILITY_BARRIER_INTEL (1 << 25)
++#define CL_QUEUE_CAPABILITY_KERNEL_INTEL (1 << 26)
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/khronos-headers/CL/cl_gl.h b/khronos-headers/CL/cl_gl.h
+index b587f02..5ea0fd8 100644
+--- a/khronos-headers/CL/cl_gl.h
++++ b/khronos-headers/CL/cl_gl.h
+@@ -1,5 +1,5 @@
+ /*******************************************************************************
+- * Copyright (c) 2008-2020 The Khronos Group Inc.
++ * Copyright (c) 2008-2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+@@ -102,21 +102,21 @@ clEnqueueReleaseGLObjects(cl_command_queue command_queue,
+
+
+ /* Deprecated OpenCL 1.1 APIs */
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
+ clCreateFromGLTexture2D(cl_context context,
+ cl_mem_flags flags,
+ cl_GLenum target,
+ cl_GLint miplevel,
+ cl_GLuint texture,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
++extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
+ clCreateFromGLTexture3D(cl_context context,
+ cl_mem_flags flags,
+ cl_GLenum target,
+ cl_GLint miplevel,
+ cl_GLuint texture,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+ /* cl_khr_gl_sharing extension */
+
+@@ -145,13 +145,23 @@ clGetGLContextInfoKHR(const cl_context_properties * properties,
+ void * param_value,
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetGLContextInfoKHR_fn)(
++typedef cl_int (CL_API_CALL *clGetGLContextInfoKHR_fn)(
+ const cl_context_properties * properties,
+ cl_gl_context_info param_name,
+ size_t param_value_size,
+ void * param_value,
+ size_t * param_value_size_ret);
+
++/*
++ * cl_khr_gl_event extension
++ */
++#define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR 0x200D
++
++extern CL_API_ENTRY cl_event CL_API_CALL
++clCreateEventFromGLsyncKHR(cl_context context,
++ cl_GLsync sync,
++ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1;
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/khronos-headers/CL/cl_gl_ext.h b/khronos-headers/CL/cl_gl_ext.h
+index 52107b1..8ec8181 100644
+--- a/khronos-headers/CL/cl_gl_ext.h
++++ b/khronos-headers/CL/cl_gl_ext.h
+@@ -1,5 +1,5 @@
+ /*******************************************************************************
+- * Copyright (c) 2008-2020 The Khronos Group Inc.
++ * Copyright (c) 2008-2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+@@ -14,27 +14,5 @@
+ * limitations under the License.
+ ******************************************************************************/
+
+-#ifndef __OPENCL_CL_GL_EXT_H
+-#define __OPENCL_CL_GL_EXT_H
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+ #include <CL/cl_gl.h>
+-
+-/*
+- * cl_khr_gl_event extension
+- */
+-#define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR 0x200D
+-
+-extern CL_API_ENTRY cl_event CL_API_CALL
+-clCreateEventFromGLsyncKHR(cl_context context,
+- cl_GLsync sync,
+- cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_1;
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif /* __OPENCL_CL_GL_EXT_H */
++#pragma message("All OpenGL-related extensions have been moved into cl_gl.h. Please include cl_gl.h directly.")
+diff --git a/khronos-headers/CL/cl_icd.h b/khronos-headers/CL/cl_icd.h
+index 8ff8b94..d5ac1de 100644
+--- a/khronos-headers/CL/cl_icd.h
++++ b/khronos-headers/CL/cl_icd.h
+@@ -41,35 +41,35 @@ extern "C" {
+ /* API function pointer definitions */
+
+ // Platform APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformIDs)(
++typedef cl_int(CL_API_CALL *cl_api_clGetPlatformIDs)(
+ cl_uint num_entries, cl_platform_id *platforms,
+ cl_uint *num_platforms) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetPlatformInfo)(
+ cl_platform_id platform, cl_platform_info param_name,
+ size_t param_value_size, void *param_value,
+ size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ // Device APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDs)(
++typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDs)(
+ cl_platform_id platform, cl_device_type device_type, cl_uint num_entries,
+ cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetDeviceInfo)(
+ cl_device_id device, cl_device_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevices)(
++typedef cl_int(CL_API_CALL *cl_api_clCreateSubDevices)(
+ cl_device_id in_device,
+ const cl_device_partition_property *partition_properties,
+ cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDevice)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainDevice)(
+ cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDevice)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseDevice)(
+ cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
+
+ #else
+@@ -81,36 +81,36 @@ typedef void *cl_api_clReleaseDevice;
+ #endif
+
+ // Context APIs
+-typedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContext)(
++typedef cl_context(CL_API_CALL *cl_api_clCreateContext)(
+ const cl_context_properties *properties, cl_uint num_devices,
+ const cl_device_id *devices,
+ void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *),
+ void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContextFromType)(
++typedef cl_context(CL_API_CALL *cl_api_clCreateContextFromType)(
+ const cl_context_properties *properties, cl_device_type device_type,
+ void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *),
+ void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainContext)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainContext)(
+ cl_context context) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseContext)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseContext)(
+ cl_context context) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetContextInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetContextInfo)(
+ cl_context context, cl_context_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ // Command Queue APIs
+-typedef CL_API_ENTRY cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueue)(
++typedef cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueue)(
+ cl_context context, cl_device_id device,
+ cl_command_queue_properties properties,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_2_0
+
+-typedef CL_API_ENTRY
++typedef
+ cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueueWithProperties)(
+ cl_context /* context */, cl_device_id /* device */,
+ const cl_queue_properties * /* properties */,
+@@ -122,25 +122,25 @@ typedef void *cl_api_clCreateCommandQueueWithProperties;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)(
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)(
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetCommandQueueInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetCommandQueueInfo)(
+ cl_command_queue command_queue, cl_command_queue_info param_name,
+ size_t param_value_size, void *param_value,
+ size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ // Memory Object APIs
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBuffer)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateBuffer)(
+ cl_context context, cl_mem_flags flags, size_t size, void *host_ptr,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateImage)(
+ cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
+ const cl_image_desc *image_desc, void *host_ptr,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+@@ -153,17 +153,17 @@ typedef void *cl_api_clCreateImage;
+
+ #ifdef CL_VERSION_3_0
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBufferWithProperties)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateBufferWithProperties)(
+ cl_context context, const cl_mem_properties *properties, cl_mem_flags flags,
+ size_t size, void *host_ptr,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImageWithProperties)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateImageWithProperties)(
+ cl_context context, const cl_mem_properties *properties, cl_mem_flags flags,
+ const cl_image_format *image_format, const cl_image_desc *image_desc,
+ void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL* cl_api_clSetContextDestructorCallback)(
++typedef cl_int(CL_API_CALL* cl_api_clSetContextDestructorCallback)(
+ cl_context context,
+ void(CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
+ void* user_data) CL_API_SUFFIX__VERSION_3_0;
+@@ -176,43 +176,43 @@ typedef void *cl_api_clSetContextDestructorCallback;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainMemObject)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainMemObject)(
+ cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseMemObject)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseMemObject)(
+ cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSupportedImageFormats)(
++typedef cl_int(CL_API_CALL *cl_api_clGetSupportedImageFormats)(
+ cl_context context, cl_mem_flags flags, cl_mem_object_type image_type,
+ cl_uint num_entries, cl_image_format *image_formats,
+ cl_uint *num_image_formats) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetMemObjectInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetMemObjectInfo)(
+ cl_mem memobj, cl_mem_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetImageInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetImageInfo)(
+ cl_mem image, cl_image_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_2_0
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreatePipe)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreatePipe)(
+ cl_context /* context */, cl_mem_flags /* flags */,
+ cl_uint /* pipe_packet_size */, cl_uint /* pipe_max_packets */,
+ const cl_pipe_properties * /* properties */,
+ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPipeInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetPipeInfo)(
+ cl_mem /* pipe */, cl_pipe_info /* param_name */,
+ size_t /* param_value_size */, void * /* param_value */,
+ size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clSVMAlloc)(
++typedef void *(CL_API_CALL *cl_api_clSVMAlloc)(
+ cl_context /* context */, cl_svm_mem_flags /* flags */, size_t /* size */,
+ unsigned int /* alignment */)CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY void(CL_API_CALL *cl_api_clSVMFree)(
++typedef void(CL_API_CALL *cl_api_clSVMFree)(
+ cl_context /* context */,
+ void * /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0;
+
+@@ -226,24 +226,24 @@ typedef void *cl_api_clSVMFree;
+ #endif
+
+ // Sampler APIs
+-typedef CL_API_ENTRY cl_sampler(CL_API_CALL *cl_api_clCreateSampler)(
++typedef cl_sampler(CL_API_CALL *cl_api_clCreateSampler)(
+ cl_context context, cl_bool normalized_coords,
+ cl_addressing_mode addressing_mode, cl_filter_mode filter_mode,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainSampler)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainSampler)(
+ cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseSampler)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseSampler)(
+ cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSamplerInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetSamplerInfo)(
+ cl_sampler sampler, cl_sampler_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_2_0
+
+-typedef CL_API_ENTRY
++typedef
+ cl_sampler(CL_API_CALL *cl_api_clCreateSamplerWithProperties)(
+ cl_context /* context */,
+ const cl_sampler_properties * /* sampler_properties */,
+@@ -256,18 +256,18 @@ typedef void *cl_api_clCreateSamplerWithProperties;
+ #endif
+
+ // Program Object APIs
+-typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithSource)(
++typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithSource)(
+ cl_context context, cl_uint count, const char **strings,
+ const size_t *lengths, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithBinary)(
++typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithBinary)(
+ cl_context context, cl_uint num_devices, const cl_device_id *device_list,
+ const size_t *lengths, const unsigned char **binaries,
+ cl_int *binary_status, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY
++typedef
+ cl_program(CL_API_CALL *cl_api_clCreateProgramWithBuiltInKernels)(
+ cl_context context, cl_uint num_devices, const cl_device_id *device_list,
+ const char *kernel_names, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+@@ -278,13 +278,13 @@ typedef void *cl_api_clCreateProgramWithBuiltInKernels;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainProgram)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainProgram)(
+ cl_program program) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseProgram)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseProgram)(
+ cl_program program) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clBuildProgram)(
++typedef cl_int(CL_API_CALL *cl_api_clBuildProgram)(
+ cl_program program, cl_uint num_devices, const cl_device_id *device_list,
+ const char *options,
+ void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
+@@ -292,14 +292,14 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clBuildProgram)(
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCompileProgram)(
++typedef cl_int(CL_API_CALL *cl_api_clCompileProgram)(
+ cl_program program, cl_uint num_devices, const cl_device_id *device_list,
+ const char *options, cl_uint num_input_headers,
+ const cl_program *input_headers, const char **header_include_names,
+ void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
+ void *user_data) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clLinkProgram)(
++typedef cl_program(CL_API_CALL *cl_api_clLinkProgram)(
+ cl_context context, cl_uint num_devices, const cl_device_id *device_list,
+ const char *options, cl_uint num_input_programs,
+ const cl_program *input_programs,
+@@ -315,12 +315,12 @@ typedef void *cl_api_clLinkProgram;
+
+ #ifdef CL_VERSION_2_2
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clSetProgramSpecializationConstant)(
+ cl_program program, cl_uint spec_id, size_t spec_size,
+ const void *spec_value) CL_API_SUFFIX__VERSION_2_2;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetProgramReleaseCallback)(
++typedef cl_int(CL_API_CALL *cl_api_clSetProgramReleaseCallback)(
+ cl_program program,
+ void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
+ void *user_data) CL_API_SUFFIX__VERSION_2_2;
+@@ -334,7 +334,7 @@ typedef void *cl_api_clSetProgramReleaseCallback;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)(
++typedef cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)(
+ cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2;
+
+ #else
+@@ -343,41 +343,41 @@ typedef void *cl_api_clUnloadPlatformCompiler;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetProgramInfo)(
+ cl_program program, cl_program_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramBuildInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetProgramBuildInfo)(
+ cl_program program, cl_device_id device, cl_program_build_info param_name,
+ size_t param_value_size, void *param_value,
+ size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ // Kernel Object APIs
+-typedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCreateKernel)(
++typedef cl_kernel(CL_API_CALL *cl_api_clCreateKernel)(
+ cl_program program, const char *kernel_name,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateKernelsInProgram)(
++typedef cl_int(CL_API_CALL *cl_api_clCreateKernelsInProgram)(
+ cl_program program, cl_uint num_kernels, cl_kernel *kernels,
+ cl_uint *num_kernels_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainKernel)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainKernel)(
+ cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseKernel)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseKernel)(
+ cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArg)(
++typedef cl_int(CL_API_CALL *cl_api_clSetKernelArg)(
+ cl_kernel kernel, cl_uint arg_index, size_t arg_size,
+ const void *arg_value) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetKernelInfo)(
+ cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelArgInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetKernelArgInfo)(
+ cl_kernel kernel, cl_uint arg_indx, cl_kernel_arg_info param_name,
+ size_t param_value_size, void *param_value,
+ size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
+@@ -388,28 +388,28 @@ typedef void *cl_api_clGetKernelArgInfo;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelWorkGroupInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetKernelWorkGroupInfo)(
+ cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name,
+ size_t param_value_size, void *param_value,
+ size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_2_0
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArgSVMPointer)(
++typedef cl_int(CL_API_CALL *cl_api_clSetKernelArgSVMPointer)(
+ cl_kernel /* kernel */, cl_uint /* arg_index */,
+ const void * /* arg_value */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelExecInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clSetKernelExecInfo)(
+ cl_kernel /* kernel */, cl_kernel_exec_info /* param_name */,
+ size_t /* param_value_size */,
+ const void * /* param_value */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfoKHR)(
++typedef cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfoKHR)(
+ cl_kernel /* in_kernel */, cl_device_id /*in_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_EXT_SUFFIX__VERSION_2_0;
++ size_t * /*param_value_size_ret*/) CL_API_SUFFIX__VERSION_2_0;
+
+ #else
+
+@@ -420,33 +420,33 @@ typedef void *cl_api_clGetKernelSubGroupInfoKHR;
+ #endif
+
+ // Event Object APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clWaitForEvents)(
++typedef cl_int(CL_API_CALL *cl_api_clWaitForEvents)(
+ cl_uint num_events, const cl_event *event_list) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetEventInfo)(
+ cl_event event, cl_event_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event)
++typedef cl_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event)
+ CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event)
++typedef cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event)
+ CL_API_SUFFIX__VERSION_1_0;
+
+ // Profiling APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventProfilingInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetEventProfilingInfo)(
+ cl_event event, cl_profiling_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+ // Flush and Finish APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFlush)(
++typedef cl_int(CL_API_CALL *cl_api_clFlush)(
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFinish)(
++typedef cl_int(CL_API_CALL *cl_api_clFinish)(
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
+
+ // Enqueued Commands APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)(
+ cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
+ size_t offset, size_t cb, void *ptr, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+@@ -454,7 +454,7 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)(
+
+ #ifdef CL_VERSION_1_1
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBufferRect)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadBufferRect)(
+ cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
+ const size_t *buffer_origin, const size_t *host_origin,
+ const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch,
+@@ -468,7 +468,7 @@ typedef void *cl_api_clEnqueueReadBufferRect;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)(
+ cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write,
+ size_t offset, size_t cb, const void *ptr, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+@@ -476,7 +476,7 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)(
+
+ #ifdef CL_VERSION_1_1
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBufferRect)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteBufferRect)(
+ cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
+ const size_t *buffer_origin, const size_t *host_origin,
+ const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch,
+@@ -492,7 +492,7 @@ typedef void *cl_api_clEnqueueWriteBufferRect;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillBuffer)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueFillBuffer)(
+ cl_command_queue command_queue, cl_mem buffer, const void *pattern,
+ size_t pattern_size, size_t offset, size_t cb,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+@@ -504,7 +504,7 @@ typedef void *cl_api_clEnqueueFillBuffer;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)(
+ cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
+ size_t src_offset, size_t dst_offset, size_t cb,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+@@ -512,7 +512,7 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)(
+
+ #ifdef CL_VERSION_1_1
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferRect)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferRect)(
+ cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
+ const size_t *src_origin, const size_t *dst_origin, const size_t *region,
+ size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch,
+@@ -526,14 +526,14 @@ typedef void *cl_api_clEnqueueCopyBufferRect;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadImage)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadImage)(
+ cl_command_queue command_queue, cl_mem image, cl_bool blocking_read,
+ const size_t *origin, const size_t *region, size_t row_pitch,
+ size_t slice_pitch, void *ptr, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)(
+ cl_command_queue command_queue, cl_mem image, cl_bool blocking_write,
+ const size_t *origin, const size_t *region, size_t input_row_pitch,
+ size_t input_slice_pitch, const void *ptr, cl_uint num_events_in_wait_list,
+@@ -542,7 +542,7 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)(
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillImage)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueFillImage)(
+ cl_command_queue command_queue, cl_mem image, const void *fill_color,
+ const size_t origin[3], const size_t region[3],
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+@@ -554,45 +554,45 @@ typedef void *cl_api_clEnqueueFillImage;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImage)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyImage)(
+ cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image,
+ const size_t *src_origin, const size_t *dst_origin, const size_t *region,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImageToBuffer)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyImageToBuffer)(
+ cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer,
+ const size_t *src_origin, const size_t *region, size_t dst_offset,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferToImage)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferToImage)(
+ cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image,
+ size_t src_offset, const size_t *dst_origin, const size_t *region,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clEnqueueMapBuffer)(
++typedef void *(CL_API_CALL *cl_api_clEnqueueMapBuffer)(
+ cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map,
+ cl_map_flags map_flags, size_t offset, size_t cb,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clEnqueueMapImage)(
++typedef void *(CL_API_CALL *cl_api_clEnqueueMapImage)(
+ cl_command_queue command_queue, cl_mem image, cl_bool blocking_map,
+ cl_map_flags map_flags, const size_t *origin, const size_t *region,
+ size_t *image_row_pitch, size_t *image_slice_pitch,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueUnmapMemObject)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueUnmapMemObject)(
+ cl_command_queue command_queue, cl_mem memobj, void *mapped_ptr,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMigrateMemObjects)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueMigrateMemObjects)(
+ cl_command_queue command_queue, cl_uint num_mem_objects,
+ const cl_mem *mem_objects, cl_mem_migration_flags flags,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+@@ -604,19 +604,19 @@ typedef void *cl_api_clEnqueueMigrateMemObjects;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNDRangeKernel)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueNDRangeKernel)(
+ cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim,
+ const size_t *global_work_offset, const size_t *global_work_size,
+ const size_t *local_work_size, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueTask)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueTask)(
+ cl_command_queue command_queue, cl_kernel kernel,
+ cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)(
+ cl_command_queue command_queue, void(CL_CALLBACK *user_func)(void *),
+ void *args, size_t cb_args, cl_uint num_mem_objects, const cl_mem *mem_list,
+ const void **args_mem_loc, cl_uint num_events_in_wait_list,
+@@ -625,17 +625,17 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)(
+
+ #ifdef CL_VERSION_1_2
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarkerWithWaitList)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueMarkerWithWaitList)(
+ cl_command_queue command_queue, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrierWithWaitList)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueBarrierWithWaitList)(
+ cl_command_queue command_queue, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY void *(
++typedef void *(
+ CL_API_CALL *cl_api_clGetExtensionFunctionAddressForPlatform)(
+ cl_platform_id platform,
+ const char *function_name)CL_API_SUFFIX__VERSION_1_2;
+@@ -652,7 +652,7 @@ typedef void *cl_api_clGetExtensionFunctionAddressForPlatform;
+
+ #ifdef CL_VERSION_2_0
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)(
+ cl_command_queue /* command_queue */, cl_uint /* num_svm_pointers */,
+ void ** /* svm_pointers */,
+ void(CL_CALLBACK *pfn_free_func)(cl_command_queue /* queue */,
+@@ -663,28 +663,28 @@ typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)(
+ const cl_event * /* event_wait_list */,
+ cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemcpy)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemcpy)(
+ cl_command_queue /* command_queue */, cl_bool /* blocking_copy */,
+ void * /* dst_ptr */, const void * /* src_ptr */, size_t /* size */,
+ cl_uint /* num_events_in_wait_list */,
+ const cl_event * /* event_wait_list */,
+ cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemFill)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemFill)(
+ cl_command_queue /* command_queue */, void * /* svm_ptr */,
+ const void * /* pattern */, size_t /* pattern_size */, size_t /* size */,
+ cl_uint /* num_events_in_wait_list */,
+ const cl_event * /* event_wait_list */,
+ cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMap)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMap)(
+ cl_command_queue /* command_queue */, cl_bool /* blocking_map */,
+ cl_map_flags /* map_flags */, void * /* svm_ptr */, size_t /* size */,
+ cl_uint /* num_events_in_wait_list */,
+ const cl_event * /* event_wait_list */,
+ cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMUnmap)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMUnmap)(
+ cl_command_queue /* command_queue */, void * /* svm_ptr */,
+ cl_uint /* num_events_in_wait_list */,
+ const cl_event * /* event_wait_list */,
+@@ -701,119 +701,119 @@ typedef void *cl_api_clEnqueueSVMUnmap;
+ #endif
+
+ // Deprecated APIs
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetCommandQueueProperty)(
++typedef cl_int(CL_API_CALL *cl_api_clSetCommandQueueProperty)(
+ cl_command_queue command_queue, cl_command_queue_properties properties,
+ cl_bool enable, cl_command_queue_properties *old_properties)
+- CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED;
++ CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage2D)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateImage2D)(
+ cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
+ size_t image_width, size_t image_height, size_t image_row_pitch,
+- void *host_ptr, cl_int *errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage3D)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateImage3D)(
+ cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
+ size_t image_width, size_t image_height, size_t image_depth,
+ size_t image_row_pitch, size_t image_slice_pitch, void *host_ptr,
+- cl_int *errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void)
+- CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++typedef cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void)
++ CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarker)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueMarker)(
+ cl_command_queue command_queue,
+- cl_event *event) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ cl_event *event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)(
+ cl_command_queue command_queue, cl_uint num_events,
+- const cl_event *event_list) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++ const cl_event *event_list) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrier)(
+- cl_command_queue command_queue) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueBarrier)(
++ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+-typedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)(
+- const char *function_name)CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
++typedef void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)(
++ const char *function_name)CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+ // GL and other APIs
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLBuffer)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLBuffer)(
+ cl_context context, cl_mem_flags flags, cl_GLuint bufobj,
+ int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture)(
+ cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
+ cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture2D)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture2D)(
+ cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
+ cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture3D)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture3D)(
+ cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
+ cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLRenderbuffer)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLRenderbuffer)(
+ cl_context context, cl_mem_flags flags, cl_GLuint renderbuffer,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLObjectInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetGLObjectInfo)(
+ cl_mem memobj, cl_gl_object_type *gl_object_type,
+ cl_GLuint *gl_object_name) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLTextureInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetGLTextureInfo)(
+ cl_mem memobj, cl_gl_texture_info param_name, size_t param_value_size,
+ void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireGLObjects)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueAcquireGLObjects)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseGLObjects)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueReleaseGLObjects)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+ /* cl_khr_gl_sharing */
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLContextInfoKHR)(
++typedef cl_int(CL_API_CALL *cl_api_clGetGLContextInfoKHR)(
+ const cl_context_properties *properties, cl_gl_context_info param_name,
+ size_t param_value_size, void *param_value, size_t *param_value_size_ret);
+
+ /* cl_khr_gl_event */
+-typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromGLsyncKHR)(
++typedef cl_event(CL_API_CALL *cl_api_clCreateEventFromGLsyncKHR)(
+ cl_context context, cl_GLsync sync, cl_int *errcode_ret);
+
+ #if defined(_WIN32)
+
+ /* cl_khr_d3d10_sharing */
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D10KHR)(
++typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D10KHR)(
+ cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source,
+ void *d3d_object, cl_d3d10_device_set_khr d3d_device_set,
+ cl_uint num_entries, cl_device_id *devices,
+ cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10BufferKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10BufferKHR)(
+ cl_context context, cl_mem_flags flags, ID3D10Buffer *resource,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture2DKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture2DKHR)(
+ cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
+ UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture3DKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture3DKHR)(
+ cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
+ UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D10ObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D10ObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+@@ -848,32 +848,32 @@ extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR(
+ const cl_event *event_wait_list, cl_event *event);
+
+ /* cl_khr_d3d11_sharing */
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D11KHR)(
++typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D11KHR)(
+ cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source,
+ void *d3d_object, cl_d3d11_device_set_khr d3d_device_set,
+ cl_uint num_entries, cl_device_id *devices,
+ cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11BufferKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11BufferKHR)(
+ cl_context context, cl_mem_flags flags, ID3D11Buffer *resource,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture2DKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture2DKHR)(
+ cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
+ UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture3DKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture3DKHR)(
+ cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
+ UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D11ObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D11ObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+@@ -881,26 +881,26 @@ cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D11ObjectsKHR)(
+ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+ /* cl_khr_dx9_media_sharing */
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR)(
+ cl_platform_id platform, cl_uint num_media_adapters,
+ cl_dx9_media_adapter_type_khr *media_adapters_type, void *media_adapters,
+ cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries,
+ cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromDX9MediaSurfaceKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromDX9MediaSurfaceKHR)(
+ cl_context context, cl_mem_flags flags,
+ cl_dx9_media_adapter_type_khr adapter_type, void *surface_info,
+ cl_uint plane, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+@@ -987,29 +987,29 @@ typedef void *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR;
+
+ #ifdef CL_VERSION_1_1
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetEventCallback)(
++typedef cl_int(CL_API_CALL *cl_api_clSetEventCallback)(
+ cl_event /* event */, cl_int /* command_exec_callback_type */,
+ void(CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *),
+ void * /* user_data */) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateSubBuffer)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateSubBuffer)(
+ cl_mem /* buffer */, cl_mem_flags /* flags */,
+ cl_buffer_create_type /* buffer_create_type */,
+ const void * /* buffer_create_info */,
+ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY
++typedef
+ cl_int(CL_API_CALL *cl_api_clSetMemObjectDestructorCallback)(
+ cl_mem /* memobj */,
+ void(CL_CALLBACK * /*pfn_notify*/)(cl_mem /* memobj */,
+ void * /*user_data*/),
+ void * /*user_data */) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateUserEvent)(
++typedef cl_event(CL_API_CALL *cl_api_clCreateUserEvent)(
+ cl_context /* context */,
+ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)(
++typedef cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)(
+ cl_event /* event */,
+ cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1;
+
+@@ -1023,68 +1023,68 @@ typedef void *cl_api_clSetUserEventStatus;
+
+ #endif
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevicesEXT)(
++typedef cl_int(CL_API_CALL *cl_api_clCreateSubDevicesEXT)(
+ cl_device_id in_device,
+ const cl_device_partition_property_ext *partition_properties,
+ cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDeviceEXT)(
++typedef cl_int(CL_API_CALL *cl_api_clRetainDeviceEXT)(
+ cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDeviceEXT)(
++typedef cl_int(CL_API_CALL *cl_api_clReleaseDeviceEXT)(
+ cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
+
+ /* cl_khr_egl_image */
+-typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromEGLImageKHR)(
++typedef cl_mem(CL_API_CALL *cl_api_clCreateFromEGLImageKHR)(
+ cl_context context, CLeglDisplayKHR display, CLeglImageKHR image,
+ cl_mem_flags flags, const cl_egl_image_properties_khr *properties,
+ cl_int *errcode_ret);
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireEGLObjectsKHR)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueAcquireEGLObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list, cl_event *event);
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseEGLObjectsKHR)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueReleaseEGLObjectsKHR)(
+ cl_command_queue command_queue, cl_uint num_objects,
+ const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list, cl_event *event);
+
+ /* cl_khr_egl_event */
+-typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromEGLSyncKHR)(
++typedef cl_event(CL_API_CALL *cl_api_clCreateEventFromEGLSyncKHR)(
+ cl_context context, CLeglSyncKHR sync, CLeglDisplayKHR display,
+ cl_int *errcode_ret);
+
+ #ifdef CL_VERSION_2_1
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetDefaultDeviceCommandQueue)(
++typedef cl_int(CL_API_CALL *cl_api_clSetDefaultDeviceCommandQueue)(
+ cl_context context, cl_device_id device,
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_2_1;
+
+-typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithIL)(
++typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithIL)(
+ cl_context context, const void *il, size_t length,
+ cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfo)(
++typedef cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfo)(
+ 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_1;
+
+-typedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCloneKernel)(
++typedef cl_kernel(CL_API_CALL *cl_api_clCloneKernel)(
+ cl_kernel source_kernel, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMigrateMem)(
++typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMigrateMem)(
+ cl_command_queue command_queue, cl_uint num_svm_pointers,
+ const void **svm_pointers, const size_t *sizes,
+ cl_mem_migration_flags flags, cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event) CL_API_SUFFIX__VERSION_2_1;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceAndHostTimer)(
++typedef cl_int(CL_API_CALL *cl_api_clGetDeviceAndHostTimer)(
+ cl_device_id device, cl_ulong *device_timestamp,
+ cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
+
+-typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetHostTimer)(
++typedef cl_int(CL_API_CALL *cl_api_clGetHostTimer)(
+ cl_device_id device, cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
+
+ #else
+diff --git a/khronos-headers/CL/cl_layer.h b/khronos-headers/CL/cl_layer.h
+index b75e6bc..59dae75 100644
+--- a/khronos-headers/CL/cl_layer.h
++++ b/khronos-headers/CL/cl_layer.h
+@@ -36,7 +36,7 @@ clGetLayerInfo(cl_layer_info param_name,
+ void *param_value,
+ size_t *param_value_size_ret);
+
+-CL_API_ENTRY typedef cl_int
++typedef cl_int
+ (CL_API_CALL *pfn_clGetLayerInfo)(cl_layer_info param_name,
+ size_t param_value_size,
+ void *param_value,
+@@ -48,7 +48,7 @@ clInitLayer(cl_uint num_entries,
+ cl_uint *num_entries_ret,
+ const cl_icd_dispatch **layer_dispatch_ret);
+
+-CL_API_ENTRY typedef cl_int
++typedef cl_int
+ (CL_API_CALL *pfn_clInitLayer)(cl_uint num_entries,
+ const cl_icd_dispatch *target_dispatch,
+ cl_uint *num_entries_ret,
+diff --git a/khronos-headers/CL/cl_platform.h b/khronos-headers/CL/cl_platform.h
+index bed2370..8ae655d 100644
+--- a/khronos-headers/CL/cl_platform.h
++++ b/khronos-headers/CL/cl_platform.h
+@@ -24,13 +24,25 @@ extern "C" {
+ #endif
+
+ #if defined(_WIN32)
+- #define CL_API_ENTRY
+- #define CL_API_CALL __stdcall
+- #define CL_CALLBACK __stdcall
++ #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
+- #define CL_API_ENTRY
+- #define CL_API_CALL
+- #define CL_CALLBACK
++ #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
+
+ /*
+@@ -41,85 +53,94 @@ extern "C" {
+ * deprecation but is deprecated in versions later than 1.1.
+ */
+
+-#define CL_API_SUFFIX__VERSION_1_0
+-#define CL_EXT_SUFFIX__VERSION_1_0
+-#define CL_API_SUFFIX__VERSION_1_1
+-#define CL_EXT_SUFFIX__VERSION_1_1
+-#define CL_API_SUFFIX__VERSION_1_2
+-#define CL_EXT_SUFFIX__VERSION_1_2
+-#define CL_API_SUFFIX__VERSION_2_0
+-#define CL_EXT_SUFFIX__VERSION_2_0
+-#define CL_API_SUFFIX__VERSION_2_1
+-#define CL_EXT_SUFFIX__VERSION_2_1
+-#define CL_API_SUFFIX__VERSION_2_2
+-#define CL_EXT_SUFFIX__VERSION_2_2
+-#define CL_API_SUFFIX__VERSION_3_0
+-#define CL_EXT_SUFFIX__VERSION_3_0
+-#define CL_API_SUFFIX__EXPERIMENTAL
+-#define CL_EXT_SUFFIX__EXPERIMENTAL
++#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_EXT_SUFFIX_DEPRECATED __attribute__((deprecated))
+- #define CL_EXT_PREFIX_DEPRECATED
++ #define CL_API_SUFFIX_DEPRECATED __attribute__((deprecated))
++ #define CL_API_PREFIX_DEPRECATED
+ #elif defined(_WIN32)
+- #define CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX_DEPRECATED __declspec(deprecated)
++ #define CL_API_SUFFIX_DEPRECATED
++ #define CL_API_PREFIX_DEPRECATED __declspec(deprecated)
+ #else
+- #define CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX_DEPRECATED
++ #define CL_API_SUFFIX_DEPRECATED
++ #define CL_API_PREFIX_DEPRECATED
+ #endif
+
+ #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
+- #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_1_0_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_1_1_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_1_1_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_1_2_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_1_2_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_0_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_0_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_1_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_1_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_2_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_2_DEPRECATED
++ #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_EXT_SUFFIX__VERSION_2_2_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
+- #define CL_EXT_PREFIX__VERSION_2_2_DEPRECATED CL_EXT_PREFIX_DEPRECATED
++ #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))
+
++/* intptr_t is used in cl.h and provided by stddef.h in Visual C++, but not in clang */
++/* stdint.h was missing before Visual Studio 2010, include it for later versions and for clang */
++#if defined(__clang__) || _MSC_VER >= 1600
++ #include <stdint.h>
++#endif
++
+ /* scalar types */
+ typedef signed __int8 cl_char;
+ typedef unsigned __int8 cl_uchar;
+diff --git a/khronos-headers/CL/cl_va_api_media_sharing_intel.h b/khronos-headers/CL/cl_va_api_media_sharing_intel.h
+index 7c4a4ba..7ba2ec8 100644
+--- a/khronos-headers/CL/cl_va_api_media_sharing_intel.h
++++ b/khronos-headers/CL/cl_va_api_media_sharing_intel.h
+@@ -68,16 +68,16 @@ clGetDeviceIDsFromVA_APIMediaAdapterINTEL(
+ cl_va_api_device_set_intel media_adapter_set,
+ cl_uint num_entries,
+ cl_device_id* devices,
+- cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL * clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn)(
++typedef cl_int (CL_API_CALL * clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn)(
+ cl_platform_id platform,
+ cl_va_api_device_source_intel media_adapter_type,
+ void* media_adapter,
+ cl_va_api_device_set_intel media_adapter_set,
+ cl_uint num_entries,
+ cl_device_id* devices,
+- cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_mem CL_API_CALL
+ clCreateFromVA_APIMediaSurfaceINTEL(
+@@ -85,14 +85,14 @@ clCreateFromVA_APIMediaSurfaceINTEL(
+ cl_mem_flags flags,
+ VASurfaceID* surface,
+ cl_uint plane,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_mem (CL_API_CALL * clCreateFromVA_APIMediaSurfaceINTEL_fn)(
++typedef cl_mem (CL_API_CALL * clCreateFromVA_APIMediaSurfaceINTEL_fn)(
+ cl_context context,
+ cl_mem_flags flags,
+ VASurfaceID* surface,
+ cl_uint plane,
+- cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueAcquireVA_APIMediaSurfacesINTEL(
+@@ -101,15 +101,15 @@ clEnqueueAcquireVA_APIMediaSurfacesINTEL(
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+
+ extern CL_API_ENTRY cl_int CL_API_CALL
+ clEnqueueReleaseVA_APIMediaSurfacesINTEL(
+@@ -118,15 +118,15 @@ clEnqueueReleaseVA_APIMediaSurfacesINTEL(
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+
+-typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn)(
++typedef cl_int (CL_API_CALL *clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn)(
+ cl_command_queue command_queue,
+ cl_uint num_objects,
+ const cl_mem* mem_objects,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+- cl_event* event) CL_EXT_SUFFIX__VERSION_1_2;
++ cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+
+ #ifdef __cplusplus
+ }
+diff --git a/khronos-headers/CL/opencl.h b/khronos-headers/CL/opencl.h
+index 1c4e10c..ef8dd1e 100644
+--- a/khronos-headers/CL/opencl.h
++++ b/khronos-headers/CL/opencl.h
+@@ -1,5 +1,5 @@
+ /*******************************************************************************
+- * Copyright (c) 2008-2020 The Khronos Group Inc.
++ * Copyright (c) 2008-2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+@@ -23,7 +23,6 @@ extern "C" {
+
+ #include <CL/cl.h>
+ #include <CL/cl_gl.h>
+-#include <CL/cl_gl_ext.h>
+ #include <CL/cl_ext.h>
+
+ #ifdef __cplusplus
+diff --git a/ocl_interface.yaml b/ocl_interface.yaml
+index 1e80f16..43a0e59 100644
+--- a/ocl_interface.yaml
++++ b/ocl_interface.yaml
+@@ -674,18 +674,18 @@
+ const cl_device_partition_property_ext * /* properties */,
+ cl_uint /*num_entries*/,
+ cl_device_id * /*out_devices*/,
+- cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_uint * /*num_devices*/ ) CL_API_SUFFIX__VERSION_1_1;
+ 90: |-
+ CL_API_ENTRY cl_int CL_API_CALL
+- clRetainDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
++ clRetainDeviceEXT( cl_device_id /*device*/ ) CL_API_SUFFIX__VERSION_1_1;
+ 91: |-
+ CL_API_ENTRY cl_int CL_API_CALL
+- clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
++ clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_API_SUFFIX__VERSION_1_1;
+ 92: |-
+ CL_API_ENTRY cl_event CL_API_CALL
+ clCreateEventFromGLsyncKHR(cl_context /* context */,
+ cl_GLsync /* cl_GLsync */,
+- cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1;
++ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
+ 93: |-
+ CL_API_ENTRY cl_int CL_API_CALL
+ clCreateSubDevices(cl_device_id /* in_device */,
+@@ -1016,7 +1016,7 @@
+ const void * /*input_value*/,
+ size_t /*param_value_size*/,
+ void* /*param_value*/,
+- size_t* /*param_value_size_ret*/ ) CL_EXT_SUFFIX__VERSION_2_0;
++ size_t* /*param_value_size_ret*/ ) CL_API_SUFFIX__VERSION_2_0;
+ 137: |-
+ CL_API_ENTRY cl_kernel CL_API_CALL
+ clCloneKernel(cl_kernel /* source_kernel */,
+diff --git a/run_dummy_icd.c b/run_dummy_icd.c
+index 400c1b0..c064b19 100644
+--- a/run_dummy_icd.c
++++ b/run_dummy_icd.c
+@@ -39,7 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ # include <CL/cl_gl.h>
+ # include <CL/cl_egl.h>
+ # include <CL/cl_ext.h>
+-# include <CL/cl_gl_ext.h>
+ #pragma GCC diagnostic pop
+ #include <string.h>
+ #include "ocl_icd_debug.h"
+--
+2.31.1
+
diff --git a/source/l/ocl-icd/ocl-icd.SlackBuild b/source/l/ocl-icd/ocl-icd.SlackBuild
index 255da5964..c133142da 100755
--- a/source/l/ocl-icd/ocl-icd.SlackBuild
+++ b/source/l/ocl-icd/ocl-icd.SlackBuild
@@ -82,6 +82,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+zcat $CWD/0001-Updated-to-support-latest-Khronos-headers.patch.gz | patch -p1 --verbose || exit 1
+
if [ ! -r configure ]; then
if [ -x ./autogen.sh ]; then
NOCONFIGURE=1 ./autogen.sh