17 #ifndef OPENCL_CL_ICD_H
18 #define OPENCL_CL_ICD_H
21 #include <CL/cl_egl.h>
22 #include <CL/cl_ext.h>
26 #include <CL/cl_d3d11.h>
27 #include <CL/cl_d3d10.h>
28 #include <CL/cl_dx9_media_sharing.h>
44 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformIDs)(
45 cl_uint num_entries, cl_platform_id *platforms,
46 cl_uint *num_platforms) CL_API_SUFFIX__VERSION_1_0;
48 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformInfo)(
49 cl_platform_id platform, cl_platform_info param_name,
50 size_t param_value_size,
void *param_value,
51 size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
54 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDs)(
55 cl_platform_id platform, cl_device_type device_type, cl_uint num_entries,
56 cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
58 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceInfo)(
59 cl_device_id device, cl_device_info param_name,
size_t param_value_size,
60 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
64 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevices)(
65 cl_device_id in_device,
66 const cl_device_partition_property *partition_properties,
67 cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
69 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDevice)(
70 cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
72 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDevice)(
73 cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
77 typedef void *cl_api_clCreateSubDevices;
78 typedef void *cl_api_clRetainDevice;
79 typedef void *cl_api_clReleaseDevice;
84 typedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContext)(
85 const cl_context_properties *properties, cl_uint num_devices,
86 const cl_device_id *devices,
87 void(CL_CALLBACK *pfn_notify)(
const char *,
const void *, size_t,
void *),
88 void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
90 typedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContextFromType)(
91 const cl_context_properties *properties, cl_device_type device_type,
92 void(CL_CALLBACK *pfn_notify)(
const char *,
const void *, size_t,
void *),
93 void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
95 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainContext)(
96 cl_context context) CL_API_SUFFIX__VERSION_1_0;
98 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseContext)(
99 cl_context context) CL_API_SUFFIX__VERSION_1_0;
101 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetContextInfo)(
102 cl_context context, cl_context_info param_name,
size_t param_value_size,
103 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
106 typedef CL_API_ENTRY cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueue)(
107 cl_context context, cl_device_id device,
108 cl_command_queue_properties properties,
109 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
111 #ifdef CL_VERSION_2_0
114 cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueueWithProperties)(
115 cl_context , cl_device_id ,
116 const cl_queue_properties * ,
117 cl_int * ) CL_API_SUFFIX__VERSION_2_0;
121 typedef void *cl_api_clCreateCommandQueueWithProperties;
125 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)(
126 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
128 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)(
129 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
131 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetCommandQueueInfo)(
132 cl_command_queue command_queue, cl_command_queue_info param_name,
133 size_t param_value_size,
void *param_value,
134 size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
137 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBuffer)(
138 cl_context context, cl_mem_flags flags,
size_t size,
void *host_ptr,
139 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
141 #ifdef CL_VERSION_1_2
143 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage)(
144 cl_context context, cl_mem_flags flags,
const cl_image_format *image_format,
145 const cl_image_desc *image_desc,
void *host_ptr,
146 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
150 typedef void *cl_api_clCreateImage;
154 #ifdef CL_VERSION_3_0
156 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBufferWithProperties)(
157 cl_context context,
const cl_mem_properties *properties, cl_mem_flags flags,
158 size_t size,
void *host_ptr,
159 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
161 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImageWithProperties)(
162 cl_context context,
const cl_mem_properties *properties, cl_mem_flags flags,
164 void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
166 typedef CL_API_ENTRY cl_int(CL_API_CALL* cl_api_clSetContextDestructorCallback)(
168 void(CL_CALLBACK* pfn_notify)(cl_context context,
void* user_data),
169 void* user_data) CL_API_SUFFIX__VERSION_3_0;
173 typedef void *cl_api_clCreateBufferWithProperties;
174 typedef void *cl_api_clCreateImageWithProperties;
175 typedef void *cl_api_clSetContextDestructorCallback;
179 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainMemObject)(
180 cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
182 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseMemObject)(
183 cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
185 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSupportedImageFormats)(
186 cl_context context, cl_mem_flags flags, cl_mem_object_type image_type,
188 cl_uint *num_image_formats) CL_API_SUFFIX__VERSION_1_0;
190 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetMemObjectInfo)(
191 cl_mem memobj, cl_mem_info param_name,
size_t param_value_size,
192 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
194 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetImageInfo)(
195 cl_mem image, cl_image_info param_name,
size_t param_value_size,
196 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
198 #ifdef CL_VERSION_2_0
200 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreatePipe)(
201 cl_context , cl_mem_flags ,
203 const cl_pipe_properties * ,
204 cl_int * ) CL_API_SUFFIX__VERSION_2_0;
206 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPipeInfo)(
207 cl_mem , cl_pipe_info ,
209 size_t * ) CL_API_SUFFIX__VERSION_2_0;
211 typedef CL_API_ENTRY
void *(CL_API_CALL *cl_api_clSVMAlloc)(
212 cl_context , cl_svm_mem_flags ,
size_t ,
213 unsigned int )CL_API_SUFFIX__VERSION_2_0;
215 typedef CL_API_ENTRY void(CL_API_CALL *cl_api_clSVMFree)(
217 void * ) CL_API_SUFFIX__VERSION_2_0;
221 typedef void *cl_api_clCreatePipe;
222 typedef void *cl_api_clGetPipeInfo;
223 typedef void *cl_api_clSVMAlloc;
224 typedef void *cl_api_clSVMFree;
229 typedef CL_API_ENTRY cl_sampler(CL_API_CALL *cl_api_clCreateSampler)(
230 cl_context context, cl_bool normalized_coords,
231 cl_addressing_mode addressing_mode, cl_filter_mode filter_mode,
232 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
234 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainSampler)(
235 cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
237 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseSampler)(
238 cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
240 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSamplerInfo)(
241 cl_sampler sampler, cl_sampler_info param_name,
size_t param_value_size,
242 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
244 #ifdef CL_VERSION_2_0
247 cl_sampler(CL_API_CALL *cl_api_clCreateSamplerWithProperties)(
249 const cl_sampler_properties * ,
250 cl_int * ) CL_API_SUFFIX__VERSION_2_0;
254 typedef void *cl_api_clCreateSamplerWithProperties;
259 typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithSource)(
260 cl_context context, cl_uint count,
const char **strings,
261 const size_t *lengths, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
263 typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithBinary)(
264 cl_context context, cl_uint num_devices,
const cl_device_id *device_list,
265 const size_t *lengths,
const unsigned char **binaries,
266 cl_int *binary_status, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
268 #ifdef CL_VERSION_1_2
271 cl_program(CL_API_CALL *cl_api_clCreateProgramWithBuiltInKernels)(
272 cl_context context, cl_uint num_devices,
const cl_device_id *device_list,
273 const char *kernel_names, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
277 typedef void *cl_api_clCreateProgramWithBuiltInKernels;
281 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainProgram)(
282 cl_program program) CL_API_SUFFIX__VERSION_1_0;
284 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseProgram)(
285 cl_program program) CL_API_SUFFIX__VERSION_1_0;
287 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clBuildProgram)(
288 cl_program program, cl_uint num_devices,
const cl_device_id *device_list,
290 void(CL_CALLBACK *pfn_notify)(cl_program program,
void *user_data),
291 void *user_data) CL_API_SUFFIX__VERSION_1_0;
293 #ifdef CL_VERSION_1_2
295 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCompileProgram)(
296 cl_program program, cl_uint num_devices,
const cl_device_id *device_list,
297 const char *options, cl_uint num_input_headers,
298 const cl_program *input_headers,
const char **header_include_names,
299 void(CL_CALLBACK *pfn_notify)(cl_program program,
void *user_data),
300 void *user_data) CL_API_SUFFIX__VERSION_1_2;
302 typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clLinkProgram)(
303 cl_context context, cl_uint num_devices,
const cl_device_id *device_list,
304 const char *options, cl_uint num_input_programs,
305 const cl_program *input_programs,
306 void(CL_CALLBACK *pfn_notify)(cl_program program,
void *user_data),
307 void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
311 typedef void *cl_api_clCompileProgram;
312 typedef void *cl_api_clLinkProgram;
316 #ifdef CL_VERSION_2_2
319 cl_int(CL_API_CALL *cl_api_clSetProgramSpecializationConstant)(
320 cl_program program, cl_uint spec_id,
size_t spec_size,
321 const void *spec_value) CL_API_SUFFIX__VERSION_2_2;
323 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetProgramReleaseCallback)(
325 void(CL_CALLBACK *pfn_notify)(cl_program program,
void *user_data),
326 void *user_data) CL_API_SUFFIX__VERSION_2_2;
330 typedef void *cl_api_clSetProgramSpecializationConstant;
331 typedef void *cl_api_clSetProgramReleaseCallback;
335 #ifdef CL_VERSION_1_2
337 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)(
338 cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2;
342 typedef void *cl_api_clUnloadPlatformCompiler;
346 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramInfo)(
347 cl_program program, cl_program_info param_name,
size_t param_value_size,
348 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
350 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramBuildInfo)(
351 cl_program program, cl_device_id device, cl_program_build_info param_name,
352 size_t param_value_size,
void *param_value,
353 size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
356 typedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCreateKernel)(
357 cl_program program,
const char *kernel_name,
358 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
360 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateKernelsInProgram)(
361 cl_program program, cl_uint num_kernels, cl_kernel *kernels,
362 cl_uint *num_kernels_ret) CL_API_SUFFIX__VERSION_1_0;
364 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainKernel)(
365 cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
367 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseKernel)(
368 cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
370 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArg)(
371 cl_kernel kernel, cl_uint arg_index,
size_t arg_size,
372 const void *arg_value) CL_API_SUFFIX__VERSION_1_0;
374 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelInfo)(
375 cl_kernel kernel, cl_kernel_info param_name,
size_t param_value_size,
376 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
378 #ifdef CL_VERSION_1_2
380 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelArgInfo)(
381 cl_kernel kernel, cl_uint arg_indx, cl_kernel_arg_info param_name,
382 size_t param_value_size,
void *param_value,
383 size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
387 typedef void *cl_api_clGetKernelArgInfo;
391 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelWorkGroupInfo)(
392 cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name,
393 size_t param_value_size,
void *param_value,
394 size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
396 #ifdef CL_VERSION_2_0
398 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArgSVMPointer)(
399 cl_kernel , cl_uint ,
400 const void * ) CL_API_SUFFIX__VERSION_2_0;
402 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelExecInfo)(
403 cl_kernel , cl_kernel_exec_info ,
405 const void * ) CL_API_SUFFIX__VERSION_2_0;
407 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfoKHR)(
408 cl_kernel , cl_device_id ,
409 cl_kernel_sub_group_info ,
size_t ,
410 const void * ,
size_t ,
412 size_t * ) CL_API_SUFFIX__VERSION_2_0;
416 typedef void *cl_api_clSetKernelArgSVMPointer;
417 typedef void *cl_api_clSetKernelExecInfo;
418 typedef void *cl_api_clGetKernelSubGroupInfoKHR;
423 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clWaitForEvents)(
424 cl_uint num_events,
const cl_event *event_list) CL_API_SUFFIX__VERSION_1_0;
426 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventInfo)(
427 cl_event event, cl_event_info param_name,
size_t param_value_size,
428 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
430 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event)
431 CL_API_SUFFIX__VERSION_1_0;
433 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event)
434 CL_API_SUFFIX__VERSION_1_0;
437 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventProfilingInfo)(
438 cl_event event, cl_profiling_info param_name,
size_t param_value_size,
439 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
442 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFlush)(
443 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
445 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFinish)(
446 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
449 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)(
450 cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
451 size_t offset,
size_t cb,
void *ptr, cl_uint num_events_in_wait_list,
452 const cl_event *event_wait_list,
453 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
455 #ifdef CL_VERSION_1_1
457 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBufferRect)(
458 cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
459 const size_t *buffer_origin,
const size_t *host_origin,
460 const size_t *region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
461 size_t host_row_pitch,
size_t host_slice_pitch,
void *ptr,
462 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
463 cl_event *event) CL_API_SUFFIX__VERSION_1_1;
467 typedef void *cl_api_clEnqueueReadBufferRect;
471 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)(
472 cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write,
473 size_t offset,
size_t cb,
const void *ptr, cl_uint num_events_in_wait_list,
474 const cl_event *event_wait_list,
475 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
477 #ifdef CL_VERSION_1_1
479 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBufferRect)(
480 cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
481 const size_t *buffer_origin,
const size_t *host_origin,
482 const size_t *region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
483 size_t host_row_pitch,
size_t host_slice_pitch,
const void *ptr,
484 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
485 cl_event *event) CL_API_SUFFIX__VERSION_1_1;
489 typedef void *cl_api_clEnqueueWriteBufferRect;
493 #ifdef CL_VERSION_1_2
495 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillBuffer)(
496 cl_command_queue command_queue, cl_mem buffer,
const void *pattern,
497 size_t pattern_size,
size_t offset,
size_t cb,
498 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
499 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
503 typedef void *cl_api_clEnqueueFillBuffer;
507 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)(
508 cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
509 size_t src_offset,
size_t dst_offset,
size_t cb,
510 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
511 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
513 #ifdef CL_VERSION_1_1
515 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferRect)(
516 cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
517 const size_t *src_origin,
const size_t *dst_origin,
const size_t *region,
518 size_t src_row_pitch,
size_t src_slice_pitch,
size_t dst_row_pitch,
519 size_t dst_slice_pitch, cl_uint num_events_in_wait_list,
520 const cl_event *event_wait_list,
521 cl_event *event) CL_API_SUFFIX__VERSION_1_1;
525 typedef void *cl_api_clEnqueueCopyBufferRect;
529 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadImage)(
530 cl_command_queue command_queue, cl_mem image, cl_bool blocking_read,
531 const size_t *origin,
const size_t *region,
size_t row_pitch,
532 size_t slice_pitch,
void *ptr, cl_uint num_events_in_wait_list,
533 const cl_event *event_wait_list,
534 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
536 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)(
537 cl_command_queue command_queue, cl_mem image, cl_bool blocking_write,
538 const size_t *origin,
const size_t *region,
size_t input_row_pitch,
539 size_t input_slice_pitch,
const void *ptr, cl_uint num_events_in_wait_list,
540 const cl_event *event_wait_list,
541 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
543 #ifdef CL_VERSION_1_2
545 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillImage)(
546 cl_command_queue command_queue, cl_mem image,
const void *fill_color,
547 const size_t origin[3],
const size_t region[3],
548 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
549 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
553 typedef void *cl_api_clEnqueueFillImage;
557 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImage)(
558 cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image,
559 const size_t *src_origin,
const size_t *dst_origin,
const size_t *region,
560 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
561 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
563 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImageToBuffer)(
564 cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer,
565 const size_t *src_origin,
const size_t *region,
size_t dst_offset,
566 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
567 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
569 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferToImage)(
570 cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image,
571 size_t src_offset,
const size_t *dst_origin,
const size_t *region,
572 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
573 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
575 typedef CL_API_ENTRY
void *(CL_API_CALL *cl_api_clEnqueueMapBuffer)(
576 cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map,
577 cl_map_flags map_flags,
size_t offset,
size_t cb,
578 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
579 cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
581 typedef CL_API_ENTRY
void *(CL_API_CALL *cl_api_clEnqueueMapImage)(
582 cl_command_queue command_queue, cl_mem image, cl_bool blocking_map,
583 cl_map_flags map_flags,
const size_t *origin,
const size_t *region,
584 size_t *image_row_pitch,
size_t *image_slice_pitch,
585 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
586 cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
588 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueUnmapMemObject)(
589 cl_command_queue command_queue, cl_mem memobj,
void *mapped_ptr,
590 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
591 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
593 #ifdef CL_VERSION_1_2
595 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMigrateMemObjects)(
596 cl_command_queue command_queue, cl_uint num_mem_objects,
597 const cl_mem *mem_objects, cl_mem_migration_flags flags,
598 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
599 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
603 typedef void *cl_api_clEnqueueMigrateMemObjects;
607 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNDRangeKernel)(
608 cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim,
609 const size_t *global_work_offset,
const size_t *global_work_size,
610 const size_t *local_work_size, cl_uint num_events_in_wait_list,
611 const cl_event *event_wait_list,
612 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
614 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueTask)(
615 cl_command_queue command_queue, cl_kernel kernel,
616 cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
617 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
619 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)(
620 cl_command_queue command_queue, void(CL_CALLBACK *user_func)(
void *),
621 void *args,
size_t cb_args, cl_uint num_mem_objects,
const cl_mem *mem_list,
622 const void **args_mem_loc, cl_uint num_events_in_wait_list,
623 const cl_event *event_wait_list,
624 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
626 #ifdef CL_VERSION_1_2
628 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarkerWithWaitList)(
629 cl_command_queue command_queue, cl_uint num_events_in_wait_list,
630 const cl_event *event_wait_list,
631 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
633 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrierWithWaitList)(
634 cl_command_queue command_queue, cl_uint num_events_in_wait_list,
635 const cl_event *event_wait_list,
636 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
638 typedef CL_API_ENTRY
void *(
639 CL_API_CALL *cl_api_clGetExtensionFunctionAddressForPlatform)(
640 cl_platform_id platform,
641 const char *function_name)CL_API_SUFFIX__VERSION_1_2;
645 typedef void *cl_api_clEnqueueMarkerWithWaitList;
646 typedef void *cl_api_clEnqueueBarrierWithWaitList;
647 typedef void *cl_api_clGetExtensionFunctionAddressForPlatform;
653 #ifdef CL_VERSION_2_0
655 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)(
656 cl_command_queue , cl_uint ,
658 void(CL_CALLBACK *pfn_free_func)(cl_command_queue ,
664 cl_event * ) CL_API_SUFFIX__VERSION_2_0;
666 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemcpy)(
667 cl_command_queue , cl_bool ,
668 void * ,
const void * ,
size_t ,
671 cl_event * ) CL_API_SUFFIX__VERSION_2_0;
673 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemFill)(
674 cl_command_queue ,
void * ,
675 const void * ,
size_t ,
size_t ,
678 cl_event * ) CL_API_SUFFIX__VERSION_2_0;
680 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMap)(
681 cl_command_queue , cl_bool ,
682 cl_map_flags ,
void * ,
size_t ,
685 cl_event * ) CL_API_SUFFIX__VERSION_2_0;
687 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMUnmap)(
688 cl_command_queue ,
void * ,
691 cl_event * ) CL_API_SUFFIX__VERSION_2_0;
695 typedef void *cl_api_clEnqueueSVMFree;
696 typedef void *cl_api_clEnqueueSVMMemcpy;
697 typedef void *cl_api_clEnqueueSVMMemFill;
698 typedef void *cl_api_clEnqueueSVMMap;
699 typedef void *cl_api_clEnqueueSVMUnmap;
704 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetCommandQueueProperty)(
705 cl_command_queue command_queue, cl_command_queue_properties properties,
706 cl_bool enable, cl_command_queue_properties *old_properties)
707 CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
709 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage2D)(
710 cl_context context, cl_mem_flags flags,
const cl_image_format *image_format,
711 size_t image_width,
size_t image_height,
size_t image_row_pitch,
712 void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
714 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage3D)(
715 cl_context context, cl_mem_flags flags,
const cl_image_format *image_format,
716 size_t image_width,
size_t image_height,
size_t image_depth,
717 size_t image_row_pitch,
size_t image_slice_pitch,
void *host_ptr,
718 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
720 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void)
721 CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
723 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarker)(
724 cl_command_queue command_queue,
725 cl_event *event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
727 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)(
728 cl_command_queue command_queue, cl_uint num_events,
729 const cl_event *event_list) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
731 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrier)(
732 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
734 typedef CL_API_ENTRY
void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)(
735 const char *function_name)CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
738 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLBuffer)(
739 cl_context context, cl_mem_flags flags, cl_GLuint bufobj,
740 int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
742 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture)(
743 cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
744 cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
746 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture2D)(
747 cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
748 cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
750 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture3D)(
751 cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
752 cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
754 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLRenderbuffer)(
755 cl_context context, cl_mem_flags flags, cl_GLuint renderbuffer,
756 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
758 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLObjectInfo)(
759 cl_mem memobj, cl_gl_object_type *gl_object_type,
760 cl_GLuint *gl_object_name) CL_API_SUFFIX__VERSION_1_0;
762 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLTextureInfo)(
763 cl_mem memobj, cl_gl_texture_info param_name,
size_t param_value_size,
764 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
766 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireGLObjects)(
767 cl_command_queue command_queue, cl_uint num_objects,
768 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
769 const cl_event *event_wait_list,
770 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
772 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseGLObjects)(
773 cl_command_queue command_queue, cl_uint num_objects,
774 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
775 const cl_event *event_wait_list,
776 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
779 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLContextInfoKHR)(
780 const cl_context_properties *properties, cl_gl_context_info param_name,
781 size_t param_value_size,
void *param_value,
size_t *param_value_size_ret);
784 typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromGLsyncKHR)(
785 cl_context context, cl_GLsync sync, cl_int *errcode_ret);
791 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D10KHR)(
792 cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source,
793 void *d3d_object, cl_d3d10_device_set_khr d3d_device_set,
794 cl_uint num_entries, cl_device_id *devices,
795 cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
797 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10BufferKHR)(
798 cl_context context, cl_mem_flags flags, ID3D10Buffer *resource,
799 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
801 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture2DKHR)(
802 cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
803 UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
805 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture3DKHR)(
806 cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
807 UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
810 cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D10ObjectsKHR)(
811 cl_command_queue command_queue, cl_uint num_objects,
812 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
813 const cl_event *event_wait_list,
814 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
817 cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D10ObjectsKHR)(
818 cl_command_queue command_queue, cl_uint num_objects,
819 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
820 const cl_event *event_wait_list,
821 cl_event *event) CL_API_SUFFIX__VERSION_1_0;
823 extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR(
824 cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source,
825 void *d3d_object, cl_d3d10_device_set_khr d3d_device_set,
826 cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices);
828 extern CL_API_ENTRY cl_mem CL_API_CALL
829 clCreateFromD3D10BufferKHR(cl_context context, cl_mem_flags flags,
830 ID3D10Buffer *resource, cl_int *errcode_ret);
832 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR(
833 cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
834 UINT subresource, cl_int *errcode_ret);
836 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR(
837 cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
838 UINT subresource, cl_int *errcode_ret);
840 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR(
841 cl_command_queue command_queue, cl_uint num_objects,
842 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
843 const cl_event *event_wait_list, cl_event *event);
845 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR(
846 cl_command_queue command_queue, cl_uint num_objects,
847 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
848 const cl_event *event_wait_list, cl_event *event);
851 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D11KHR)(
852 cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source,
853 void *d3d_object, cl_d3d11_device_set_khr d3d_device_set,
854 cl_uint num_entries, cl_device_id *devices,
855 cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
857 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11BufferKHR)(
858 cl_context context, cl_mem_flags flags, ID3D11Buffer *resource,
859 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
861 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture2DKHR)(
862 cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
863 UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
865 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture3DKHR)(
866 cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
867 UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
870 cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D11ObjectsKHR)(
871 cl_command_queue command_queue, cl_uint num_objects,
872 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
873 const cl_event *event_wait_list,
874 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
877 cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D11ObjectsKHR)(
878 cl_command_queue command_queue, cl_uint num_objects,
879 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
880 const cl_event *event_wait_list,
881 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
885 cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR)(
886 cl_platform_id platform, cl_uint num_media_adapters,
887 cl_dx9_media_adapter_type_khr *media_adapters_type,
void *media_adapters,
888 cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries,
889 cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
891 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromDX9MediaSurfaceKHR)(
892 cl_context context, cl_mem_flags flags,
893 cl_dx9_media_adapter_type_khr adapter_type,
void *surface_info,
894 cl_uint plane, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
897 cl_int(CL_API_CALL *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR)(
898 cl_command_queue command_queue, cl_uint num_objects,
899 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
900 const cl_event *event_wait_list,
901 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
904 cl_int(CL_API_CALL *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR)(
905 cl_command_queue command_queue, cl_uint num_objects,
906 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
907 const cl_event *event_wait_list,
908 cl_event *event) CL_API_SUFFIX__VERSION_1_2;
911 extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR(
912 cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source,
913 void *d3d_object, cl_d3d11_device_set_khr d3d_device_set,
914 cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices);
916 extern CL_API_ENTRY cl_mem CL_API_CALL
917 clCreateFromD3D11BufferKHR(cl_context context, cl_mem_flags flags,
918 ID3D11Buffer *resource, cl_int *errcode_ret);
920 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR(
921 cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
922 UINT subresource, cl_int *errcode_ret);
924 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR(
925 cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
926 UINT subresource, cl_int *errcode_ret);
928 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR(
929 cl_command_queue command_queue, cl_uint num_objects,
930 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
931 const cl_event *event_wait_list, cl_event *event);
933 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR(
934 cl_command_queue command_queue, cl_uint num_objects,
935 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
936 const cl_event *event_wait_list, cl_event *event);
939 extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR(
940 cl_platform_id platform, cl_uint num_media_adapters,
941 cl_dx9_media_adapter_type_khr *media_adapter_type,
void *media_adapters,
942 cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries,
943 cl_device_id *devices, cl_uint *num_devices);
945 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR(
946 cl_context context, cl_mem_flags flags,
947 cl_dx9_media_adapter_type_khr adapter_type,
void *surface_info,
948 cl_uint plane, cl_int *errcode_ret);
950 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR(
951 cl_command_queue command_queue, cl_uint num_objects,
952 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
953 const cl_event *event_wait_list, cl_event *event);
955 extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR(
956 cl_command_queue command_queue, cl_uint num_objects,
957 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
958 const cl_event *event_wait_list, cl_event *event);
963 typedef void *cl_api_clGetDeviceIDsFromD3D10KHR;
964 typedef void *cl_api_clCreateFromD3D10BufferKHR;
965 typedef void *cl_api_clCreateFromD3D10Texture2DKHR;
966 typedef void *cl_api_clCreateFromD3D10Texture3DKHR;
967 typedef void *cl_api_clEnqueueAcquireD3D10ObjectsKHR;
968 typedef void *cl_api_clEnqueueReleaseD3D10ObjectsKHR;
971 typedef void *cl_api_clGetDeviceIDsFromD3D11KHR;
972 typedef void *cl_api_clCreateFromD3D11BufferKHR;
973 typedef void *cl_api_clCreateFromD3D11Texture2DKHR;
974 typedef void *cl_api_clCreateFromD3D11Texture3DKHR;
975 typedef void *cl_api_clEnqueueAcquireD3D11ObjectsKHR;
976 typedef void *cl_api_clEnqueueReleaseD3D11ObjectsKHR;
979 typedef void *cl_api_clCreateFromDX9MediaSurfaceKHR;
980 typedef void *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR;
981 typedef void *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR;
982 typedef void *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR;
988 #ifdef CL_VERSION_1_1
990 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetEventCallback)(
992 void(CL_CALLBACK * )(cl_event, cl_int,
void *),
993 void * ) CL_API_SUFFIX__VERSION_1_1;
995 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateSubBuffer)(
996 cl_mem , cl_mem_flags ,
997 cl_buffer_create_type ,
999 cl_int * ) CL_API_SUFFIX__VERSION_1_1;
1001 typedef CL_API_ENTRY
1002 cl_int(CL_API_CALL *cl_api_clSetMemObjectDestructorCallback)(
1004 void(CL_CALLBACK * )(cl_mem ,
1006 void * ) CL_API_SUFFIX__VERSION_1_1;
1008 typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateUserEvent)(
1010 cl_int * ) CL_API_SUFFIX__VERSION_1_1;
1012 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)(
1014 cl_int ) CL_API_SUFFIX__VERSION_1_1;
1018 typedef void *cl_api_clSetEventCallback;
1019 typedef void *cl_api_clCreateSubBuffer;
1020 typedef void *cl_api_clSetMemObjectDestructorCallback;
1021 typedef void *cl_api_clCreateUserEvent;
1022 typedef void *cl_api_clSetUserEventStatus;
1026 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevicesEXT)(
1027 cl_device_id in_device,
1028 const cl_device_partition_property_ext *partition_properties,
1029 cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
1031 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDeviceEXT)(
1032 cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
1034 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDeviceEXT)(
1035 cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
1038 typedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromEGLImageKHR)(
1039 cl_context context, CLeglDisplayKHR display, CLeglImageKHR image,
1040 cl_mem_flags flags,
const cl_egl_image_properties_khr *properties,
1041 cl_int *errcode_ret);
1043 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireEGLObjectsKHR)(
1044 cl_command_queue command_queue, cl_uint num_objects,
1045 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
1046 const cl_event *event_wait_list, cl_event *event);
1048 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseEGLObjectsKHR)(
1049 cl_command_queue command_queue, cl_uint num_objects,
1050 const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
1051 const cl_event *event_wait_list, cl_event *event);
1054 typedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromEGLSyncKHR)(
1055 cl_context context, CLeglSyncKHR sync, CLeglDisplayKHR display,
1056 cl_int *errcode_ret);
1058 #ifdef CL_VERSION_2_1
1060 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetDefaultDeviceCommandQueue)(
1061 cl_context context, cl_device_id device,
1062 cl_command_queue command_queue) CL_API_SUFFIX__VERSION_2_1;
1064 typedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithIL)(
1065 cl_context context,
const void *il,
size_t length,
1066 cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1068 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfo)(
1069 cl_kernel kernel, cl_device_id device, cl_kernel_sub_group_info param_name,
1070 size_t input_value_size,
const void *input_value,
size_t param_value_size,
1071 void *param_value,
size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_2_1;
1073 typedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCloneKernel)(
1074 cl_kernel source_kernel, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1076 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMigrateMem)(
1077 cl_command_queue command_queue, cl_uint num_svm_pointers,
1078 const void **svm_pointers,
const size_t *sizes,
1079 cl_mem_migration_flags flags, cl_uint num_events_in_wait_list,
1080 const cl_event *event_wait_list,
1081 cl_event *event) CL_API_SUFFIX__VERSION_2_1;
1083 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceAndHostTimer)(
1084 cl_device_id device, cl_ulong *device_timestamp,
1085 cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1087 typedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetHostTimer)(
1088 cl_device_id device, cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1092 typedef void *cl_api_clSetDefaultDeviceCommandQueue;
1093 typedef void *cl_api_clCreateProgramWithIL;
1094 typedef void *cl_api_clGetKernelSubGroupInfo;
1095 typedef void *cl_api_clCloneKernel;
1096 typedef void *cl_api_clEnqueueSVMMigrateMem;
1097 typedef void *cl_api_clGetDeviceAndHostTimer;
1098 typedef void *cl_api_clGetHostTimer;
1106 cl_api_clGetPlatformIDs clGetPlatformIDs;
1107 cl_api_clGetPlatformInfo clGetPlatformInfo;
1108 cl_api_clGetDeviceIDs clGetDeviceIDs;
1109 cl_api_clGetDeviceInfo clGetDeviceInfo;
1110 cl_api_clCreateContext clCreateContext;
1111 cl_api_clCreateContextFromType clCreateContextFromType;
1112 cl_api_clRetainContext clRetainContext;
1113 cl_api_clReleaseContext clReleaseContext;
1114 cl_api_clGetContextInfo clGetContextInfo;
1115 cl_api_clCreateCommandQueue clCreateCommandQueue;
1116 cl_api_clRetainCommandQueue clRetainCommandQueue;
1117 cl_api_clReleaseCommandQueue clReleaseCommandQueue;
1118 cl_api_clGetCommandQueueInfo clGetCommandQueueInfo;
1119 cl_api_clSetCommandQueueProperty clSetCommandQueueProperty;
1120 cl_api_clCreateBuffer clCreateBuffer;
1121 cl_api_clCreateImage2D clCreateImage2D;
1122 cl_api_clCreateImage3D clCreateImage3D;
1123 cl_api_clRetainMemObject clRetainMemObject;
1124 cl_api_clReleaseMemObject clReleaseMemObject;
1125 cl_api_clGetSupportedImageFormats clGetSupportedImageFormats;
1126 cl_api_clGetMemObjectInfo clGetMemObjectInfo;
1127 cl_api_clGetImageInfo clGetImageInfo;
1128 cl_api_clCreateSampler clCreateSampler;
1129 cl_api_clRetainSampler clRetainSampler;
1130 cl_api_clReleaseSampler clReleaseSampler;
1131 cl_api_clGetSamplerInfo clGetSamplerInfo;
1132 cl_api_clCreateProgramWithSource clCreateProgramWithSource;
1133 cl_api_clCreateProgramWithBinary clCreateProgramWithBinary;
1134 cl_api_clRetainProgram clRetainProgram;
1135 cl_api_clReleaseProgram clReleaseProgram;
1136 cl_api_clBuildProgram clBuildProgram;
1137 cl_api_clUnloadCompiler clUnloadCompiler;
1138 cl_api_clGetProgramInfo clGetProgramInfo;
1139 cl_api_clGetProgramBuildInfo clGetProgramBuildInfo;
1140 cl_api_clCreateKernel clCreateKernel;
1141 cl_api_clCreateKernelsInProgram clCreateKernelsInProgram;
1142 cl_api_clRetainKernel clRetainKernel;
1143 cl_api_clReleaseKernel clReleaseKernel;
1144 cl_api_clSetKernelArg clSetKernelArg;
1145 cl_api_clGetKernelInfo clGetKernelInfo;
1146 cl_api_clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo;
1147 cl_api_clWaitForEvents clWaitForEvents;
1148 cl_api_clGetEventInfo clGetEventInfo;
1149 cl_api_clRetainEvent clRetainEvent;
1150 cl_api_clReleaseEvent clReleaseEvent;
1151 cl_api_clGetEventProfilingInfo clGetEventProfilingInfo;
1152 cl_api_clFlush clFlush;
1153 cl_api_clFinish clFinish;
1154 cl_api_clEnqueueReadBuffer clEnqueueReadBuffer;
1155 cl_api_clEnqueueWriteBuffer clEnqueueWriteBuffer;
1156 cl_api_clEnqueueCopyBuffer clEnqueueCopyBuffer;
1157 cl_api_clEnqueueReadImage clEnqueueReadImage;
1158 cl_api_clEnqueueWriteImage clEnqueueWriteImage;
1159 cl_api_clEnqueueCopyImage clEnqueueCopyImage;
1160 cl_api_clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer;
1161 cl_api_clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage;
1162 cl_api_clEnqueueMapBuffer clEnqueueMapBuffer;
1163 cl_api_clEnqueueMapImage clEnqueueMapImage;
1164 cl_api_clEnqueueUnmapMemObject clEnqueueUnmapMemObject;
1165 cl_api_clEnqueueNDRangeKernel clEnqueueNDRangeKernel;
1166 cl_api_clEnqueueTask clEnqueueTask;
1167 cl_api_clEnqueueNativeKernel clEnqueueNativeKernel;
1168 cl_api_clEnqueueMarker clEnqueueMarker;
1169 cl_api_clEnqueueWaitForEvents clEnqueueWaitForEvents;
1170 cl_api_clEnqueueBarrier clEnqueueBarrier;
1171 cl_api_clGetExtensionFunctionAddress clGetExtensionFunctionAddress;
1172 cl_api_clCreateFromGLBuffer clCreateFromGLBuffer;
1173 cl_api_clCreateFromGLTexture2D clCreateFromGLTexture2D;
1174 cl_api_clCreateFromGLTexture3D clCreateFromGLTexture3D;
1175 cl_api_clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer;
1176 cl_api_clGetGLObjectInfo clGetGLObjectInfo;
1177 cl_api_clGetGLTextureInfo clGetGLTextureInfo;
1178 cl_api_clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects;
1179 cl_api_clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects;
1180 cl_api_clGetGLContextInfoKHR clGetGLContextInfoKHR;
1183 cl_api_clGetDeviceIDsFromD3D10KHR clGetDeviceIDsFromD3D10KHR;
1184 cl_api_clCreateFromD3D10BufferKHR clCreateFromD3D10BufferKHR;
1185 cl_api_clCreateFromD3D10Texture2DKHR clCreateFromD3D10Texture2DKHR;
1186 cl_api_clCreateFromD3D10Texture3DKHR clCreateFromD3D10Texture3DKHR;
1187 cl_api_clEnqueueAcquireD3D10ObjectsKHR clEnqueueAcquireD3D10ObjectsKHR;
1188 cl_api_clEnqueueReleaseD3D10ObjectsKHR clEnqueueReleaseD3D10ObjectsKHR;
1191 cl_api_clSetEventCallback clSetEventCallback;
1192 cl_api_clCreateSubBuffer clCreateSubBuffer;
1193 cl_api_clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback;
1194 cl_api_clCreateUserEvent clCreateUserEvent;
1195 cl_api_clSetUserEventStatus clSetUserEventStatus;
1196 cl_api_clEnqueueReadBufferRect clEnqueueReadBufferRect;
1197 cl_api_clEnqueueWriteBufferRect clEnqueueWriteBufferRect;
1198 cl_api_clEnqueueCopyBufferRect clEnqueueCopyBufferRect;
1201 cl_api_clCreateSubDevicesEXT clCreateSubDevicesEXT;
1202 cl_api_clRetainDeviceEXT clRetainDeviceEXT;
1203 cl_api_clReleaseDeviceEXT clReleaseDeviceEXT;
1206 cl_api_clCreateEventFromGLsyncKHR clCreateEventFromGLsyncKHR;
1209 cl_api_clCreateSubDevices clCreateSubDevices;
1210 cl_api_clRetainDevice clRetainDevice;
1211 cl_api_clReleaseDevice clReleaseDevice;
1212 cl_api_clCreateImage clCreateImage;
1213 cl_api_clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels;
1214 cl_api_clCompileProgram clCompileProgram;
1215 cl_api_clLinkProgram clLinkProgram;
1216 cl_api_clUnloadPlatformCompiler clUnloadPlatformCompiler;
1217 cl_api_clGetKernelArgInfo clGetKernelArgInfo;
1218 cl_api_clEnqueueFillBuffer clEnqueueFillBuffer;
1219 cl_api_clEnqueueFillImage clEnqueueFillImage;
1220 cl_api_clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects;
1221 cl_api_clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList;
1222 cl_api_clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList;
1223 cl_api_clGetExtensionFunctionAddressForPlatform
1224 clGetExtensionFunctionAddressForPlatform;
1225 cl_api_clCreateFromGLTexture clCreateFromGLTexture;
1228 cl_api_clGetDeviceIDsFromD3D11KHR clGetDeviceIDsFromD3D11KHR;
1229 cl_api_clCreateFromD3D11BufferKHR clCreateFromD3D11BufferKHR;
1230 cl_api_clCreateFromD3D11Texture2DKHR clCreateFromD3D11Texture2DKHR;
1231 cl_api_clCreateFromD3D11Texture3DKHR clCreateFromD3D11Texture3DKHR;
1232 cl_api_clCreateFromDX9MediaSurfaceKHR clCreateFromDX9MediaSurfaceKHR;
1233 cl_api_clEnqueueAcquireD3D11ObjectsKHR clEnqueueAcquireD3D11ObjectsKHR;
1234 cl_api_clEnqueueReleaseD3D11ObjectsKHR clEnqueueReleaseD3D11ObjectsKHR;
1237 cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR
1238 clGetDeviceIDsFromDX9MediaAdapterKHR;
1239 cl_api_clEnqueueAcquireDX9MediaSurfacesKHR
1240 clEnqueueAcquireDX9MediaSurfacesKHR;
1241 cl_api_clEnqueueReleaseDX9MediaSurfacesKHR
1242 clEnqueueReleaseDX9MediaSurfacesKHR;
1245 cl_api_clCreateFromEGLImageKHR clCreateFromEGLImageKHR;
1246 cl_api_clEnqueueAcquireEGLObjectsKHR clEnqueueAcquireEGLObjectsKHR;
1247 cl_api_clEnqueueReleaseEGLObjectsKHR clEnqueueReleaseEGLObjectsKHR;
1250 cl_api_clCreateEventFromEGLSyncKHR clCreateEventFromEGLSyncKHR;
1253 cl_api_clCreateCommandQueueWithProperties clCreateCommandQueueWithProperties;
1254 cl_api_clCreatePipe clCreatePipe;
1255 cl_api_clGetPipeInfo clGetPipeInfo;
1256 cl_api_clSVMAlloc clSVMAlloc;
1257 cl_api_clSVMFree clSVMFree;
1258 cl_api_clEnqueueSVMFree clEnqueueSVMFree;
1259 cl_api_clEnqueueSVMMemcpy clEnqueueSVMMemcpy;
1260 cl_api_clEnqueueSVMMemFill clEnqueueSVMMemFill;
1261 cl_api_clEnqueueSVMMap clEnqueueSVMMap;
1262 cl_api_clEnqueueSVMUnmap clEnqueueSVMUnmap;
1263 cl_api_clCreateSamplerWithProperties clCreateSamplerWithProperties;
1264 cl_api_clSetKernelArgSVMPointer clSetKernelArgSVMPointer;
1265 cl_api_clSetKernelExecInfo clSetKernelExecInfo;
1268 cl_api_clGetKernelSubGroupInfoKHR clGetKernelSubGroupInfoKHR;
1271 cl_api_clCloneKernel clCloneKernel;
1272 cl_api_clCreateProgramWithIL clCreateProgramWithIL;
1273 cl_api_clEnqueueSVMMigrateMem clEnqueueSVMMigrateMem;
1274 cl_api_clGetDeviceAndHostTimer clGetDeviceAndHostTimer;
1275 cl_api_clGetHostTimer clGetHostTimer;
1276 cl_api_clGetKernelSubGroupInfo clGetKernelSubGroupInfo;
1277 cl_api_clSetDefaultDeviceCommandQueue clSetDefaultDeviceCommandQueue;
1280 cl_api_clSetProgramReleaseCallback clSetProgramReleaseCallback;
1281 cl_api_clSetProgramSpecializationConstant clSetProgramSpecializationConstant;
1284 cl_api_clCreateBufferWithProperties clCreateBufferWithProperties;
1285 cl_api_clCreateImageWithProperties clCreateImageWithProperties;
1286 cl_api_clSetContextDestructorCallback clSetContextDestructorCallback;