summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrice Videau <brice.videau@gmail.com>2023-05-09 11:50:05 -0500
committerGitHub <noreply@github.com>2023-05-09 09:50:05 -0700
commite049b16b5f157e2f28e7b5c301e71e1ccb3fe288 (patch)
tree0571d1808d42827e4516aabd9c07a0dfaf349096
parent4fdcfb0ae675f2f63a9add9552e0af62c2b4ed30 (diff)
downloadOpenCL-Headers-e049b16b5f157e2f28e7b5c301e71e1ccb3fe288.tar.gz
Define function types for prototype declaration (#230)
* Use function type definitions and use these to defines pointer types. * Add generated function type definitions. * Leverage function types in cl_icd.h. * Add missing include guards. * Cosmetic. * Add function pointer definitions for core APIs. * Use newly defined function pointers for core APIs. * Only use function types for icd dispatch table.
-rw-r--r--CL/cl_d3d10.h63
-rw-r--r--CL/cl_d3d11.h63
-rw-r--r--CL/cl_dx9_media_sharing.h81
-rw-r--r--CL/cl_egl.h36
-rw-r--r--CL/cl_ext.h693
-rw-r--r--CL/cl_function_types.h1184
-rw-r--r--CL/cl_gl.h108
-rw-r--r--CL/cl_icd.h1459
-rw-r--r--CL/cl_layer.h34
-rw-r--r--CL/cl_va_api_media_sharing_intel.h45
-rw-r--r--CMakeLists.txt3
-rw-r--r--scripts/cl_ext.h.mako20
-rw-r--r--scripts/cl_function_types.h.mako62
-rw-r--r--scripts/gen_headers.py12
14 files changed, 2251 insertions, 1612 deletions
diff --git a/CL/cl_d3d10.h b/CL/cl_d3d10.h
index 3d8fe13..8404644 100644
--- a/CL/cl_d3d10.h
+++ b/CL/cl_d3d10.h
@@ -97,56 +97,74 @@ typedef cl_uint cl_d3d10_device_set_khr;
#define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR 0x4018
-typedef cl_int (CL_API_CALL *
-clGetDeviceIDsFromD3D10KHR_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceIDsFromD3D10KHR_t(
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;
+ cl_uint* num_devices);
+
+typedef clGetDeviceIDsFromD3D10KHR_t *
+clGetDeviceIDsFromD3D10KHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D10BufferKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D10BufferKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D10Buffer* resource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateFromD3D10BufferKHR_t *
+clCreateFromD3D10BufferKHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D10Texture2DKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D10Texture2DKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D10Texture2D* resource,
UINT subresource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateFromD3D10Texture2DKHR_t *
+clCreateFromD3D10Texture2DKHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D10Texture3DKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D10Texture3DKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D10Texture3D* resource,
UINT subresource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireD3D10ObjectsKHR_fn)(
+typedef clCreateFromD3D10Texture3DKHR_t *
+clCreateFromD3D10Texture3DKHR_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL
+clEnqueueAcquireD3D10ObjectsKHR_t(
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_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseD3D10ObjectsKHR_fn)(
+typedef clEnqueueAcquireD3D10ObjectsKHR_t *
+clEnqueueAcquireD3D10ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL
+clEnqueueReleaseD3D10ObjectsKHR_t(
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_event* event);
+
+typedef clEnqueueReleaseD3D10ObjectsKHR_t *
+clEnqueueReleaseD3D10ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -212,14 +230,17 @@ clEnqueueReleaseD3D10ObjectsKHR(
/* when cl_khr_d3d10_sharing is supported */
-typedef cl_int (CL_API_CALL *
-clGetSupportedD3D10TextureFormatsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetSupportedD3D10TextureFormatsINTEL_t(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint num_entries,
DXGI_FORMAT* d3d10_formats,
- cl_uint* num_texture_formats) ;
+ cl_uint* num_texture_formats);
+
+typedef clGetSupportedD3D10TextureFormatsINTEL_t *
+clGetSupportedD3D10TextureFormatsINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_d3d11.h b/CL/cl_d3d11.h
index 6a6af21..ade8795 100644
--- a/CL/cl_d3d11.h
+++ b/CL/cl_d3d11.h
@@ -97,56 +97,74 @@ typedef cl_uint cl_d3d11_device_set_khr;
#define CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR 0x4021
-typedef cl_int (CL_API_CALL *
-clGetDeviceIDsFromD3D11KHR_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceIDsFromD3D11KHR_t(
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;
+ cl_uint* num_devices);
+
+typedef clGetDeviceIDsFromD3D11KHR_t *
+clGetDeviceIDsFromD3D11KHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D11BufferKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D11BufferKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D11Buffer* resource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateFromD3D11BufferKHR_t *
+clCreateFromD3D11BufferKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D11Texture2DKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D11Texture2DKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D11Texture2D* resource,
UINT subresource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateFromD3D11Texture2DKHR_t *
+clCreateFromD3D11Texture2DKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_mem (CL_API_CALL *
-clCreateFromD3D11Texture3DKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromD3D11Texture3DKHR_t(
cl_context context,
cl_mem_flags flags,
ID3D11Texture3D* resource,
UINT subresource,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireD3D11ObjectsKHR_fn)(
+typedef clCreateFromD3D11Texture3DKHR_t *
+clCreateFromD3D11Texture3DKHR_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueAcquireD3D11ObjectsKHR_t(
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;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseD3D11ObjectsKHR_fn)(
+typedef clEnqueueAcquireD3D11ObjectsKHR_t *
+clEnqueueAcquireD3D11ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueReleaseD3D11ObjectsKHR_t(
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;
+ cl_event* event);
+
+typedef clEnqueueReleaseD3D11ObjectsKHR_t *
+clEnqueueReleaseD3D11ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -212,15 +230,18 @@ clEnqueueReleaseD3D11ObjectsKHR(
/* when cl_khr_d3d11_sharing is supported */
-typedef cl_int (CL_API_CALL *
-clGetSupportedD3D11TextureFormatsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetSupportedD3D11TextureFormatsINTEL_t(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint plane,
cl_uint num_entries,
DXGI_FORMAT* d3d11_formats,
- cl_uint* num_texture_formats) ;
+ cl_uint* num_texture_formats);
+
+typedef clGetSupportedD3D11TextureFormatsINTEL_t *
+clGetSupportedD3D11TextureFormatsINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_dx9_media_sharing.h b/CL/cl_dx9_media_sharing.h
index e7f8c45..c0df5c9 100644
--- a/CL/cl_dx9_media_sharing.h
+++ b/CL/cl_dx9_media_sharing.h
@@ -110,8 +110,8 @@ typedef struct _cl_dx9_surface_info_khr {
#define CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR 0x202C
-typedef cl_int (CL_API_CALL *
-clGetDeviceIDsFromDX9MediaAdapterKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceIDsFromDX9MediaAdapterKHR_t(
cl_platform_id platform,
cl_uint num_media_adapters,
cl_dx9_media_adapter_type_khr* media_adapter_type,
@@ -119,34 +119,46 @@ clGetDeviceIDsFromDX9MediaAdapterKHR_fn)(
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;
+ cl_uint* num_devices);
+
+typedef clGetDeviceIDsFromDX9MediaAdapterKHR_t *
+clGetDeviceIDsFromDX9MediaAdapterKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_mem (CL_API_CALL *
-clCreateFromDX9MediaSurfaceKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromDX9MediaSurfaceKHR_t(
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;
+ cl_int* errcode_ret);
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireDX9MediaSurfacesKHR_fn)(
+typedef clCreateFromDX9MediaSurfaceKHR_t *
+clCreateFromDX9MediaSurfaceKHR_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueAcquireDX9MediaSurfacesKHR_t(
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;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseDX9MediaSurfacesKHR_fn)(
+typedef clEnqueueAcquireDX9MediaSurfacesKHR_t *
+clEnqueueAcquireDX9MediaSurfacesKHR_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueReleaseDX9MediaSurfacesKHR_t(
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;
+ cl_event* event);
+
+typedef clEnqueueReleaseDX9MediaSurfacesKHR_t *
+clEnqueueReleaseDX9MediaSurfacesKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -232,42 +244,54 @@ typedef cl_uint cl_dx9_device_set_intel;
#define CL_COMMAND_RELEASE_DX9_OBJECTS_INTEL 0x402B
-typedef cl_int (CL_API_CALL *
-clGetDeviceIDsFromDX9INTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceIDsFromDX9INTEL_t(
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_API_SUFFIX__VERSION_1_1;
+ cl_uint* num_devices);
-typedef cl_mem (CL_API_CALL *
-clCreateFromDX9MediaSurfaceINTEL_fn)(
+typedef clGetDeviceIDsFromDX9INTEL_t *
+clGetDeviceIDsFromDX9INTEL_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_mem CL_API_CALL
+clCreateFromDX9MediaSurfaceINTEL_t(
cl_context context,
cl_mem_flags flags,
IDirect3DSurface9* resource,
HANDLE sharedHandle,
UINT plane,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
+ cl_int* errcode_ret);
+
+typedef clCreateFromDX9MediaSurfaceINTEL_t *
+clCreateFromDX9MediaSurfaceINTEL_fn CL_API_SUFFIX__VERSION_1_1;
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireDX9ObjectsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueAcquireDX9ObjectsINTEL_t(
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_1;
+ cl_event* event);
+
+typedef clEnqueueAcquireDX9ObjectsINTEL_t *
+clEnqueueAcquireDX9ObjectsINTEL_fn CL_API_SUFFIX__VERSION_1_1;
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseDX9ObjectsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueReleaseDX9ObjectsINTEL_t(
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_API_SUFFIX__VERSION_1_1;
+ cl_event* event);
+
+typedef clEnqueueReleaseDX9ObjectsINTEL_t *
+clEnqueueReleaseDX9ObjectsINTEL_fn CL_API_SUFFIX__VERSION_1_1;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -319,15 +343,18 @@ clEnqueueReleaseDX9ObjectsINTEL(
/* when cl_khr_dx9_media_sharing or cl_intel_dx9_media_sharing is supported */
-typedef cl_int (CL_API_CALL *
-clGetSupportedDX9MediaSurfaceFormatsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetSupportedDX9MediaSurfaceFormatsINTEL_t(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint plane,
cl_uint num_entries,
D3DFORMAT* dx9_formats,
- cl_uint* num_surface_formats) ;
+ cl_uint* num_surface_formats);
+
+typedef clGetSupportedDX9MediaSurfaceFormatsINTEL_t *
+clGetSupportedDX9MediaSurfaceFormatsINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_egl.h b/CL/cl_egl.h
index e2db902..25cd5e0 100644
--- a/CL/cl_egl.h
+++ b/CL/cl_egl.h
@@ -70,32 +70,41 @@ typedef void* CLeglDisplayKHR;
typedef intptr_t cl_egl_image_properties_khr;
-typedef cl_mem (CL_API_CALL *
-clCreateFromEGLImageKHR_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromEGLImageKHR_t(
cl_context context,
CLeglDisplayKHR egldisplay,
CLeglImageKHR eglimage,
cl_mem_flags flags,
const cl_egl_image_properties_khr* properties,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateFromEGLImageKHR_t *
+clCreateFromEGLImageKHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireEGLObjectsKHR_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueAcquireEGLObjectsKHR_t(
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_event* event);
+
+typedef clEnqueueAcquireEGLObjectsKHR_t *
+clEnqueueAcquireEGLObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseEGLObjectsKHR_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueReleaseEGLObjectsKHR_t(
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_event* event);
+
+typedef clEnqueueReleaseEGLObjectsKHR_t *
+clEnqueueReleaseEGLObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -142,12 +151,15 @@ clEnqueueReleaseEGLObjectsKHR(
typedef void* CLeglSyncKHR;
-typedef cl_event (CL_API_CALL *
-clCreateEventFromEGLSyncKHR_fn)(
+typedef cl_event CL_API_CALL
+clCreateEventFromEGLSyncKHR_t(
cl_context context,
CLeglSyncKHR sync,
CLeglDisplayKHR display,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateEventFromEGLSyncKHR_t *
+clCreateEventFromEGLSyncKHR_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_ext.h b/CL/cl_ext.h
index 12ebd04..a015cda 100644
--- a/CL/cl_ext.h
+++ b/CL/cl_ext.h
@@ -100,45 +100,63 @@ typedef struct _cl_mutable_command_khr* cl_mutable_command_khr;
#define CL_COMMAND_COMMAND_BUFFER_KHR 0x12A8
-typedef cl_command_buffer_khr (CL_API_CALL *
-clCreateCommandBufferKHR_fn)(
+typedef cl_command_buffer_khr CL_API_CALL
+clCreateCommandBufferKHR_t(
cl_uint num_queues,
const cl_command_queue* queues,
const cl_command_buffer_properties_khr* properties,
- cl_int* errcode_ret) ;
+ cl_int* errcode_ret);
-typedef cl_int (CL_API_CALL *
-clFinalizeCommandBufferKHR_fn)(
- cl_command_buffer_khr command_buffer) ;
+typedef clCreateCommandBufferKHR_t *
+clCreateCommandBufferKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clRetainCommandBufferKHR_fn)(
- cl_command_buffer_khr command_buffer) ;
+typedef cl_int CL_API_CALL
+clFinalizeCommandBufferKHR_t(
+ cl_command_buffer_khr command_buffer);
-typedef cl_int (CL_API_CALL *
-clReleaseCommandBufferKHR_fn)(
- cl_command_buffer_khr command_buffer) ;
+typedef clFinalizeCommandBufferKHR_t *
+clFinalizeCommandBufferKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clRetainCommandBufferKHR_t(
+ cl_command_buffer_khr command_buffer);
-typedef cl_int (CL_API_CALL *
-clEnqueueCommandBufferKHR_fn)(
+typedef clRetainCommandBufferKHR_t *
+clRetainCommandBufferKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clReleaseCommandBufferKHR_t(
+ cl_command_buffer_khr command_buffer);
+
+typedef clReleaseCommandBufferKHR_t *
+clReleaseCommandBufferKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clEnqueueCommandBufferKHR_t(
cl_uint num_queues,
cl_command_queue* queues,
cl_command_buffer_khr command_buffer,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
+
+typedef clEnqueueCommandBufferKHR_t *
+clEnqueueCommandBufferKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clCommandBarrierWithWaitListKHR_fn)(
+typedef cl_int CL_API_CALL
+clCommandBarrierWithWaitListKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
+
+typedef clCommandBarrierWithWaitListKHR_t *
+clCommandBarrierWithWaitListKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clCommandCopyBufferKHR_fn)(
+typedef cl_int CL_API_CALL
+clCommandCopyBufferKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem src_buffer,
@@ -149,10 +167,13 @@ clCommandCopyBufferKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
-typedef cl_int (CL_API_CALL *
-clCommandCopyBufferRectKHR_fn)(
+typedef clCommandCopyBufferKHR_t *
+clCommandCopyBufferKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clCommandCopyBufferRectKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem src_buffer,
@@ -167,10 +188,13 @@ clCommandCopyBufferRectKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
-typedef cl_int (CL_API_CALL *
-clCommandCopyBufferToImageKHR_fn)(
+typedef clCommandCopyBufferRectKHR_t *
+clCommandCopyBufferRectKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clCommandCopyBufferToImageKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem src_buffer,
@@ -181,10 +205,13 @@ clCommandCopyBufferToImageKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
+
+typedef clCommandCopyBufferToImageKHR_t *
+clCommandCopyBufferToImageKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clCommandCopyImageKHR_fn)(
+typedef cl_int CL_API_CALL
+clCommandCopyImageKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem src_image,
@@ -195,10 +222,13 @@ clCommandCopyImageKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
+
+typedef clCommandCopyImageKHR_t *
+clCommandCopyImageKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clCommandCopyImageToBufferKHR_fn)(
+typedef cl_int CL_API_CALL
+clCommandCopyImageToBufferKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem src_image,
@@ -209,10 +239,13 @@ clCommandCopyImageToBufferKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
+
+typedef clCommandCopyImageToBufferKHR_t *
+clCommandCopyImageToBufferKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clCommandFillBufferKHR_fn)(
+typedef cl_int CL_API_CALL
+clCommandFillBufferKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem buffer,
@@ -223,10 +256,13 @@ clCommandFillBufferKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
-typedef cl_int (CL_API_CALL *
-clCommandFillImageKHR_fn)(
+typedef clCommandFillBufferKHR_t *
+clCommandFillBufferKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clCommandFillImageKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
cl_mem image,
@@ -236,10 +272,13 @@ clCommandFillImageKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
-typedef cl_int (CL_API_CALL *
-clCommandNDRangeKernelKHR_fn)(
+typedef clCommandFillImageKHR_t *
+clCommandFillImageKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clCommandNDRangeKernelKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_queue command_queue,
const cl_ndrange_kernel_command_properties_khr* properties,
@@ -251,15 +290,21 @@ clCommandNDRangeKernelKHR_fn)(
cl_uint num_sync_points_in_wait_list,
const cl_sync_point_khr* sync_point_wait_list,
cl_sync_point_khr* sync_point,
- cl_mutable_command_khr* mutable_handle) ;
+ cl_mutable_command_khr* mutable_handle);
+
+typedef clCommandNDRangeKernelKHR_t *
+clCommandNDRangeKernelKHR_fn ;
-typedef cl_int (CL_API_CALL *
-clGetCommandBufferInfoKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetCommandBufferInfoKHR_t(
cl_command_buffer_khr command_buffer,
cl_command_buffer_info_khr param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
+
+typedef clGetCommandBufferInfoKHR_t *
+clGetCommandBufferInfoKHR_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -454,8 +499,8 @@ typedef cl_bitfield cl_platform_command_buffer_capabilities_khr;
#define CL_COMMAND_BUFFER_DEVICE_SIDE_SYNC_KHR (1 << 2)
-typedef cl_command_buffer_khr (CL_API_CALL *
-clRemapCommandBufferKHR_fn)(
+typedef cl_command_buffer_khr CL_API_CALL
+clRemapCommandBufferKHR_t(
cl_command_buffer_khr command_buffer,
cl_bool automatic,
cl_uint num_queues,
@@ -463,7 +508,10 @@ clRemapCommandBufferKHR_fn)(
cl_uint num_handles,
const cl_mutable_command_khr* handles,
cl_mutable_command_khr* handles_ret,
- cl_int* errcode_ret) ;
+ cl_int* errcode_ret);
+
+typedef clRemapCommandBufferKHR_t *
+clRemapCommandBufferKHR_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -557,18 +605,24 @@ typedef struct _cl_mutable_base_config_khr {
#define CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR 1
-typedef cl_int (CL_API_CALL *
-clUpdateMutableCommandsKHR_fn)(
+typedef cl_int CL_API_CALL
+clUpdateMutableCommandsKHR_t(
cl_command_buffer_khr command_buffer,
- const cl_mutable_base_config_khr* mutable_config) ;
+ const cl_mutable_base_config_khr* mutable_config);
-typedef cl_int (CL_API_CALL *
-clGetMutableCommandInfoKHR_fn)(
+typedef clUpdateMutableCommandsKHR_t *
+clUpdateMutableCommandsKHR_fn ;
+
+typedef cl_int CL_API_CALL
+clGetMutableCommandInfoKHR_t(
cl_mutable_command_khr command,
cl_mutable_command_info_khr param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
+
+typedef clGetMutableCommandInfoKHR_t *
+clGetMutableCommandInfoKHR_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -618,11 +672,14 @@ clGetMutableCommandInfoKHR(
"cl_APPLE_SetMemObjectDestructor"
-typedef cl_int (CL_API_CALL *
-clSetMemObjectDestructorAPPLE_fn)(
+typedef cl_int CL_API_CALL
+clSetMemObjectDestructorAPPLE_t(
cl_mem memobj,
void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
- void* user_data) CL_API_SUFFIX__VERSION_1_0;
+ void* user_data);
+
+typedef clSetMemObjectDestructorAPPLE_t *
+clSetMemObjectDestructorAPPLE_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -642,26 +699,35 @@ clSetMemObjectDestructorAPPLE(
"cl_APPLE_ContextLoggingFunctions"
-typedef void (CL_API_CALL *
-clLogMessagesToSystemLogAPPLE_fn)(
+typedef void CL_API_CALL
+clLogMessagesToSystemLogAPPLE_t(
const char* errstr,
const void* private_info,
size_t cb,
- void* user_data) CL_API_SUFFIX__VERSION_1_0;
+ void* user_data);
-typedef void (CL_API_CALL *
-clLogMessagesToStdoutAPPLE_fn)(
+typedef clLogMessagesToSystemLogAPPLE_t *
+clLogMessagesToSystemLogAPPLE_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef void CL_API_CALL
+clLogMessagesToStdoutAPPLE_t(
const char* errstr,
const void* private_info,
size_t cb,
- void* user_data) CL_API_SUFFIX__VERSION_1_0;
+ void* user_data);
+
+typedef clLogMessagesToStdoutAPPLE_t *
+clLogMessagesToStdoutAPPLE_fn CL_API_SUFFIX__VERSION_1_0;
-typedef void (CL_API_CALL *
-clLogMessagesToStderrAPPLE_fn)(
+typedef void CL_API_CALL
+clLogMessagesToStderrAPPLE_t(
const char* errstr,
const void* private_info,
size_t cb,
- void* user_data) CL_API_SUFFIX__VERSION_1_0;
+ void* user_data);
+
+typedef clLogMessagesToStderrAPPLE_t *
+clLogMessagesToStderrAPPLE_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -702,11 +768,14 @@ clLogMessagesToStderrAPPLE(
#define CL_PLATFORM_NOT_FOUND_KHR -1001
-typedef cl_int (CL_API_CALL *
-clIcdGetPlatformIDsKHR_fn)(
+typedef cl_int CL_API_CALL
+clIcdGetPlatformIDsKHR_t(
cl_uint num_entries,
cl_platform_id* platforms,
- cl_uint* num_platforms) ;
+ cl_uint* num_platforms);
+
+typedef clIcdGetPlatformIDsKHR_t *
+clIcdGetPlatformIDsKHR_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -732,12 +801,15 @@ clIcdGetPlatformIDsKHR(
#define CL_PROGRAM_IL_KHR 0x1169
-typedef cl_program (CL_API_CALL *
-clCreateProgramWithILKHR_fn)(
+typedef cl_program CL_API_CALL
+clCreateProgramWithILKHR_t(
cl_context context,
const void* il,
size_t length,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateProgramWithILKHR_t *
+clCreateProgramWithILKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -793,9 +865,12 @@ typedef cl_bitfield cl_device_terminate_capability_khr;
#define CL_CONTEXT_TERMINATED_KHR -1121
-typedef cl_int (CL_API_CALL *
-clTerminateContextKHR_fn)(
- cl_context context) CL_API_SUFFIX__VERSION_1_2;
+typedef cl_int CL_API_CALL
+clTerminateContextKHR_t(
+ cl_context context);
+
+typedef clTerminateContextKHR_t *
+clTerminateContextKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -828,12 +903,15 @@ clTerminateContextKHR(
typedef cl_properties cl_queue_properties_khr;
-typedef cl_command_queue (CL_API_CALL *
-clCreateCommandQueueWithPropertiesKHR_fn)(
+typedef cl_command_queue CL_API_CALL
+clCreateCommandQueueWithPropertiesKHR_t(
cl_context context,
cl_device_id device,
const cl_queue_properties_khr* properties,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateCommandQueueWithPropertiesKHR_t *
+clCreateCommandQueueWithPropertiesKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -944,21 +1022,30 @@ typedef cl_ulong cl_device_partition_property_ext;
#define CL_PARTITION_BY_NAMES_LIST_END_EXT ((cl_device_partition_property_ext)0 - 1)
-typedef cl_int (CL_API_CALL *
-clReleaseDeviceEXT_fn)(
- cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+typedef cl_int CL_API_CALL
+clReleaseDeviceEXT_t(
+ cl_device_id device);
-typedef cl_int (CL_API_CALL *
-clRetainDeviceEXT_fn)(
- cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
+typedef clReleaseDeviceEXT_t *
+clReleaseDeviceEXT_fn CL_API_SUFFIX__VERSION_1_1;
-typedef cl_int (CL_API_CALL *
-clCreateSubDevicesEXT_fn)(
+typedef cl_int CL_API_CALL
+clRetainDeviceEXT_t(
+ cl_device_id device);
+
+typedef clRetainDeviceEXT_t *
+clRetainDeviceEXT_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL
+clCreateSubDevicesEXT_t(
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_API_SUFFIX__VERSION_1_1;
+ cl_uint* num_devices);
+
+typedef clCreateSubDevicesEXT_t *
+clCreateSubDevicesEXT_fn CL_API_SUFFIX__VERSION_1_1;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -996,15 +1083,18 @@ typedef cl_bitfield cl_mem_migration_flags_ext;
#define CL_COMMAND_MIGRATE_MEM_OBJECT_EXT 0x4040
-typedef cl_int (CL_API_CALL *
-clEnqueueMigrateMemObjectEXT_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueMigrateMemObjectEXT_t(
cl_command_queue command_queue,
cl_uint num_mem_objects,
const cl_mem* mem_objects,
cl_mem_migration_flags_ext flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
+
+typedef clEnqueueMigrateMemObjectEXT_t *
+clEnqueueMigrateMemObjectEXT_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1061,8 +1151,8 @@ typedef struct _cl_mem_ext_host_ptr {
#define CL_MEM_HOST_WRITE_COMBINING_QCOM 0x40A7
-typedef cl_int (CL_API_CALL *
-clGetDeviceImageInfoQCOM_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceImageInfoQCOM_t(
cl_device_id device,
size_t image_width,
size_t image_height,
@@ -1070,7 +1160,10 @@ clGetDeviceImageInfoQCOM_fn)(
cl_image_pitch_info_qcom param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
+
+typedef clGetDeviceImageInfoQCOM_t *
+clGetDeviceImageInfoQCOM_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1171,23 +1264,29 @@ typedef struct _cl_mem_android_native_buffer_host_ptr {
#define CL_COMMAND_RELEASE_GRALLOC_OBJECTS_IMG 0x40D3
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireGrallocObjectsIMG_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueAcquireGrallocObjectsIMG_t(
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;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseGrallocObjectsIMG_fn)(
+typedef clEnqueueAcquireGrallocObjectsIMG_t *
+clEnqueueAcquireGrallocObjectsIMG_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueReleaseGrallocObjectsIMG_t(
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;
+ cl_event* event);
+
+typedef clEnqueueReleaseGrallocObjectsIMG_t *
+clEnqueueReleaseGrallocObjectsIMG_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1228,8 +1327,8 @@ typedef cl_uint cl_mipmap_filter_mode_img;
#define CL_COMMAND_GENERATE_MIPMAP_IMG 0x40D6
-typedef cl_int (CL_API_CALL *
-clEnqueueGenerateMipmapIMG_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueGenerateMipmapIMG_t(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_image,
@@ -1238,7 +1337,10 @@ clEnqueueGenerateMipmapIMG_fn)(
const size_t* mip_region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueGenerateMipmapIMG_t *
+clEnqueueGenerateMipmapIMG_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1287,8 +1389,8 @@ typedef cl_uint cl_kernel_sub_group_info;
#define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR 0x2034
-typedef cl_int (CL_API_CALL *
-clGetKernelSubGroupInfoKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetKernelSubGroupInfoKHR_t(
cl_kernel in_kernel,
cl_device_id in_device,
cl_kernel_sub_group_info param_name,
@@ -1296,7 +1398,10 @@ clGetKernelSubGroupInfoKHR_fn)(
const void* input_value,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
+ size_t* param_value_size_ret);
+
+typedef clGetKernelSubGroupInfoKHR_t *
+clGetKernelSubGroupInfoKHR_fn CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1457,14 +1562,17 @@ typedef struct _cl_device_pci_bus_info_khr {
"cl_khr_suggested_local_work_size"
-typedef cl_int (CL_API_CALL *
-clGetKernelSuggestedLocalWorkSizeKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetKernelSuggestedLocalWorkSizeKHR_t(
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;
+ size_t* suggested_local_work_size);
+
+typedef clGetKernelSuggestedLocalWorkSizeKHR_t *
+clGetKernelSuggestedLocalWorkSizeKHR_fn CL_API_SUFFIX__VERSION_3_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1529,23 +1637,29 @@ typedef cl_uint cl_external_memory_handle_type_khr;
#define CL_COMMAND_RELEASE_EXTERNAL_MEM_OBJECTS_KHR 0x2048
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireExternalMemObjectsKHR_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueAcquireExternalMemObjectsKHR_t(
cl_command_queue command_queue,
cl_uint num_mem_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_3_0;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseExternalMemObjectsKHR_fn)(
+typedef clEnqueueAcquireExternalMemObjectsKHR_t *
+clEnqueueAcquireExternalMemObjectsKHR_fn CL_API_SUFFIX__VERSION_3_0;
+
+typedef cl_int CL_API_CALL
+clEnqueueReleaseExternalMemObjectsKHR_t(
cl_command_queue command_queue,
cl_uint num_mem_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_3_0;
+ cl_event* event);
+
+typedef clEnqueueReleaseExternalMemObjectsKHR_t *
+clEnqueueReleaseExternalMemObjectsKHR_fn CL_API_SUFFIX__VERSION_3_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1636,14 +1750,17 @@ typedef cl_uint cl_external_semaphore_handle_type_khr;
#define CL_SEMAPHORE_EXPORT_HANDLE_TYPES_LIST_END_KHR 0
-typedef cl_int (CL_API_CALL *
-clGetSemaphoreHandleForTypeKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetSemaphoreHandleForTypeKHR_t(
cl_semaphore_khr sema_object,
cl_device_id device,
cl_external_semaphore_handle_type_khr handle_type,
size_t handle_size,
void* handle_ptr,
- size_t* handle_size_ret) CL_API_SUFFIX__VERSION_1_2;
+ size_t* handle_size_ret);
+
+typedef clGetSemaphoreHandleForTypeKHR_t *
+clGetSemaphoreHandleForTypeKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1740,47 +1857,65 @@ typedef cl_ulong cl_semaphore_payload_khr;
#define CL_INVALID_SEMAPHORE_KHR -1142
-typedef cl_semaphore_khr (CL_API_CALL *
-clCreateSemaphoreWithPropertiesKHR_fn)(
+typedef cl_semaphore_khr CL_API_CALL
+clCreateSemaphoreWithPropertiesKHR_t(
cl_context context,
const cl_semaphore_properties_khr* sema_props,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateSemaphoreWithPropertiesKHR_t *
+clCreateSemaphoreWithPropertiesKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueWaitSemaphoresKHR_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueWaitSemaphoresKHR_t(
cl_command_queue command_queue,
cl_uint num_sema_objects,
const cl_semaphore_khr* sema_objects,
const cl_semaphore_payload_khr* sema_payload_list,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueWaitSemaphoresKHR_t *
+clEnqueueWaitSemaphoresKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueSignalSemaphoresKHR_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueSignalSemaphoresKHR_t(
cl_command_queue command_queue,
cl_uint num_sema_objects,
const cl_semaphore_khr* sema_objects,
const cl_semaphore_payload_khr* sema_payload_list,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueSignalSemaphoresKHR_t *
+clEnqueueSignalSemaphoresKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clGetSemaphoreInfoKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetSemaphoreInfoKHR_t(
cl_semaphore_khr sema_object,
cl_semaphore_info_khr param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
+ size_t* param_value_size_ret);
-typedef cl_int (CL_API_CALL *
-clReleaseSemaphoreKHR_fn)(
- cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
+typedef clGetSemaphoreInfoKHR_t *
+clGetSemaphoreInfoKHR_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clRetainSemaphoreKHR_fn)(
- cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
+typedef cl_int CL_API_CALL
+clReleaseSemaphoreKHR_t(
+ cl_semaphore_khr sema_object);
+
+typedef clReleaseSemaphoreKHR_t *
+clReleaseSemaphoreKHR_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clRetainSemaphoreKHR_t(
+ cl_semaphore_khr sema_object);
+
+typedef clRetainSemaphoreKHR_t *
+clRetainSemaphoreKHR_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1849,14 +1984,17 @@ typedef intptr_t cl_import_properties_arm;
#define CL_IMPORT_ANDROID_HARDWARE_BUFFER_LAYER_INDEX_ARM 0x41F0
-typedef cl_mem (CL_API_CALL *
-clImportMemoryARM_fn)(
+typedef cl_mem CL_API_CALL
+clImportMemoryARM_t(
cl_context context,
cl_mem_flags flags,
const cl_import_properties_arm* properties,
void* memory,
size_t size,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clImportMemoryARM_t *
+clImportMemoryARM_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -1910,20 +2048,26 @@ typedef cl_bitfield cl_device_svm_capabilities_arm;
#define CL_MEM_SVM_ATOMICS_ARM (1 << 11)
-typedef void* (CL_API_CALL *
-clSVMAllocARM_fn)(
+typedef void* CL_API_CALL
+clSVMAllocARM_t(
cl_context context,
cl_svm_mem_flags_arm flags,
size_t size,
- cl_uint alignment) CL_API_SUFFIX__VERSION_1_2;
+ cl_uint alignment);
+
+typedef clSVMAllocARM_t *
+clSVMAllocARM_fn CL_API_SUFFIX__VERSION_1_2;
-typedef void (CL_API_CALL *
-clSVMFreeARM_fn)(
+typedef void CL_API_CALL
+clSVMFreeARM_t(
cl_context context,
- void* svm_pointer) CL_API_SUFFIX__VERSION_1_2;
+ void* svm_pointer);
-typedef cl_int (CL_API_CALL *
-clEnqueueSVMFreeARM_fn)(
+typedef clSVMFreeARM_t *
+clSVMFreeARM_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueSVMFreeARM_t(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
void* svm_pointers[],
@@ -1931,10 +2075,13 @@ clEnqueueSVMFreeARM_fn)(
void* user_data,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueSVMMemcpyARM_fn)(
+typedef clEnqueueSVMFreeARM_t *
+clEnqueueSVMFreeARM_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueSVMMemcpyARM_t(
cl_command_queue command_queue,
cl_bool blocking_copy,
void* dst_ptr,
@@ -1942,10 +2089,13 @@ clEnqueueSVMMemcpyARM_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueSVMMemcpyARM_t *
+clEnqueueSVMMemcpyARM_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueSVMMemFillARM_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueSVMMemFillARM_t(
cl_command_queue command_queue,
void* svm_ptr,
const void* pattern,
@@ -1953,10 +2103,13 @@ clEnqueueSVMMemFillARM_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueSVMMemFillARM_t *
+clEnqueueSVMMemFillARM_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueSVMMapARM_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueSVMMapARM_t(
cl_command_queue command_queue,
cl_bool blocking_map,
cl_map_flags flags,
@@ -1964,28 +2117,40 @@ clEnqueueSVMMapARM_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
+
+typedef clEnqueueSVMMapARM_t *
+clEnqueueSVMMapARM_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueSVMUnmapARM_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueSVMUnmapARM_t(
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_API_SUFFIX__VERSION_1_2;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clSetKernelArgSVMPointerARM_fn)(
+typedef clEnqueueSVMUnmapARM_t *
+clEnqueueSVMUnmapARM_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clSetKernelArgSVMPointerARM_t(
cl_kernel kernel,
cl_uint arg_index,
- const void* arg_value) CL_API_SUFFIX__VERSION_1_2;
+ const void* arg_value);
-typedef cl_int (CL_API_CALL *
-clSetKernelExecInfoARM_fn)(
+typedef clSetKernelArgSVMPointerARM_t *
+clSetKernelArgSVMPointerARM_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clSetKernelExecInfoARM_t(
cl_kernel kernel,
cl_kernel_exec_info_arm param_name,
size_t param_value_size,
- const void* param_value) CL_API_SUFFIX__VERSION_1_2;
+ const void* param_value);
+
+typedef clSetKernelExecInfoARM_t *
+clSetKernelExecInfoARM_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2237,29 +2402,41 @@ typedef cl_uint cl_accelerator_info_intel;
#define CL_ACCELERATOR_TYPE_NOT_SUPPORTED_INTEL -1097
-typedef cl_accelerator_intel (CL_API_CALL *
-clCreateAcceleratorINTEL_fn)(
+typedef cl_accelerator_intel CL_API_CALL
+clCreateAcceleratorINTEL_t(
cl_context context,
cl_accelerator_type_intel accelerator_type,
size_t descriptor_size,
const void* descriptor,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
+
+typedef clCreateAcceleratorINTEL_t *
+clCreateAcceleratorINTEL_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clGetAcceleratorInfoINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetAcceleratorInfoINTEL_t(
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_API_SUFFIX__VERSION_1_2;
+ size_t* param_value_size_ret);
-typedef cl_int (CL_API_CALL *
-clRetainAcceleratorINTEL_fn)(
- cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+typedef clGetAcceleratorInfoINTEL_t *
+clGetAcceleratorInfoINTEL_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clReleaseAcceleratorINTEL_fn)(
- cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
+typedef cl_int CL_API_CALL
+clRetainAcceleratorINTEL_t(
+ cl_accelerator_intel accelerator);
+
+typedef clRetainAcceleratorINTEL_t *
+clRetainAcceleratorINTEL_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clReleaseAcceleratorINTEL_t(
+ cl_accelerator_intel accelerator);
+
+typedef clReleaseAcceleratorINTEL_t *
+clReleaseAcceleratorINTEL_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2682,59 +2859,80 @@ typedef cl_uint cl_mem_advice_intel;
#define CL_COMMAND_MEMADVISE_INTEL 0x4207
-typedef void* (CL_API_CALL *
-clHostMemAllocINTEL_fn)(
+typedef void* CL_API_CALL
+clHostMemAllocINTEL_t(
cl_context context,
const cl_mem_properties_intel* properties,
size_t size,
cl_uint alignment,
- cl_int* errcode_ret) ;
+ cl_int* errcode_ret);
-typedef void* (CL_API_CALL *
-clDeviceMemAllocINTEL_fn)(
+typedef clHostMemAllocINTEL_t *
+clHostMemAllocINTEL_fn ;
+
+typedef void* CL_API_CALL
+clDeviceMemAllocINTEL_t(
cl_context context,
cl_device_id device,
const cl_mem_properties_intel* properties,
size_t size,
cl_uint alignment,
- cl_int* errcode_ret) ;
+ cl_int* errcode_ret);
-typedef void* (CL_API_CALL *
-clSharedMemAllocINTEL_fn)(
+typedef clDeviceMemAllocINTEL_t *
+clDeviceMemAllocINTEL_fn ;
+
+typedef void* CL_API_CALL
+clSharedMemAllocINTEL_t(
cl_context context,
cl_device_id device,
const cl_mem_properties_intel* properties,
size_t size,
cl_uint alignment,
- cl_int* errcode_ret) ;
+ cl_int* errcode_ret);
+
+typedef clSharedMemAllocINTEL_t *
+clSharedMemAllocINTEL_fn ;
-typedef cl_int (CL_API_CALL *
-clMemFreeINTEL_fn)(
+typedef cl_int CL_API_CALL
+clMemFreeINTEL_t(
cl_context context,
- void* ptr) ;
+ void* ptr);
+
+typedef clMemFreeINTEL_t *
+clMemFreeINTEL_fn ;
-typedef cl_int (CL_API_CALL *
-clMemBlockingFreeINTEL_fn)(
+typedef cl_int CL_API_CALL
+clMemBlockingFreeINTEL_t(
cl_context context,
- void* ptr) ;
+ void* ptr);
+
+typedef clMemBlockingFreeINTEL_t *
+clMemBlockingFreeINTEL_fn ;
-typedef cl_int (CL_API_CALL *
-clGetMemAllocInfoINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetMemAllocInfoINTEL_t(
cl_context context,
const void* ptr,
cl_mem_info_intel param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
-typedef cl_int (CL_API_CALL *
-clSetKernelArgMemPointerINTEL_fn)(
+typedef clGetMemAllocInfoINTEL_t *
+clGetMemAllocInfoINTEL_fn ;
+
+typedef cl_int CL_API_CALL
+clSetKernelArgMemPointerINTEL_t(
cl_kernel kernel,
cl_uint arg_index,
- const void* arg_value) ;
+ const void* arg_value);
-typedef cl_int (CL_API_CALL *
-clEnqueueMemFillINTEL_fn)(
+typedef clSetKernelArgMemPointerINTEL_t *
+clSetKernelArgMemPointerINTEL_fn ;
+
+typedef cl_int CL_API_CALL
+clEnqueueMemFillINTEL_t(
cl_command_queue command_queue,
void* dst_ptr,
const void* pattern,
@@ -2742,10 +2940,13 @@ clEnqueueMemFillINTEL_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueMemcpyINTEL_fn)(
+typedef clEnqueueMemFillINTEL_t *
+clEnqueueMemFillINTEL_fn ;
+
+typedef cl_int CL_API_CALL
+clEnqueueMemcpyINTEL_t(
cl_command_queue command_queue,
cl_bool blocking,
void* dst_ptr,
@@ -2753,17 +2954,23 @@ clEnqueueMemcpyINTEL_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueMemAdviseINTEL_fn)(
+typedef clEnqueueMemcpyINTEL_t *
+clEnqueueMemcpyINTEL_fn ;
+
+typedef cl_int CL_API_CALL
+clEnqueueMemAdviseINTEL_t(
cl_command_queue command_queue,
const void* ptr,
size_t size,
cl_mem_advice_intel advice,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
+
+typedef clEnqueueMemAdviseINTEL_t *
+clEnqueueMemAdviseINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2855,15 +3062,18 @@ clEnqueueMemAdviseINTEL(
#if defined(CL_VERSION_1_2)
/* Requires OpenCL 1.2 for cl_mem_migration_flags: */
-typedef cl_int (CL_API_CALL *
-clEnqueueMigrateMemINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueMigrateMemINTEL_t(
cl_command_queue command_queue,
const void* ptr,
size_t size,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
+
+typedef clEnqueueMigrateMemINTEL_t *
+clEnqueueMigrateMemINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2883,15 +3093,18 @@ clEnqueueMigrateMemINTEL(
/* deprecated, use clEnqueueMemFillINTEL instead */
-typedef cl_int (CL_API_CALL *
-clEnqueueMemsetINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueMemsetINTEL_t(
cl_command_queue command_queue,
void* dst_ptr,
cl_int value,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) ;
+ cl_event* event);
+
+typedef clEnqueueMemsetINTEL_t *
+clEnqueueMemsetINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2930,14 +3143,17 @@ clEnqueueMemsetINTEL(
/* type cl_mem_properties_intel */
-typedef cl_mem (CL_API_CALL *
-clCreateBufferWithPropertiesINTEL_fn)(
+typedef cl_mem CL_API_CALL
+clCreateBufferWithPropertiesINTEL_t(
cl_context context,
const cl_mem_properties_intel* properties,
cl_mem_flags flags,
size_t size,
void* host_ptr,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateBufferWithPropertiesINTEL_t *
+clCreateBufferWithPropertiesINTEL_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -2968,8 +3184,8 @@ clCreateBufferWithPropertiesINTEL(
#define CL_PROGRAM_HOST_PIPE_NAMES_INTEL 0x4217
-typedef cl_int (CL_API_CALL *
-clEnqueueReadHostPipeINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueReadHostPipeINTEL_t(
cl_command_queue command_queue,
cl_program program,
const char* pipe_symbol,
@@ -2978,10 +3194,13 @@ clEnqueueReadHostPipeINTEL_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_0;
+ cl_event* event);
-typedef cl_int (CL_API_CALL *
-clEnqueueWriteHostPipeINTEL_fn)(
+typedef clEnqueueReadHostPipeINTEL_t *
+clEnqueueReadHostPipeINTEL_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL
+clEnqueueWriteHostPipeINTEL_t(
cl_command_queue command_queue,
cl_program program,
const char* pipe_symbol,
@@ -2990,7 +3209,10 @@ clEnqueueWriteHostPipeINTEL_fn)(
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
- cl_event* event) CL_API_SUFFIX__VERSION_1_0;
+ cl_event* event);
+
+typedef clEnqueueWriteHostPipeINTEL_t *
+clEnqueueWriteHostPipeINTEL_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -3124,8 +3346,8 @@ typedef cl_uint cl_image_requirements_info_ext;
/* Enqueued Commands APIs */
-typedef cl_int (CL_API_CALL *
-clGetImageRequirementsInfoEXT_fn)(
+typedef cl_int CL_API_CALL
+clGetImageRequirementsInfoEXT_t(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
@@ -3134,7 +3356,10 @@ clGetImageRequirementsInfoEXT_fn)(
cl_image_requirements_info_ext param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_3_0;
+ size_t* param_value_size_ret);
+
+typedef clGetImageRequirementsInfoEXT_t *
+clGetImageRequirementsInfoEXT_fn CL_API_SUFFIX__VERSION_3_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -3184,12 +3409,15 @@ typedef cl_uint cl_icdl_info;
#define CL_ICDL_VENDOR 4
-typedef cl_int (CL_API_CALL *
-clGetICDLoaderInfoOCLICD_fn)(
+typedef cl_int CL_API_CALL
+clGetICDLoaderInfoOCLICD_t(
cl_icdl_info param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
+
+typedef clGetICDLoaderInfoOCLICD_t *
+clGetICDLoaderInfoOCLICD_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -3256,10 +3484,13 @@ typedef cl_bitfield cl_device_fp_atomic_capabilities_ext;
"cl_pocl_content_size"
-typedef cl_int (CL_API_CALL *
-clSetContentSizeBufferPoCL_fn)(
+typedef cl_int CL_API_CALL
+clSetContentSizeBufferPoCL_t(
cl_mem buffer,
- cl_mem content_size_buffer) CL_API_SUFFIX__VERSION_1_0;
+ cl_mem content_size_buffer);
+
+typedef clSetContentSizeBufferPoCL_t *
+clSetContentSizeBufferPoCL_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_function_types.h b/CL/cl_function_types.h
new file mode 100644
index 0000000..124f53b
--- /dev/null
+++ b/CL/cl_function_types.h
@@ -0,0 +1,1184 @@
+/*
+ * Copyright (c) 2023 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * OpenCL is a trademark of Apple Inc. used under license by Khronos.
+ */
+
+#ifndef OPENCL_CL_FUNCTION_TYPES_H_
+#define OPENCL_CL_FUNCTION_TYPES_H_
+
+#include <CL/cl.h>
+
+typedef cl_int CL_API_CALL clGetPlatformIDs_t(
+ cl_uint num_entries,
+ cl_platform_id* platforms,
+ cl_uint* num_platforms);
+
+typedef clGetPlatformIDs_t *
+clGetPlatformIDs_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetPlatformInfo_t(
+ cl_platform_id platform,
+ cl_platform_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetPlatformInfo_t *
+clGetPlatformInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetDeviceIDs_t(
+ cl_platform_id platform,
+ cl_device_type device_type,
+ cl_uint num_entries,
+ cl_device_id* devices,
+ cl_uint* num_devices);
+
+typedef clGetDeviceIDs_t *
+clGetDeviceIDs_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetDeviceInfo_t(
+ cl_device_id device,
+ cl_device_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetDeviceInfo_t *
+clGetDeviceInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_context CL_API_CALL clCreateContext_t(
+ const cl_context_properties* properties,
+ cl_uint num_devices,
+ const cl_device_id* devices,
+ void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
+ void* user_data,
+ cl_int* errcode_ret);
+
+typedef clCreateContext_t *
+clCreateContext_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_context CL_API_CALL clCreateContextFromType_t(
+ const cl_context_properties* properties,
+ cl_device_type device_type,
+ void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
+ void* user_data,
+ cl_int* errcode_ret);
+
+typedef clCreateContextFromType_t *
+clCreateContextFromType_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainContext_t(
+ cl_context context);
+
+typedef clRetainContext_t *
+clRetainContext_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseContext_t(
+ cl_context context);
+
+typedef clReleaseContext_t *
+clReleaseContext_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetContextInfo_t(
+ cl_context context,
+ cl_context_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetContextInfo_t *
+clGetContextInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainCommandQueue_t(
+ cl_command_queue command_queue);
+
+typedef clRetainCommandQueue_t *
+clRetainCommandQueue_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseCommandQueue_t(
+ cl_command_queue command_queue);
+
+typedef clReleaseCommandQueue_t *
+clReleaseCommandQueue_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetCommandQueueInfo_t(
+ 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);
+
+typedef clGetCommandQueueInfo_t *
+clGetCommandQueueInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_mem CL_API_CALL clCreateBuffer_t(
+ cl_context context,
+ cl_mem_flags flags,
+ size_t size,
+ void* host_ptr,
+ cl_int* errcode_ret);
+
+typedef clCreateBuffer_t *
+clCreateBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainMemObject_t(
+ cl_mem memobj);
+
+typedef clRetainMemObject_t *
+clRetainMemObject_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseMemObject_t(
+ cl_mem memobj);
+
+typedef clReleaseMemObject_t *
+clReleaseMemObject_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetSupportedImageFormats_t(
+ 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);
+
+typedef clGetSupportedImageFormats_t *
+clGetSupportedImageFormats_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetMemObjectInfo_t(
+ cl_mem memobj,
+ cl_mem_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetMemObjectInfo_t *
+clGetMemObjectInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetImageInfo_t(
+ cl_mem image,
+ cl_image_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetImageInfo_t *
+clGetImageInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainSampler_t(
+ cl_sampler sampler);
+
+typedef clRetainSampler_t *
+clRetainSampler_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseSampler_t(
+ cl_sampler sampler);
+
+typedef clReleaseSampler_t *
+clReleaseSampler_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetSamplerInfo_t(
+ cl_sampler sampler,
+ cl_sampler_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetSamplerInfo_t *
+clGetSamplerInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_program CL_API_CALL clCreateProgramWithSource_t(
+ cl_context context,
+ cl_uint count,
+ const char** strings,
+ const size_t* lengths,
+ cl_int* errcode_ret);
+
+typedef clCreateProgramWithSource_t *
+clCreateProgramWithSource_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_program CL_API_CALL clCreateProgramWithBinary_t(
+ 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);
+
+typedef clCreateProgramWithBinary_t *
+clCreateProgramWithBinary_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainProgram_t(
+ cl_program program);
+
+typedef clRetainProgram_t *
+clRetainProgram_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseProgram_t(
+ cl_program program);
+
+typedef clReleaseProgram_t *
+clReleaseProgram_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clBuildProgram_t(
+ 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),
+ void* user_data);
+
+typedef clBuildProgram_t *
+clBuildProgram_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetProgramInfo_t(
+ cl_program program,
+ cl_program_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetProgramInfo_t *
+clGetProgramInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetProgramBuildInfo_t(
+ 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);
+
+typedef clGetProgramBuildInfo_t *
+clGetProgramBuildInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_kernel CL_API_CALL clCreateKernel_t(
+ cl_program program,
+ const char* kernel_name,
+ cl_int* errcode_ret);
+
+typedef clCreateKernel_t *
+clCreateKernel_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clCreateKernelsInProgram_t(
+ cl_program program,
+ cl_uint num_kernels,
+ cl_kernel* kernels,
+ cl_uint* num_kernels_ret);
+
+typedef clCreateKernelsInProgram_t *
+clCreateKernelsInProgram_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainKernel_t(
+ cl_kernel kernel);
+
+typedef clRetainKernel_t *
+clRetainKernel_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseKernel_t(
+ cl_kernel kernel);
+
+typedef clReleaseKernel_t *
+clReleaseKernel_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clSetKernelArg_t(
+ cl_kernel kernel,
+ cl_uint arg_index,
+ size_t arg_size,
+ const void* arg_value);
+
+typedef clSetKernelArg_t *
+clSetKernelArg_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetKernelInfo_t(
+ cl_kernel kernel,
+ cl_kernel_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetKernelInfo_t *
+clGetKernelInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetKernelWorkGroupInfo_t(
+ 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);
+
+typedef clGetKernelWorkGroupInfo_t *
+clGetKernelWorkGroupInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clWaitForEvents_t(
+ cl_uint num_events,
+ const cl_event* event_list);
+
+typedef clWaitForEvents_t *
+clWaitForEvents_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetEventInfo_t(
+ cl_event event,
+ cl_event_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetEventInfo_t *
+clGetEventInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clRetainEvent_t(
+ cl_event event);
+
+typedef clRetainEvent_t *
+clRetainEvent_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clReleaseEvent_t(
+ cl_event event);
+
+typedef clReleaseEvent_t *
+clReleaseEvent_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clGetEventProfilingInfo_t(
+ cl_event event,
+ cl_profiling_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetEventProfilingInfo_t *
+clGetEventProfilingInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clFlush_t(
+ cl_command_queue command_queue);
+
+typedef clFlush_t *
+clFlush_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clFinish_t(
+ cl_command_queue command_queue);
+
+typedef clFinish_t *
+clFinish_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueReadBuffer_t(
+ cl_command_queue command_queue,
+ cl_mem buffer,
+ cl_bool blocking_read,
+ size_t offset,
+ size_t size,
+ void* ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueReadBuffer_t *
+clEnqueueReadBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueWriteBuffer_t(
+ cl_command_queue command_queue,
+ cl_mem buffer,
+ cl_bool blocking_write,
+ size_t offset,
+ size_t size,
+ const void* ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueWriteBuffer_t *
+clEnqueueWriteBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueCopyBuffer_t(
+ cl_command_queue command_queue,
+ cl_mem src_buffer,
+ cl_mem dst_buffer,
+ size_t src_offset,
+ size_t dst_offset,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueCopyBuffer_t *
+clEnqueueCopyBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueReadImage_t(
+ 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);
+
+typedef clEnqueueReadImage_t *
+clEnqueueReadImage_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueWriteImage_t(
+ 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,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueWriteImage_t *
+clEnqueueWriteImage_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueCopyImage_t(
+ 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);
+
+typedef clEnqueueCopyImage_t *
+clEnqueueCopyImage_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueCopyImageToBuffer_t(
+ 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);
+
+typedef clEnqueueCopyImageToBuffer_t *
+clEnqueueCopyImageToBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueCopyBufferToImage_t(
+ 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);
+
+typedef clEnqueueCopyBufferToImage_t *
+clEnqueueCopyBufferToImage_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef void* CL_API_CALL clEnqueueMapBuffer_t(
+ cl_command_queue command_queue,
+ cl_mem buffer,
+ cl_bool blocking_map,
+ cl_map_flags map_flags,
+ size_t offset,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event,
+ cl_int* errcode_ret);
+
+typedef clEnqueueMapBuffer_t *
+clEnqueueMapBuffer_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef void* CL_API_CALL clEnqueueMapImage_t(
+ 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);
+
+typedef clEnqueueMapImage_t *
+clEnqueueMapImage_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueUnmapMemObject_t(
+ 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);
+
+typedef clEnqueueUnmapMemObject_t *
+clEnqueueUnmapMemObject_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueNDRangeKernel_t(
+ 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);
+
+typedef clEnqueueNDRangeKernel_t *
+clEnqueueNDRangeKernel_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clEnqueueNativeKernel_t(
+ 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,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueNativeKernel_t *
+clEnqueueNativeKernel_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL clSetCommandQueueProperty_t(
+ cl_command_queue command_queue,
+ cl_command_queue_properties properties,
+ cl_bool enable,
+ cl_command_queue_properties* old_properties);
+
+typedef clSetCommandQueueProperty_t *
+clSetCommandQueueProperty_fn CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
+
+typedef cl_mem CL_API_CALL clCreateImage2D_t(
+ 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);
+
+typedef clCreateImage2D_t *
+clCreateImage2D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_mem CL_API_CALL clCreateImage3D_t(
+ 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);
+
+typedef clCreateImage3D_t *
+clCreateImage3D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_int CL_API_CALL clEnqueueMarker_t(
+ cl_command_queue command_queue,
+ cl_event* event);
+
+typedef clEnqueueMarker_t *
+clEnqueueMarker_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_int CL_API_CALL clEnqueueWaitForEvents_t(
+ cl_command_queue command_queue,
+ cl_uint num_events,
+ const cl_event* event_list);
+
+typedef clEnqueueWaitForEvents_t *
+clEnqueueWaitForEvents_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_int CL_API_CALL clEnqueueBarrier_t(
+ cl_command_queue command_queue);
+
+typedef clEnqueueBarrier_t *
+clEnqueueBarrier_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_int CL_API_CALL clUnloadCompiler_t(
+ void );
+
+typedef clUnloadCompiler_t *
+clUnloadCompiler_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef void* CL_API_CALL clGetExtensionFunctionAddress_t(
+ const char* func_name);
+
+typedef clGetExtensionFunctionAddress_t *
+clGetExtensionFunctionAddress_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
+
+typedef cl_command_queue CL_API_CALL clCreateCommandQueue_t(
+ cl_context context,
+ cl_device_id device,
+ cl_command_queue_properties properties,
+ cl_int* errcode_ret);
+
+typedef clCreateCommandQueue_t *
+clCreateCommandQueue_fn CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+typedef cl_sampler CL_API_CALL clCreateSampler_t(
+ cl_context context,
+ cl_bool normalized_coords,
+ cl_addressing_mode addressing_mode,
+ cl_filter_mode filter_mode,
+ cl_int* errcode_ret);
+
+typedef clCreateSampler_t *
+clCreateSampler_fn CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+typedef cl_int CL_API_CALL clEnqueueTask_t(
+ cl_command_queue command_queue,
+ cl_kernel kernel,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueTask_t *
+clEnqueueTask_fn CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
+
+#ifdef CL_VERSION_1_1
+
+typedef cl_mem CL_API_CALL clCreateSubBuffer_t(
+ cl_mem buffer,
+ cl_mem_flags flags,
+ cl_buffer_create_type buffer_create_type,
+ const void* buffer_create_info,
+ cl_int* errcode_ret);
+
+typedef clCreateSubBuffer_t *
+clCreateSubBuffer_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clSetMemObjectDestructorCallback_t(
+ cl_mem memobj,
+ void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
+ void* user_data);
+
+typedef clSetMemObjectDestructorCallback_t *
+clSetMemObjectDestructorCallback_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_event CL_API_CALL clCreateUserEvent_t(
+ cl_context context,
+ cl_int* errcode_ret);
+
+typedef clCreateUserEvent_t *
+clCreateUserEvent_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clSetUserEventStatus_t(
+ cl_event event,
+ cl_int execution_status);
+
+typedef clSetUserEventStatus_t *
+clSetUserEventStatus_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clSetEventCallback_t(
+ cl_event event,
+ cl_int command_exec_callback_type,
+ void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data),
+ void* user_data);
+
+typedef clSetEventCallback_t *
+clSetEventCallback_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clEnqueueReadBufferRect_t(
+ 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,
+ size_t host_row_pitch,
+ size_t host_slice_pitch,
+ void* ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueReadBufferRect_t *
+clEnqueueReadBufferRect_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clEnqueueWriteBufferRect_t(
+ cl_command_queue command_queue,
+ cl_mem buffer,
+ cl_bool blocking_write,
+ const size_t* buffer_origin,
+ const size_t* host_origin,
+ const size_t* region,
+ size_t buffer_row_pitch,
+ size_t buffer_slice_pitch,
+ size_t host_row_pitch,
+ size_t host_slice_pitch,
+ const void* ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueWriteBufferRect_t *
+clEnqueueWriteBufferRect_fn CL_API_SUFFIX__VERSION_1_1;
+
+typedef cl_int CL_API_CALL clEnqueueCopyBufferRect_t(
+ 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,
+ size_t dst_slice_pitch,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueCopyBufferRect_t *
+clEnqueueCopyBufferRect_fn CL_API_SUFFIX__VERSION_1_1;
+
+#endif /* CL_VERSION_1_1 */
+
+#ifdef CL_VERSION_1_2
+
+typedef cl_int CL_API_CALL clCreateSubDevices_t(
+ cl_device_id in_device,
+ const cl_device_partition_property* properties,
+ cl_uint num_devices,
+ cl_device_id* out_devices,
+ cl_uint* num_devices_ret);
+
+typedef clCreateSubDevices_t *
+clCreateSubDevices_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clRetainDevice_t(
+ cl_device_id device);
+
+typedef clRetainDevice_t *
+clRetainDevice_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clReleaseDevice_t(
+ cl_device_id device);
+
+typedef clReleaseDevice_t *
+clReleaseDevice_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_mem CL_API_CALL clCreateImage_t(
+ 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);
+
+typedef clCreateImage_t *
+clCreateImage_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_program CL_API_CALL clCreateProgramWithBuiltInKernels_t(
+ cl_context context,
+ cl_uint num_devices,
+ const cl_device_id* device_list,
+ const char* kernel_names,
+ cl_int* errcode_ret);
+
+typedef clCreateProgramWithBuiltInKernels_t *
+clCreateProgramWithBuiltInKernels_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clCompileProgram_t(
+ 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);
+
+typedef clCompileProgram_t *
+clCompileProgram_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_program CL_API_CALL clLinkProgram_t(
+ 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,
+ void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
+ void* user_data,
+ cl_int* errcode_ret);
+
+typedef clLinkProgram_t *
+clLinkProgram_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clUnloadPlatformCompiler_t(
+ cl_platform_id platform);
+
+typedef clUnloadPlatformCompiler_t *
+clUnloadPlatformCompiler_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clGetKernelArgInfo_t(
+ cl_kernel kernel,
+ cl_uint arg_index,
+ cl_kernel_arg_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetKernelArgInfo_t *
+clGetKernelArgInfo_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clEnqueueFillBuffer_t(
+ cl_command_queue command_queue,
+ cl_mem buffer,
+ const void* pattern,
+ size_t pattern_size,
+ size_t offset,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueFillBuffer_t *
+clEnqueueFillBuffer_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clEnqueueFillImage_t(
+ cl_command_queue command_queue,
+ cl_mem image,
+ const void* fill_color,
+ const size_t* origin,
+ const size_t* region,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueFillImage_t *
+clEnqueueFillImage_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clEnqueueMigrateMemObjects_t(
+ 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,
+ cl_event* event);
+
+typedef clEnqueueMigrateMemObjects_t *
+clEnqueueMigrateMemObjects_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clEnqueueMarkerWithWaitList_t(
+ cl_command_queue command_queue,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueMarkerWithWaitList_t *
+clEnqueueMarkerWithWaitList_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL clEnqueueBarrierWithWaitList_t(
+ cl_command_queue command_queue,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueBarrierWithWaitList_t *
+clEnqueueBarrierWithWaitList_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef void* CL_API_CALL clGetExtensionFunctionAddressForPlatform_t(
+ cl_platform_id platform,
+ const char* func_name);
+
+typedef clGetExtensionFunctionAddressForPlatform_t *
+clGetExtensionFunctionAddressForPlatform_fn CL_API_SUFFIX__VERSION_1_2;
+
+#endif /* CL_VERSION_1_2 */
+
+#ifdef CL_VERSION_2_0
+
+typedef cl_command_queue CL_API_CALL clCreateCommandQueueWithProperties_t(
+ cl_context context,
+ cl_device_id device,
+ const cl_queue_properties* properties,
+ cl_int* errcode_ret);
+
+typedef clCreateCommandQueueWithProperties_t *
+clCreateCommandQueueWithProperties_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_mem CL_API_CALL clCreatePipe_t(
+ 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);
+
+typedef clCreatePipe_t *
+clCreatePipe_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clGetPipeInfo_t(
+ cl_mem pipe,
+ cl_pipe_info param_name,
+ size_t param_value_size,
+ void* param_value,
+ size_t* param_value_size_ret);
+
+typedef clGetPipeInfo_t *
+clGetPipeInfo_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef void* CL_API_CALL clSVMAlloc_t(
+ cl_context context,
+ cl_svm_mem_flags flags,
+ size_t size,
+ cl_uint alignment);
+
+typedef clSVMAlloc_t *
+clSVMAlloc_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef void CL_API_CALL clSVMFree_t(
+ cl_context context,
+ void* svm_pointer);
+
+typedef clSVMFree_t *
+clSVMFree_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_sampler CL_API_CALL clCreateSamplerWithProperties_t(
+ cl_context context,
+ const cl_sampler_properties* sampler_properties,
+ cl_int* errcode_ret);
+
+typedef clCreateSamplerWithProperties_t *
+clCreateSamplerWithProperties_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clSetKernelArgSVMPointer_t(
+ cl_kernel kernel,
+ cl_uint arg_index,
+ const void* arg_value);
+
+typedef clSetKernelArgSVMPointer_t *
+clSetKernelArgSVMPointer_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clSetKernelExecInfo_t(
+ cl_kernel kernel,
+ cl_kernel_exec_info param_name,
+ size_t param_value_size,
+ const void* param_value);
+
+typedef clSetKernelExecInfo_t *
+clSetKernelExecInfo_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clEnqueueSVMFree_t(
+ cl_command_queue command_queue,
+ cl_uint num_svm_pointers,
+ void* svm_pointers[],
+ void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data),
+ void* user_data,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueSVMFree_t *
+clEnqueueSVMFree_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clEnqueueSVMMemcpy_t(
+ 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);
+
+typedef clEnqueueSVMMemcpy_t *
+clEnqueueSVMMemcpy_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clEnqueueSVMMemFill_t(
+ 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);
+
+typedef clEnqueueSVMMemFill_t *
+clEnqueueSVMMemFill_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clEnqueueSVMMap_t(
+ cl_command_queue command_queue,
+ cl_bool blocking_map,
+ cl_map_flags flags,
+ void* svm_ptr,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueSVMMap_t *
+clEnqueueSVMMap_fn CL_API_SUFFIX__VERSION_2_0;
+
+typedef cl_int CL_API_CALL clEnqueueSVMUnmap_t(
+ cl_command_queue command_queue,
+ void* svm_ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event* event_wait_list,
+ cl_event* event);
+
+typedef clEnqueueSVMUnmap_t *
+clEnqueueSVMUnmap_fn CL_API_SUFFIX__VERSION_2_0;
+
+#endif /* CL_VERSION_2_0 */
+
+#ifdef CL_VERSION_2_1
+
+typedef cl_int CL_API_CALL clSetDefaultDeviceCommandQueue_t(
+ cl_context context,
+ cl_device_id device,
+ cl_command_queue command_queue);
+
+typedef clSetDefaultDeviceCommandQueue_t *
+clSetDefaultDeviceCommandQueue_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_int CL_API_CALL clGetDeviceAndHostTimer_t(
+ cl_device_id device,
+ cl_ulong* device_timestamp,
+ cl_ulong* host_timestamp);
+
+typedef clGetDeviceAndHostTimer_t *
+clGetDeviceAndHostTimer_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_int CL_API_CALL clGetHostTimer_t(
+ cl_device_id device,
+ cl_ulong* host_timestamp);
+
+typedef clGetHostTimer_t *
+clGetHostTimer_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_program CL_API_CALL clCreateProgramWithIL_t(
+ cl_context context,
+ const void* il,
+ size_t length,
+ cl_int* errcode_ret);
+
+typedef clCreateProgramWithIL_t *
+clCreateProgramWithIL_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_kernel CL_API_CALL clCloneKernel_t(
+ cl_kernel source_kernel,
+ cl_int* errcode_ret);
+
+typedef clCloneKernel_t *
+clCloneKernel_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_int CL_API_CALL clGetKernelSubGroupInfo_t(
+ 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);
+
+typedef clGetKernelSubGroupInfo_t *
+clGetKernelSubGroupInfo_fn CL_API_SUFFIX__VERSION_2_1;
+
+typedef cl_int CL_API_CALL clEnqueueSVMMigrateMem_t(
+ 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);
+
+typedef clEnqueueSVMMigrateMem_t *
+clEnqueueSVMMigrateMem_fn CL_API_SUFFIX__VERSION_2_1;
+
+#endif /* CL_VERSION_2_1 */
+
+#ifdef CL_VERSION_2_2
+
+typedef cl_int CL_API_CALL clSetProgramSpecializationConstant_t(
+ cl_program program,
+ cl_uint spec_id,
+ size_t spec_size,
+ const void* spec_value);
+
+typedef clSetProgramSpecializationConstant_t *
+clSetProgramSpecializationConstant_fn CL_API_SUFFIX__VERSION_2_2;
+
+typedef cl_int CL_API_CALL clSetProgramReleaseCallback_t(
+ cl_program program,
+ void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
+ void* user_data);
+
+typedef clSetProgramReleaseCallback_t *
+clSetProgramReleaseCallback_fn CL_API_SUFFIX__VERSION_2_2_DEPRECATED;
+
+#endif /* CL_VERSION_2_2 */
+
+#ifdef CL_VERSION_3_0
+
+typedef cl_int CL_API_CALL clSetContextDestructorCallback_t(
+ cl_context context,
+ void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
+ void* user_data);
+
+typedef clSetContextDestructorCallback_t *
+clSetContextDestructorCallback_fn CL_API_SUFFIX__VERSION_3_0;
+
+typedef cl_mem CL_API_CALL clCreateBufferWithProperties_t(
+ cl_context context,
+ const cl_mem_properties* properties,
+ cl_mem_flags flags,
+ size_t size,
+ void* host_ptr,
+ cl_int* errcode_ret);
+
+typedef clCreateBufferWithProperties_t *
+clCreateBufferWithProperties_fn CL_API_SUFFIX__VERSION_3_0;
+
+typedef cl_mem CL_API_CALL clCreateImageWithProperties_t(
+ 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);
+
+typedef clCreateImageWithProperties_t *
+clCreateImageWithProperties_fn CL_API_SUFFIX__VERSION_3_0;
+
+#endif /* CL_VERSION_3_0 */
+
+#endif /* OPENCL_CL_FUNCTION_TYPES_H_ */
diff --git a/CL/cl_gl.h b/CL/cl_gl.h
index f88348e..8fae2ee 100644
--- a/CL/cl_gl.h
+++ b/CL/cl_gl.h
@@ -91,20 +91,26 @@ typedef cl_uint cl_gl_platform_info;
#define CL_GL_MIPMAP_LEVEL 0x2005
-typedef cl_int (CL_API_CALL *
-clGetGLContextInfoKHR_fn)(
+typedef cl_int CL_API_CALL
+clGetGLContextInfoKHR_t(
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_API_SUFFIX__VERSION_1_0;
+ size_t* param_value_size_ret);
+
+typedef clGetGLContextInfoKHR_t *
+clGetGLContextInfoKHR_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_mem (CL_API_CALL *
-clCreateFromGLBuffer_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromGLBuffer_t(
cl_context context,
cl_mem_flags flags,
cl_GLuint bufobj,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateFromGLBuffer_t *
+clCreateFromGLBuffer_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -127,14 +133,17 @@ clCreateFromGLBuffer(
#if defined(CL_VERSION_1_2)
-typedef cl_mem (CL_API_CALL *
-clCreateFromGLTexture_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromGLTexture_t(
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;
+ cl_int* errcode_ret);
+
+typedef clCreateFromGLTexture_t *
+clCreateFromGLTexture_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -152,44 +161,59 @@ clCreateFromGLTexture(
#endif /* defined(CL_VERSION_1_2) */
-typedef cl_mem (CL_API_CALL *
-clCreateFromGLRenderbuffer_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromGLRenderbuffer_t(
cl_context context,
cl_mem_flags flags,
cl_GLuint renderbuffer,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
+ cl_int* errcode_ret);
+
+typedef clCreateFromGLRenderbuffer_t *
+clCreateFromGLRenderbuffer_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_int (CL_API_CALL *
-clGetGLObjectInfo_fn)(
+typedef cl_int CL_API_CALL
+clGetGLObjectInfo_t(
cl_mem memobj,
cl_gl_object_type* gl_object_type,
- cl_GLuint* gl_object_name) CL_API_SUFFIX__VERSION_1_0;
+ cl_GLuint* gl_object_name);
-typedef cl_int (CL_API_CALL *
-clGetGLTextureInfo_fn)(
+typedef clGetGLObjectInfo_t *
+clGetGLObjectInfo_fn CL_API_SUFFIX__VERSION_1_0;
+
+typedef cl_int CL_API_CALL
+clGetGLTextureInfo_t(
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;
+ size_t* param_value_size_ret);
+
+typedef clGetGLTextureInfo_t *
+clGetGLTextureInfo_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireGLObjects_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueAcquireGLObjects_t(
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_event* event);
+
+typedef clEnqueueAcquireGLObjects_t *
+clEnqueueAcquireGLObjects_fn CL_API_SUFFIX__VERSION_1_0;
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseGLObjects_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueReleaseGLObjects_t(
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_event* event);
+
+typedef clEnqueueReleaseGLObjects_t *
+clEnqueueReleaseGLObjects_fn CL_API_SUFFIX__VERSION_1_0;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -236,23 +260,29 @@ clEnqueueReleaseGLObjects(
/* OpenCL 1.0 APIs that were deprecated in OpenCL 1.2 */
-typedef cl_mem (CL_API_CALL *
-clCreateFromGLTexture2D_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromGLTexture2D_t(
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_1_DEPRECATED;
+ cl_int* errcode_ret);
+
+typedef clCreateFromGLTexture2D_t *
+clCreateFromGLTexture2D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
-typedef cl_mem (CL_API_CALL *
-clCreateFromGLTexture3D_fn)(
+typedef cl_mem CL_API_CALL
+clCreateFromGLTexture3D_t(
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_1_DEPRECATED;
+ cl_int* errcode_ret);
+
+typedef clCreateFromGLTexture3D_t *
+clCreateFromGLTexture3D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -289,11 +319,14 @@ typedef struct __GLsync * cl_GLsync;
#define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR 0x200D
-typedef cl_event (CL_API_CALL *
-clCreateEventFromGLsyncKHR_fn)(
+typedef cl_event CL_API_CALL
+clCreateEventFromGLsyncKHR_t(
cl_context context,
cl_GLsync sync,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
+ cl_int* errcode_ret);
+
+typedef clCreateEventFromGLsyncKHR_t *
+clCreateEventFromGLsyncKHR_fn CL_API_SUFFIX__VERSION_1_1;
#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -343,14 +376,17 @@ clCreateEventFromGLsyncKHR(
/* when cl_khr_gl_sharing is supported */
-typedef cl_int (CL_API_CALL *
-clGetSupportedGLTextureFormatsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetSupportedGLTextureFormatsINTEL_t(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint num_entries,
cl_GLenum* gl_formats,
- cl_uint* num_texture_formats) ;
+ cl_uint* num_texture_formats);
+
+typedef clGetSupportedGLTextureFormatsINTEL_t *
+clGetSupportedGLTextureFormatsINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_icd.h b/CL/cl_icd.h
index 360b870..435ad48 100644
--- a/CL/cl_icd.h
+++ b/CL/cl_icd.h
@@ -18,6 +18,7 @@
#define OPENCL_CL_ICD_H
#include <CL/cl.h>
+#include <CL/cl_function_types.h>
#include <CL/cl_egl.h>
#include <CL/cl_ext.h>
#include <CL/cl_gl.h>
@@ -32,1258 +33,278 @@
extern "C" {
#endif
-/*
- * This file contains pointer type definitions for each of the CL API calls as
- * well as a type definition for the dispatch table used by the Khronos ICD
- * loader (see cl_khr_icd extension specification for background).
- */
-
-/* API function pointer definitions */
-
-// Platform APIs
-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_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_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_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_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_int(CL_API_CALL *cl_api_clRetainDevice)(
- cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseDevice)(
- cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clCreateSubDevices;
-typedef void *cl_api_clRetainDevice;
-typedef void *cl_api_clReleaseDevice;
-
-#endif
-
-// Context APIs
-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_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_int(CL_API_CALL *cl_api_clRetainContext)(
- cl_context context) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseContext)(
- cl_context context) CL_API_SUFFIX__VERSION_1_0;
-
-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_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_command_queue(CL_API_CALL *cl_api_clCreateCommandQueueWithProperties)(
- cl_context /* context */, cl_device_id /* device */,
- const cl_queue_properties * /* properties */,
- cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
-
-#else
-
-typedef void *cl_api_clCreateCommandQueueWithProperties;
-
-#endif
-
-typedef cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)(
- cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)(
- cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
-
-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_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_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;
-
-#else
-
-typedef void *cl_api_clCreateImage;
-
-#endif
-
-#ifdef CL_VERSION_3_0
-
-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_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_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;
-
-#else
-
-typedef void *cl_api_clCreateBufferWithProperties;
-typedef void *cl_api_clCreateImageWithProperties;
-typedef void *cl_api_clSetContextDestructorCallback;
-
-#endif
-
-typedef cl_int(CL_API_CALL *cl_api_clRetainMemObject)(
- cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseMemObject)(
- cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
-
-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_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_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_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_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 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 void(CL_API_CALL *cl_api_clSVMFree)(
- cl_context /* context */,
- void * /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0;
-
-#else
-
-typedef void *cl_api_clCreatePipe;
-typedef void *cl_api_clGetPipeInfo;
-typedef void *cl_api_clSVMAlloc;
-typedef void *cl_api_clSVMFree;
-
-#endif
-
-// Sampler APIs
-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_int(CL_API_CALL *cl_api_clRetainSampler)(
- cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseSampler)(
- cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
-
-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_sampler(CL_API_CALL *cl_api_clCreateSamplerWithProperties)(
- cl_context /* context */,
- const cl_sampler_properties * /* sampler_properties */,
- cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
-
-#else
-
-typedef void *cl_api_clCreateSamplerWithProperties;
-
-#endif
-
-// Program Object APIs
-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_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_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;
-
-#else
-
-typedef void *cl_api_clCreateProgramWithBuiltInKernels;
-
-#endif
-
-typedef cl_int(CL_API_CALL *cl_api_clRetainProgram)(
- cl_program program) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseProgram)(
- cl_program program) CL_API_SUFFIX__VERSION_1_0;
-
-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),
- void *user_data) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_2
-
-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_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,
- void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
- void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clCompileProgram;
-typedef void *cl_api_clLinkProgram;
-
-#endif
-
-#ifdef CL_VERSION_2_2
-
-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_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;
-
-#else
-
-typedef void *cl_api_clSetProgramSpecializationConstant;
-typedef void *cl_api_clSetProgramReleaseCallback;
-
-#endif
-
-#ifdef CL_VERSION_1_2
-
-typedef cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)(
- cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clUnloadPlatformCompiler;
-
-#endif
-
-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_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_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_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_int(CL_API_CALL *cl_api_clRetainKernel)(
- cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseKernel)(
- cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
-
-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_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_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;
-
-#else
-
-typedef void *cl_api_clGetKernelArgInfo;
-
-#endif
-
-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_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_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_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_API_SUFFIX__VERSION_2_0;
-
-#else
-
-typedef void *cl_api_clSetKernelArgSVMPointer;
-typedef void *cl_api_clSetKernelExecInfo;
-typedef void *cl_api_clGetKernelSubGroupInfoKHR;
-
-#endif
-
-// Event Object APIs
-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_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_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event)
- CL_API_SUFFIX__VERSION_1_0;
-
-typedef cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event)
- CL_API_SUFFIX__VERSION_1_0;
-
-// Profiling APIs
-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_int(CL_API_CALL *cl_api_clFlush)(
- cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
-
-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_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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_1
-
-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,
- size_t host_row_pitch, size_t host_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_1;
-
-#else
-
-typedef void *cl_api_clEnqueueReadBufferRect;
-
-#endif
-
-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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_1
-
-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,
- size_t host_row_pitch, size_t host_slice_pitch, const void *ptr,
- cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_1;
-
-#else
-
-typedef void *cl_api_clEnqueueWriteBufferRect;
-
-#endif
-
-#ifdef CL_VERSION_1_2
-
-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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clEnqueueFillBuffer;
-
-#endif
-
-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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_1
-
-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,
- size_t dst_slice_pitch, cl_uint num_events_in_wait_list,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_1;
-
-#else
-
-typedef void *cl_api_clEnqueueCopyBufferRect;
-
-#endif
-
-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_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,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_2
-
-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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clEnqueueFillImage;
-
-#endif
-
-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_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_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 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 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_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_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,
- cl_event *event) CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clEnqueueMigrateMemObjects;
-
-#endif
-
-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_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_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,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-#ifdef CL_VERSION_1_2
-
-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_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 void *(
- CL_API_CALL *cl_api_clGetExtensionFunctionAddressForPlatform)(
- cl_platform_id platform,
- const char *function_name)CL_API_SUFFIX__VERSION_1_2;
-
-#else
-
-typedef void *cl_api_clEnqueueMarkerWithWaitList;
-typedef void *cl_api_clEnqueueBarrierWithWaitList;
-typedef void *cl_api_clGetExtensionFunctionAddressForPlatform;
-
-#endif
-
-// Shared Virtual Memory APIs
-
-#ifdef CL_VERSION_2_0
-
-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 */,
- cl_uint /* num_svm_pointers */,
- void ** /* svm_pointers[] */,
- void * /* user_data */),
- void * /* user_data */, cl_uint /* num_events_in_wait_list */,
- const cl_event * /* event_wait_list */,
- cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
-
-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_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_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_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 */,
- cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
-
-#else
-
-typedef void *cl_api_clEnqueueSVMFree;
-typedef void *cl_api_clEnqueueSVMMemcpy;
-typedef void *cl_api_clEnqueueSVMMemFill;
-typedef void *cl_api_clEnqueueSVMMap;
-typedef void *cl_api_clEnqueueSVMUnmap;
-
-#endif
-
-// Deprecated APIs
-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_API_SUFFIX__VERSION_1_0_DEPRECATED;
-
-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_API_SUFFIX__VERSION_1_1_DEPRECATED;
-
-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_API_SUFFIX__VERSION_1_1_DEPRECATED;
-
-typedef cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void)
- CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
-
-typedef cl_int(CL_API_CALL *cl_api_clEnqueueMarker)(
- cl_command_queue command_queue,
- cl_event *event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
-
-typedef cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)(
- cl_command_queue command_queue, cl_uint num_events,
- const cl_event *event_list) CL_API_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 void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)(
- const char *function_name)CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
-
-// GL and other APIs
-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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_0;
-
-extern CL_API_ENTRY cl_int CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL
-clCreateFromD3D10BufferKHR(cl_context context, cl_mem_flags flags,
- ID3D10Buffer *resource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR(
- cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
- UINT subresource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR(
- cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
- UINT subresource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_int CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR(
- 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_d3d11_sharing */
-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_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_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_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_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_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,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_2;
-
-/* cl_khr_dx9_media_sharing */
-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_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_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_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,
- const cl_event *event_wait_list,
- cl_event *event) CL_API_SUFFIX__VERSION_1_2;
-
-/* cl_khr_d3d11_sharing */
-extern CL_API_ENTRY cl_int CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL
-clCreateFromD3D11BufferKHR(cl_context context, cl_mem_flags flags,
- ID3D11Buffer *resource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR(
- cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
- UINT subresource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR(
- cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
- UINT subresource, cl_int *errcode_ret);
-
-extern CL_API_ENTRY cl_int CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR(
- 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_dx9_media_sharing */
-extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR(
- cl_platform_id platform, cl_uint num_media_adapters,
- cl_dx9_media_adapter_type_khr *media_adapter_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);
-
-extern CL_API_ENTRY cl_mem CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_int CL_API_CALL 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);
-
-extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR(
- 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);
-
-#else
-
-/* cl_khr_d3d10_sharing */
-typedef void *cl_api_clGetDeviceIDsFromD3D10KHR;
-typedef void *cl_api_clCreateFromD3D10BufferKHR;
-typedef void *cl_api_clCreateFromD3D10Texture2DKHR;
-typedef void *cl_api_clCreateFromD3D10Texture3DKHR;
-typedef void *cl_api_clEnqueueAcquireD3D10ObjectsKHR;
-typedef void *cl_api_clEnqueueReleaseD3D10ObjectsKHR;
-
-/* cl_khr_d3d11_sharing */
-typedef void *cl_api_clGetDeviceIDsFromD3D11KHR;
-typedef void *cl_api_clCreateFromD3D11BufferKHR;
-typedef void *cl_api_clCreateFromD3D11Texture2DKHR;
-typedef void *cl_api_clCreateFromD3D11Texture3DKHR;
-typedef void *cl_api_clEnqueueAcquireD3D11ObjectsKHR;
-typedef void *cl_api_clEnqueueReleaseD3D11ObjectsKHR;
-
-/* cl_khr_dx9_media_sharing */
-typedef void *cl_api_clCreateFromDX9MediaSurfaceKHR;
-typedef void *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR;
-typedef void *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR;
-typedef void *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR;
-
-#endif
-
-/* OpenCL 1.1 */
-
-#ifdef CL_VERSION_1_1
-
-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_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_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_event(CL_API_CALL *cl_api_clCreateUserEvent)(
- cl_context /* context */,
- cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
-
-typedef cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)(
- cl_event /* event */,
- cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1;
-
-#else
-
-typedef void *cl_api_clSetEventCallback;
-typedef void *cl_api_clCreateSubBuffer;
-typedef void *cl_api_clSetMemObjectDestructorCallback;
-typedef void *cl_api_clCreateUserEvent;
-typedef void *cl_api_clSetUserEventStatus;
-
-#endif
-
-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_int(CL_API_CALL *cl_api_clRetainDeviceEXT)(
- cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
-
-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_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_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_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_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_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_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_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_kernel(CL_API_CALL *cl_api_clCloneKernel)(
- cl_kernel source_kernel, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
-
-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_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_int(CL_API_CALL *cl_api_clGetHostTimer)(
- cl_device_id device, cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
-
-#else
-
-typedef void *cl_api_clSetDefaultDeviceCommandQueue;
-typedef void *cl_api_clCreateProgramWithIL;
-typedef void *cl_api_clGetKernelSubGroupInfo;
-typedef void *cl_api_clCloneKernel;
-typedef void *cl_api_clEnqueueSVMMigrateMem;
-typedef void *cl_api_clGetDeviceAndHostTimer;
-typedef void *cl_api_clGetHostTimer;
-
-#endif
-
/* Vendor dispatch table structure */
typedef struct _cl_icd_dispatch {
/* OpenCL 1.0 */
- cl_api_clGetPlatformIDs clGetPlatformIDs;
- cl_api_clGetPlatformInfo clGetPlatformInfo;
- cl_api_clGetDeviceIDs clGetDeviceIDs;
- cl_api_clGetDeviceInfo clGetDeviceInfo;
- cl_api_clCreateContext clCreateContext;
- cl_api_clCreateContextFromType clCreateContextFromType;
- cl_api_clRetainContext clRetainContext;
- cl_api_clReleaseContext clReleaseContext;
- cl_api_clGetContextInfo clGetContextInfo;
- cl_api_clCreateCommandQueue clCreateCommandQueue;
- cl_api_clRetainCommandQueue clRetainCommandQueue;
- cl_api_clReleaseCommandQueue clReleaseCommandQueue;
- cl_api_clGetCommandQueueInfo clGetCommandQueueInfo;
- cl_api_clSetCommandQueueProperty clSetCommandQueueProperty;
- cl_api_clCreateBuffer clCreateBuffer;
- cl_api_clCreateImage2D clCreateImage2D;
- cl_api_clCreateImage3D clCreateImage3D;
- cl_api_clRetainMemObject clRetainMemObject;
- cl_api_clReleaseMemObject clReleaseMemObject;
- cl_api_clGetSupportedImageFormats clGetSupportedImageFormats;
- cl_api_clGetMemObjectInfo clGetMemObjectInfo;
- cl_api_clGetImageInfo clGetImageInfo;
- cl_api_clCreateSampler clCreateSampler;
- cl_api_clRetainSampler clRetainSampler;
- cl_api_clReleaseSampler clReleaseSampler;
- cl_api_clGetSamplerInfo clGetSamplerInfo;
- cl_api_clCreateProgramWithSource clCreateProgramWithSource;
- cl_api_clCreateProgramWithBinary clCreateProgramWithBinary;
- cl_api_clRetainProgram clRetainProgram;
- cl_api_clReleaseProgram clReleaseProgram;
- cl_api_clBuildProgram clBuildProgram;
- cl_api_clUnloadCompiler clUnloadCompiler;
- cl_api_clGetProgramInfo clGetProgramInfo;
- cl_api_clGetProgramBuildInfo clGetProgramBuildInfo;
- cl_api_clCreateKernel clCreateKernel;
- cl_api_clCreateKernelsInProgram clCreateKernelsInProgram;
- cl_api_clRetainKernel clRetainKernel;
- cl_api_clReleaseKernel clReleaseKernel;
- cl_api_clSetKernelArg clSetKernelArg;
- cl_api_clGetKernelInfo clGetKernelInfo;
- cl_api_clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo;
- cl_api_clWaitForEvents clWaitForEvents;
- cl_api_clGetEventInfo clGetEventInfo;
- cl_api_clRetainEvent clRetainEvent;
- cl_api_clReleaseEvent clReleaseEvent;
- cl_api_clGetEventProfilingInfo clGetEventProfilingInfo;
- cl_api_clFlush clFlush;
- cl_api_clFinish clFinish;
- cl_api_clEnqueueReadBuffer clEnqueueReadBuffer;
- cl_api_clEnqueueWriteBuffer clEnqueueWriteBuffer;
- cl_api_clEnqueueCopyBuffer clEnqueueCopyBuffer;
- cl_api_clEnqueueReadImage clEnqueueReadImage;
- cl_api_clEnqueueWriteImage clEnqueueWriteImage;
- cl_api_clEnqueueCopyImage clEnqueueCopyImage;
- cl_api_clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer;
- cl_api_clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage;
- cl_api_clEnqueueMapBuffer clEnqueueMapBuffer;
- cl_api_clEnqueueMapImage clEnqueueMapImage;
- cl_api_clEnqueueUnmapMemObject clEnqueueUnmapMemObject;
- cl_api_clEnqueueNDRangeKernel clEnqueueNDRangeKernel;
- cl_api_clEnqueueTask clEnqueueTask;
- cl_api_clEnqueueNativeKernel clEnqueueNativeKernel;
- cl_api_clEnqueueMarker clEnqueueMarker;
- cl_api_clEnqueueWaitForEvents clEnqueueWaitForEvents;
- cl_api_clEnqueueBarrier clEnqueueBarrier;
- cl_api_clGetExtensionFunctionAddress clGetExtensionFunctionAddress;
- cl_api_clCreateFromGLBuffer clCreateFromGLBuffer;
- cl_api_clCreateFromGLTexture2D clCreateFromGLTexture2D;
- cl_api_clCreateFromGLTexture3D clCreateFromGLTexture3D;
- cl_api_clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer;
- cl_api_clGetGLObjectInfo clGetGLObjectInfo;
- cl_api_clGetGLTextureInfo clGetGLTextureInfo;
- cl_api_clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects;
- cl_api_clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects;
- cl_api_clGetGLContextInfoKHR clGetGLContextInfoKHR;
+ clGetPlatformIDs_t *clGetPlatformIDs;
+ clGetPlatformInfo_t *clGetPlatformInfo;
+ clGetDeviceIDs_t *clGetDeviceIDs;
+ clGetDeviceInfo_t *clGetDeviceInfo;
+ clCreateContext_t *clCreateContext;
+ clCreateContextFromType_t *clCreateContextFromType;
+ clRetainContext_t *clRetainContext;
+ clReleaseContext_t *clReleaseContext;
+ clGetContextInfo_t *clGetContextInfo;
+ clCreateCommandQueue_t *clCreateCommandQueue;
+ clRetainCommandQueue_t *clRetainCommandQueue;
+ clReleaseCommandQueue_t *clReleaseCommandQueue;
+ clGetCommandQueueInfo_t *clGetCommandQueueInfo;
+ clSetCommandQueueProperty_t *clSetCommandQueueProperty;
+ clCreateBuffer_t *clCreateBuffer;
+ clCreateImage2D_t *clCreateImage2D;
+ clCreateImage3D_t *clCreateImage3D;
+ clRetainMemObject_t *clRetainMemObject;
+ clReleaseMemObject_t *clReleaseMemObject;
+ clGetSupportedImageFormats_t *clGetSupportedImageFormats;
+ clGetMemObjectInfo_t *clGetMemObjectInfo;
+ clGetImageInfo_t *clGetImageInfo;
+ clCreateSampler_t *clCreateSampler;
+ clRetainSampler_t *clRetainSampler;
+ clReleaseSampler_t *clReleaseSampler;
+ clGetSamplerInfo_t *clGetSamplerInfo;
+ clCreateProgramWithSource_t *clCreateProgramWithSource;
+ clCreateProgramWithBinary_t *clCreateProgramWithBinary;
+ clRetainProgram_t *clRetainProgram;
+ clReleaseProgram_t *clReleaseProgram;
+ clBuildProgram_t *clBuildProgram;
+ clUnloadCompiler_t *clUnloadCompiler;
+ clGetProgramInfo_t *clGetProgramInfo;
+ clGetProgramBuildInfo_t *clGetProgramBuildInfo;
+ clCreateKernel_t *clCreateKernel;
+ clCreateKernelsInProgram_t *clCreateKernelsInProgram;
+ clRetainKernel_t *clRetainKernel;
+ clReleaseKernel_t *clReleaseKernel;
+ clSetKernelArg_t *clSetKernelArg;
+ clGetKernelInfo_t *clGetKernelInfo;
+ clGetKernelWorkGroupInfo_t *clGetKernelWorkGroupInfo;
+ clWaitForEvents_t *clWaitForEvents;
+ clGetEventInfo_t *clGetEventInfo;
+ clRetainEvent_t *clRetainEvent;
+ clReleaseEvent_t *clReleaseEvent;
+ clGetEventProfilingInfo_t *clGetEventProfilingInfo;
+ clFlush_t *clFlush;
+ clFinish_t *clFinish;
+ clEnqueueReadBuffer_t *clEnqueueReadBuffer;
+ clEnqueueWriteBuffer_t *clEnqueueWriteBuffer;
+ clEnqueueCopyBuffer_t *clEnqueueCopyBuffer;
+ clEnqueueReadImage_t *clEnqueueReadImage;
+ clEnqueueWriteImage_t *clEnqueueWriteImage;
+ clEnqueueCopyImage_t *clEnqueueCopyImage;
+ clEnqueueCopyImageToBuffer_t *clEnqueueCopyImageToBuffer;
+ clEnqueueCopyBufferToImage_t *clEnqueueCopyBufferToImage;
+ clEnqueueMapBuffer_t *clEnqueueMapBuffer;
+ clEnqueueMapImage_t *clEnqueueMapImage;
+ clEnqueueUnmapMemObject_t *clEnqueueUnmapMemObject;
+ clEnqueueNDRangeKernel_t *clEnqueueNDRangeKernel;
+ clEnqueueTask_t *clEnqueueTask;
+ clEnqueueNativeKernel_t *clEnqueueNativeKernel;
+ clEnqueueMarker_t *clEnqueueMarker;
+ clEnqueueWaitForEvents_t *clEnqueueWaitForEvents;
+ clEnqueueBarrier_t *clEnqueueBarrier;
+ clGetExtensionFunctionAddress_t *clGetExtensionFunctionAddress;
+ clCreateFromGLBuffer_t *clCreateFromGLBuffer;
+ clCreateFromGLTexture2D_t *clCreateFromGLTexture2D;
+ clCreateFromGLTexture3D_t *clCreateFromGLTexture3D;
+ clCreateFromGLRenderbuffer_t *clCreateFromGLRenderbuffer;
+ clGetGLObjectInfo_t *clGetGLObjectInfo;
+ clGetGLTextureInfo_t *clGetGLTextureInfo;
+ clEnqueueAcquireGLObjects_t *clEnqueueAcquireGLObjects;
+ clEnqueueReleaseGLObjects_t *clEnqueueReleaseGLObjects;
+ clGetGLContextInfoKHR_t *clGetGLContextInfoKHR;
/* cl_khr_d3d10_sharing */
- cl_api_clGetDeviceIDsFromD3D10KHR clGetDeviceIDsFromD3D10KHR;
- cl_api_clCreateFromD3D10BufferKHR clCreateFromD3D10BufferKHR;
- cl_api_clCreateFromD3D10Texture2DKHR clCreateFromD3D10Texture2DKHR;
- cl_api_clCreateFromD3D10Texture3DKHR clCreateFromD3D10Texture3DKHR;
- cl_api_clEnqueueAcquireD3D10ObjectsKHR clEnqueueAcquireD3D10ObjectsKHR;
- cl_api_clEnqueueReleaseD3D10ObjectsKHR clEnqueueReleaseD3D10ObjectsKHR;
+#ifdef _WIN32
+ clGetDeviceIDsFromD3D10KHR_t *clGetDeviceIDsFromD3D10KHR;
+ clCreateFromD3D10BufferKHR_t *clCreateFromD3D10BufferKHR;
+ clCreateFromD3D10Texture2DKHR_t *clCreateFromD3D10Texture2DKHR;
+ clCreateFromD3D10Texture3DKHR_t *clCreateFromD3D10Texture3DKHR;
+ clEnqueueAcquireD3D10ObjectsKHR_t *clEnqueueAcquireD3D10ObjectsKHR;
+ clEnqueueReleaseD3D10ObjectsKHR_t *clEnqueueReleaseD3D10ObjectsKHR;
+#else
+ void *clGetDeviceIDsFromD3D10KHR;
+ void *clCreateFromD3D10BufferKHR;
+ void *clCreateFromD3D10Texture2DKHR;
+ void *clCreateFromD3D10Texture3DKHR;
+ void *clEnqueueAcquireD3D10ObjectsKHR;
+ void *clEnqueueReleaseD3D10ObjectsKHR;
+#endif
/* OpenCL 1.1 */
- cl_api_clSetEventCallback clSetEventCallback;
- cl_api_clCreateSubBuffer clCreateSubBuffer;
- cl_api_clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback;
- cl_api_clCreateUserEvent clCreateUserEvent;
- cl_api_clSetUserEventStatus clSetUserEventStatus;
- cl_api_clEnqueueReadBufferRect clEnqueueReadBufferRect;
- cl_api_clEnqueueWriteBufferRect clEnqueueWriteBufferRect;
- cl_api_clEnqueueCopyBufferRect clEnqueueCopyBufferRect;
+#ifdef CL_VERSION_1_1
+ clSetEventCallback_t *clSetEventCallback;
+ clCreateSubBuffer_t *clCreateSubBuffer;
+ clSetMemObjectDestructorCallback_t *clSetMemObjectDestructorCallback;
+ clCreateUserEvent_t *clCreateUserEvent;
+ clSetUserEventStatus_t *clSetUserEventStatus;
+ clEnqueueReadBufferRect_t *clEnqueueReadBufferRect;
+ clEnqueueWriteBufferRect_t *clEnqueueWriteBufferRect;
+ clEnqueueCopyBufferRect_t *clEnqueueCopyBufferRect;
+#else
+ void *clSetEventCallback;
+ void *clCreateSubBuffer;
+ void *clSetMemObjectDestructorCallback;
+ void *clCreateUserEvent;
+ void *clSetUserEventStatus;
+ void *clEnqueueReadBufferRect;
+ void *clEnqueueWriteBufferRect;
+ void *clEnqueueCopyBufferRect;
+#endif
/* cl_ext_device_fission */
- cl_api_clCreateSubDevicesEXT clCreateSubDevicesEXT;
- cl_api_clRetainDeviceEXT clRetainDeviceEXT;
- cl_api_clReleaseDeviceEXT clReleaseDeviceEXT;
+ clCreateSubDevicesEXT_t *clCreateSubDevicesEXT;
+ clRetainDeviceEXT_t *clRetainDeviceEXT;
+ clReleaseDeviceEXT_t *clReleaseDeviceEXT;
/* cl_khr_gl_event */
- cl_api_clCreateEventFromGLsyncKHR clCreateEventFromGLsyncKHR;
+ clCreateEventFromGLsyncKHR_t *clCreateEventFromGLsyncKHR;
/* OpenCL 1.2 */
- cl_api_clCreateSubDevices clCreateSubDevices;
- cl_api_clRetainDevice clRetainDevice;
- cl_api_clReleaseDevice clReleaseDevice;
- cl_api_clCreateImage clCreateImage;
- cl_api_clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels;
- cl_api_clCompileProgram clCompileProgram;
- cl_api_clLinkProgram clLinkProgram;
- cl_api_clUnloadPlatformCompiler clUnloadPlatformCompiler;
- cl_api_clGetKernelArgInfo clGetKernelArgInfo;
- cl_api_clEnqueueFillBuffer clEnqueueFillBuffer;
- cl_api_clEnqueueFillImage clEnqueueFillImage;
- cl_api_clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects;
- cl_api_clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList;
- cl_api_clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList;
- cl_api_clGetExtensionFunctionAddressForPlatform
+#ifdef CL_VERSION_1_2
+ clCreateSubDevices_t *clCreateSubDevices;
+ clRetainDevice_t *clRetainDevice;
+ clReleaseDevice_t *clReleaseDevice;
+ clCreateImage_t *clCreateImage;
+ clCreateProgramWithBuiltInKernels_t *clCreateProgramWithBuiltInKernels;
+ clCompileProgram_t *clCompileProgram;
+ clLinkProgram_t *clLinkProgram;
+ clUnloadPlatformCompiler_t *clUnloadPlatformCompiler;
+ clGetKernelArgInfo_t *clGetKernelArgInfo;
+ clEnqueueFillBuffer_t *clEnqueueFillBuffer;
+ clEnqueueFillImage_t *clEnqueueFillImage;
+ clEnqueueMigrateMemObjects_t *clEnqueueMigrateMemObjects;
+ clEnqueueMarkerWithWaitList_t *clEnqueueMarkerWithWaitList;
+ clEnqueueBarrierWithWaitList_t *clEnqueueBarrierWithWaitList;
+ clGetExtensionFunctionAddressForPlatform_t *
clGetExtensionFunctionAddressForPlatform;
- cl_api_clCreateFromGLTexture clCreateFromGLTexture;
-
- /* cl_khr_d3d11_sharing */
- cl_api_clGetDeviceIDsFromD3D11KHR clGetDeviceIDsFromD3D11KHR;
- cl_api_clCreateFromD3D11BufferKHR clCreateFromD3D11BufferKHR;
- cl_api_clCreateFromD3D11Texture2DKHR clCreateFromD3D11Texture2DKHR;
- cl_api_clCreateFromD3D11Texture3DKHR clCreateFromD3D11Texture3DKHR;
- cl_api_clCreateFromDX9MediaSurfaceKHR clCreateFromDX9MediaSurfaceKHR;
- cl_api_clEnqueueAcquireD3D11ObjectsKHR clEnqueueAcquireD3D11ObjectsKHR;
- cl_api_clEnqueueReleaseD3D11ObjectsKHR clEnqueueReleaseD3D11ObjectsKHR;
+ clCreateFromGLTexture_t *clCreateFromGLTexture;
+#else
+ void *clCreateSubDevices;
+ void *clRetainDevice;
+ void *clReleaseDevice;
+ void *clCreateImage;
+ void *clCreateProgramWithBuiltInKernels;
+ void *clCompileProgram;
+ void *clLinkProgram;
+ void *clUnloadPlatformCompiler;
+ void *clGetKernelArgInfo;
+ void *clEnqueueFillBuffer;
+ void *clEnqueueFillImage;
+ void *clEnqueueMigrateMemObjects;
+ void *clEnqueueMarkerWithWaitList;
+ void *clEnqueueBarrierWithWaitList;
+ void *clGetExtensionFunctionAddressForPlatform;
+ void *clCreateFromGLTexture;
+#endif
- /* cl_khr_dx9_media_sharing */
- cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR
+ /* cl_khr_d3d11_sharing and cl_khr_dx9_media_sharing */
+#ifdef _WIN32
+ clGetDeviceIDsFromD3D11KHR_t *clGetDeviceIDsFromD3D11KHR;
+ clCreateFromD3D11BufferKHR_t *clCreateFromD3D11BufferKHR;
+ clCreateFromD3D11Texture2DKHR_t *clCreateFromD3D11Texture2DKHR;
+ clCreateFromD3D11Texture3DKHR_t *clCreateFromD3D11Texture3DKHR;
+ clCreateFromDX9MediaSurfaceKHR_t *clCreateFromDX9MediaSurfaceKHR;
+ clEnqueueAcquireD3D11ObjectsKHR_t *clEnqueueAcquireD3D11ObjectsKHR;
+ clEnqueueReleaseD3D11ObjectsKHR_t *clEnqueueReleaseD3D11ObjectsKHR;
+ clGetDeviceIDsFromDX9MediaAdapterKHR_t *
clGetDeviceIDsFromDX9MediaAdapterKHR;
- cl_api_clEnqueueAcquireDX9MediaSurfacesKHR
+ clEnqueueAcquireDX9MediaSurfacesKHR_t *
clEnqueueAcquireDX9MediaSurfacesKHR;
- cl_api_clEnqueueReleaseDX9MediaSurfacesKHR
+ clEnqueueReleaseDX9MediaSurfacesKHR_t *
clEnqueueReleaseDX9MediaSurfacesKHR;
+#else
+ void *clGetDeviceIDsFromD3D11KHR;
+ void *clCreateFromD3D11BufferKHR;
+ void *clCreateFromD3D11Texture2DKHR;
+ void *clCreateFromD3D11Texture3DKHR;
+ void *clCreateFromDX9MediaSurfaceKHR;
+ void *clEnqueueAcquireD3D11ObjectsKHR;
+ void *clEnqueueReleaseD3D11ObjectsKHR;
+ void *clGetDeviceIDsFromDX9MediaAdapterKHR;
+ void *clEnqueueAcquireDX9MediaSurfacesKHR;
+ void *clEnqueueReleaseDX9MediaSurfacesKHR;
+#endif
/* cl_khr_egl_image */
- cl_api_clCreateFromEGLImageKHR clCreateFromEGLImageKHR;
- cl_api_clEnqueueAcquireEGLObjectsKHR clEnqueueAcquireEGLObjectsKHR;
- cl_api_clEnqueueReleaseEGLObjectsKHR clEnqueueReleaseEGLObjectsKHR;
+ clCreateFromEGLImageKHR_t *clCreateFromEGLImageKHR;
+ clEnqueueAcquireEGLObjectsKHR_t *clEnqueueAcquireEGLObjectsKHR;
+ clEnqueueReleaseEGLObjectsKHR_t *clEnqueueReleaseEGLObjectsKHR;
/* cl_khr_egl_event */
- cl_api_clCreateEventFromEGLSyncKHR clCreateEventFromEGLSyncKHR;
+ clCreateEventFromEGLSyncKHR_t *clCreateEventFromEGLSyncKHR;
/* OpenCL 2.0 */
- cl_api_clCreateCommandQueueWithProperties clCreateCommandQueueWithProperties;
- cl_api_clCreatePipe clCreatePipe;
- cl_api_clGetPipeInfo clGetPipeInfo;
- cl_api_clSVMAlloc clSVMAlloc;
- cl_api_clSVMFree clSVMFree;
- cl_api_clEnqueueSVMFree clEnqueueSVMFree;
- cl_api_clEnqueueSVMMemcpy clEnqueueSVMMemcpy;
- cl_api_clEnqueueSVMMemFill clEnqueueSVMMemFill;
- cl_api_clEnqueueSVMMap clEnqueueSVMMap;
- cl_api_clEnqueueSVMUnmap clEnqueueSVMUnmap;
- cl_api_clCreateSamplerWithProperties clCreateSamplerWithProperties;
- cl_api_clSetKernelArgSVMPointer clSetKernelArgSVMPointer;
- cl_api_clSetKernelExecInfo clSetKernelExecInfo;
+#ifdef CL_VERSION_2_0
+ clCreateCommandQueueWithProperties_t *clCreateCommandQueueWithProperties;
+ clCreatePipe_t *clCreatePipe;
+ clGetPipeInfo_t *clGetPipeInfo;
+ clSVMAlloc_t *clSVMAlloc;
+ clSVMFree_t *clSVMFree;
+ clEnqueueSVMFree_t *clEnqueueSVMFree;
+ clEnqueueSVMMemcpy_t *clEnqueueSVMMemcpy;
+ clEnqueueSVMMemFill_t *clEnqueueSVMMemFill;
+ clEnqueueSVMMap_t *clEnqueueSVMMap;
+ clEnqueueSVMUnmap_t *clEnqueueSVMUnmap;
+ clCreateSamplerWithProperties_t *clCreateSamplerWithProperties;
+ clSetKernelArgSVMPointer_t *clSetKernelArgSVMPointer;
+ clSetKernelExecInfo_t *clSetKernelExecInfo;
+#else
+ void *clCreateCommandQueueWithProperties;
+ void *clCreatePipe;
+ void *clGetPipeInfo;
+ void *clSVMAlloc;
+ void *clSVMFree;
+ void *clEnqueueSVMFree;
+ void *clEnqueueSVMMemcpy;
+ void *clEnqueueSVMMemFill;
+ void *clEnqueueSVMMap;
+ void *clEnqueueSVMUnmap;
+ void *clCreateSamplerWithProperties;
+ void *clSetKernelArgSVMPointer;
+ void *clSetKernelExecInfo;
+#endif
/* cl_khr_sub_groups */
- cl_api_clGetKernelSubGroupInfoKHR clGetKernelSubGroupInfoKHR;
+ clGetKernelSubGroupInfoKHR_t *clGetKernelSubGroupInfoKHR;
/* OpenCL 2.1 */
- cl_api_clCloneKernel clCloneKernel;
- cl_api_clCreateProgramWithIL clCreateProgramWithIL;
- cl_api_clEnqueueSVMMigrateMem clEnqueueSVMMigrateMem;
- cl_api_clGetDeviceAndHostTimer clGetDeviceAndHostTimer;
- cl_api_clGetHostTimer clGetHostTimer;
- cl_api_clGetKernelSubGroupInfo clGetKernelSubGroupInfo;
- cl_api_clSetDefaultDeviceCommandQueue clSetDefaultDeviceCommandQueue;
+#ifdef CL_VERSION_2_1
+ clCloneKernel_t *clCloneKernel;
+ clCreateProgramWithIL_t *clCreateProgramWithIL;
+ clEnqueueSVMMigrateMem_t *clEnqueueSVMMigrateMem;
+ clGetDeviceAndHostTimer_t *clGetDeviceAndHostTimer;
+ clGetHostTimer_t *clGetHostTimer;
+ clGetKernelSubGroupInfo_t *clGetKernelSubGroupInfo;
+ clSetDefaultDeviceCommandQueue_t *clSetDefaultDeviceCommandQueue;
+#else
+ void *clCloneKernel;
+ void *clCreateProgramWithIL;
+ void *clEnqueueSVMMigrateMem;
+ void *clGetDeviceAndHostTimer;
+ void *clGetHostTimer;
+ void *clGetKernelSubGroupInfo;
+ void *clSetDefaultDeviceCommandQueue;
+#endif
/* OpenCL 2.2 */
- cl_api_clSetProgramReleaseCallback clSetProgramReleaseCallback;
- cl_api_clSetProgramSpecializationConstant clSetProgramSpecializationConstant;
+#ifdef CL_VERSION_2_2
+ clSetProgramReleaseCallback_t *clSetProgramReleaseCallback;
+ clSetProgramSpecializationConstant_t *clSetProgramSpecializationConstant;
+#else
+ void *clSetProgramReleaseCallback;
+ void *clSetProgramSpecializationConstant;
+#endif
/* OpenCL 3.0 */
- cl_api_clCreateBufferWithProperties clCreateBufferWithProperties;
- cl_api_clCreateImageWithProperties clCreateImageWithProperties;
- cl_api_clSetContextDestructorCallback clSetContextDestructorCallback;
+#ifdef CL_VERSION_3_0
+ clCreateBufferWithProperties_t *clCreateBufferWithProperties;
+ clCreateImageWithProperties_t *clCreateImageWithProperties;
+ clSetContextDestructorCallback_t *clSetContextDestructorCallback;
+#else
+ void *clCreateBufferWithProperties;
+ void *clCreateImageWithProperties;
+ void *clSetContextDestructorCallback;
+#endif
} cl_icd_dispatch;
diff --git a/CL/cl_layer.h b/CL/cl_layer.h
index acaa6c2..a43b897 100644
--- a/CL/cl_layer.h
+++ b/CL/cl_layer.h
@@ -64,19 +64,25 @@ typedef cl_uint cl_layer_api_version;
#define CL_LAYER_API_VERSION_100 100
-typedef cl_int (CL_API_CALL *
-clGetLayerInfo_fn)(
+typedef cl_int CL_API_CALL
+clGetLayerInfo_t(
cl_layer_info param_name,
size_t param_value_size,
void* param_value,
- size_t* param_value_size_ret) ;
+ size_t* param_value_size_ret);
+
+typedef clGetLayerInfo_t *
+clGetLayerInfo_fn ;
-typedef cl_int (CL_API_CALL *
-clInitLayer_fn)(
+typedef cl_int CL_API_CALL
+clInitLayer_t(
cl_uint num_entries,
const cl_icd_dispatch* target_dispatch,
cl_uint* num_entries_ret,
- const cl_icd_dispatch** layer_dispatch_ret) ;
+ const cl_icd_dispatch** layer_dispatch_ret);
+
+typedef clInitLayer_t *
+clInitLayer_fn ;
/*
** The function pointer typedefs prefixed with "pfn_" are provided for
@@ -85,19 +91,11 @@ clInitLayer_fn)(
** "_fn" instead, for consistency.
*/
-typedef cl_int (CL_API_CALL *
-pfn_clGetLayerInfo)(
- cl_layer_info param_name,
- size_t param_value_size,
- void* param_value,
- size_t* param_value_size_ret) ;
+typedef clGetLayerInfo_t *
+pfn_clGetLayerInfo ;
-typedef cl_int (CL_API_CALL *
-pfn_clInitLayer)(
- cl_uint num_entries,
- const cl_icd_dispatch* target_dispatch,
- cl_uint* num_entries_ret,
- const cl_icd_dispatch** layer_dispatch_ret) ;
+typedef clInitLayer_t *
+pfn_clInitLayer ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CL/cl_va_api_media_sharing_intel.h b/CL/cl_va_api_media_sharing_intel.h
index 767da05..93f5d8b 100644
--- a/CL/cl_va_api_media_sharing_intel.h
+++ b/CL/cl_va_api_media_sharing_intel.h
@@ -55,15 +55,18 @@ extern "C" {
/* when cl_intel_va_api_media_sharing is supported */
-typedef cl_int (CL_API_CALL *
-clGetSupportedVA_APIMediaSurfaceFormatsINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetSupportedVA_APIMediaSurfaceFormatsINTEL_t(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint plane,
cl_uint num_entries,
VAImageFormat* va_api_formats,
- cl_uint* num_surface_formats) ;
+ cl_uint* num_surface_formats);
+
+typedef clGetSupportedVA_APIMediaSurfaceFormatsINTEL_t *
+clGetSupportedVA_APIMediaSurfaceFormatsINTEL_fn ;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
@@ -116,41 +119,53 @@ typedef cl_uint cl_va_api_device_set_intel;
#define CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL 0x409B
-typedef cl_int (CL_API_CALL *
-clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn)(
+typedef cl_int CL_API_CALL
+clGetDeviceIDsFromVA_APIMediaAdapterINTEL_t(
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_API_SUFFIX__VERSION_1_2;
+ cl_uint* num_devices);
-typedef cl_mem (CL_API_CALL *
-clCreateFromVA_APIMediaSurfaceINTEL_fn)(
+typedef clGetDeviceIDsFromVA_APIMediaAdapterINTEL_t *
+clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_mem CL_API_CALL
+clCreateFromVA_APIMediaSurfaceINTEL_t(
cl_context context,
cl_mem_flags flags,
VASurfaceID* surface,
cl_uint plane,
- cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
+ cl_int* errcode_ret);
-typedef cl_int (CL_API_CALL *
-clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn)(
+typedef clCreateFromVA_APIMediaSurfaceINTEL_t *
+clCreateFromVA_APIMediaSurfaceINTEL_fn CL_API_SUFFIX__VERSION_1_2;
+
+typedef cl_int CL_API_CALL
+clEnqueueAcquireVA_APIMediaSurfacesINTEL_t(
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;
+ cl_event* event);
+
+typedef clEnqueueAcquireVA_APIMediaSurfacesINTEL_t *
+clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn CL_API_SUFFIX__VERSION_1_2;
-typedef cl_int (CL_API_CALL *
-clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn)(
+typedef cl_int CL_API_CALL
+clEnqueueReleaseVA_APIMediaSurfacesINTEL_t(
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;
+ cl_event* event);
+
+typedef clEnqueueReleaseVA_APIMediaSurfacesINTEL_t *
+clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn CL_API_SUFFIX__VERSION_1_2;
#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43e97cc..7002c37 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,6 +133,9 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
COMMAND ${CMAKE_COMMAND} -E copy
${OPENCL_HEADERS_OUTPUT_DIRECTORY}/cl_va_api_media_sharing_intel.h
${CMAKE_CURRENT_SOURCE_DIR}/CL
+ COMMAND ${CMAKE_COMMAND} -E copy
+ ${OPENCL_HEADERS_OUTPUT_DIRECTORY}/cl_function_types.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/CL
)
set_target_properties(headers_generate PROPERTIES FOLDER "Generation")
set_target_properties(headers_copy PROPERTIES FOLDER "Generation")
diff --git a/scripts/cl_ext.h.mako b/scripts/cl_ext.h.mako
index c00fb84..5102135 100644
--- a/scripts/cl_ext.h.mako
+++ b/scripts/cl_ext.h.mako
@@ -353,15 +353,18 @@ ${typedefs[type.get('name')].Typedef.ljust(27)} ${type.get('name')};
<%
api = apisigs[func.get('name')]
%>
-typedef ${api.RetType} (CL_API_CALL *
-${api.Name}_fn)(
+typedef ${api.RetType} CL_API_CALL
+${api.Name}_t(
% for i, paramStr in enumerate(getCParameterStrings(api.Params)):
% if i < len(api.Params)-1:
${paramStr},
% else:
- ${paramStr}) ${api.Suffix};
+ ${paramStr});
% endif
% endfor
+
+typedef ${api.Name}_t *
+${api.Name}_fn ${api.Suffix};
% endfor
% if generate_pfn_typedefs:
@@ -375,15 +378,8 @@ ${api.Name}_fn)(
<%
api = apisigs[func.get('name')]
%>
-typedef ${api.RetType} (CL_API_CALL *
-pfn_${api.Name})(
-% for i, paramStr in enumerate(getCParameterStrings(api.Params)):
-% if i < len(api.Params)-1:
- ${paramStr},
-% else:
- ${paramStr}) ${api.Suffix};
-% endif
-% endfor
+typedef ${api.Name}_t *
+pfn_${api.Name} ${api.Suffix};
% endfor
% endif
diff --git a/scripts/cl_function_types.h.mako b/scripts/cl_function_types.h.mako
new file mode 100644
index 0000000..7888e14
--- /dev/null
+++ b/scripts/cl_function_types.h.mako
@@ -0,0 +1,62 @@
+<%
+# Gets C function parameter strings for the specified API params:
+import sys
+import json
+def getCParameterStrings(params):
+ strings = []
+ if len(params) == 0:
+ strings.append("void")
+ else:
+ for param in params:
+ paramstr = param.Type + ' ' + param.Name + param.TypeEnd
+ strings.append(paramstr)
+ return strings
+
+%>/*
+ * Copyright (c) 2023 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * OpenCL is a trademark of Apple Inc. used under license by Khronos.
+ */
+
+#ifndef OPENCL_CL_FUNCTION_TYPES_H_
+#define OPENCL_CL_FUNCTION_TYPES_H_
+
+#include <CL/cl.h>
+
+%for version, apis in coreapis.items():
+% if version != "CL_VERSION_1_0":
+#ifdef ${version}
+
+% endif
+% for api in apis:
+typedef ${api.RetType} CL_API_CALL ${api.Name}_t(
+% for i, paramStr in enumerate(getCParameterStrings(api.Params)):
+% if i < len(api.Params)-1:
+ ${paramStr},
+% else:
+ ${paramStr});
+% endif
+% endfor
+
+typedef ${api.Name}_t *
+${api.Name}_fn ${api.Suffix};
+
+% endfor
+% if version != "CL_VERSION_1_0":
+#endif /* ${version} */
+
+% endif
+%endfor
+#endif /* OPENCL_CL_FUNCTION_TYPES_H_ */
diff --git a/scripts/gen_headers.py b/scripts/gen_headers.py
index 9690483..4bfaa0e 100644
--- a/scripts/gen_headers.py
+++ b/scripts/gen_headers.py
@@ -60,6 +60,7 @@ if __name__ == "__main__":
try:
cl_ext_h_template = Template(filename='cl_ext.h.mako', input_encoding='utf-8')
+ cl_function_types_h_template = Template(filename='cl_function_types.h.mako', input_encoding='utf-8')
print('Generating cl_dx9_media_sharing.h...')
text = cl_ext_h_template.render(
@@ -220,6 +221,17 @@ if __name__ == "__main__":
text = re.sub(r'\r\n', r'\n', text)
with open(args.directory + '/cl_ext.h', 'w') as gen:
gen.write(text)
+
+ print('Generating cl_function_types.h...')
+ text = cl_function_types_h_template.render(
+ spec=spec,
+ apisigs=apisigs,
+ coreapis=coreapis,
+ extapis=extapis)
+ text = re.sub(r'\r\n', r'\n', text)
+ with open(args.directory + '/cl_function_types.h', 'w') as gen:
+ gen.write(text)
+
except:
traceback = RichTraceback()
for (filename, lineno, function, line) in traceback.traceback: