1#![allow(non_snake_case)]
2
3use dlopen2::wrapper::WrapperApi;
4
5use crate::types::{
6 cl_dx9_media_sharing::*, cl_egl::*, cl_ext::*, cl_gl::*, cl_icd::*, cl_layer::*,
7 cl_platform::*, *,
8};
9
10mod utils;
11pub use utils::{is_opencl_runtime_available, load_library, OpenClRuntime};
12
13#[derive(WrapperApi)]
16pub struct OpenCl {
17 clGetPlatformIDs: Option<
19 fn(
20 num_entries: cl_uint,
21 platforms: *mut cl_platform_id,
22 num_platforms: *mut cl_uint,
23 ) -> cl_int,
24 >,
25
26 clGetPlatformInfo: Option<
27 fn(
28 platform: cl_platform_id,
29 param_name: cl_platform_info,
30 param_value_size: size_t,
31 param_value: *mut c_void,
32 param_value_size_ret: *mut size_t,
33 ) -> cl_int,
34 >,
35
36 clGetDeviceIDs: Option<
38 fn(
39 platform: cl_platform_id,
40 device_type: cl_device_type,
41 num_entries: cl_uint,
42 devices: *mut cl_device_id,
43 num_devices: *mut cl_uint,
44 ) -> cl_int,
45 >,
46
47 clGetDeviceInfo: Option<
48 fn(
49 device: cl_device_id,
50 param_name: cl_device_info,
51 param_value_size: size_t,
52 param_value: *mut c_void,
53 param_value_size_ret: *mut size_t,
54 ) -> cl_int,
55 >,
56
57 clCreateSubDevices: Option<
58 fn(
59 in_device: cl_device_id,
60 properties: *const cl_device_partition_property,
61 num_devices: cl_uint,
62 out_devices: *mut cl_device_id,
63 num_devices_ret: *mut cl_uint,
64 ) -> cl_int,
65 >,
66
67 clRetainDevice: Option<fn(device: cl_device_id) -> cl_int>,
68
69 clReleaseDevice: Option<fn(device: cl_device_id) -> cl_int>,
70
71 clSetDefaultDeviceCommandQueue: Option<
72 fn(context: cl_context, device: cl_device_id, command_queue: cl_command_queue) -> cl_int,
73 >,
74
75 clGetDeviceAndHostTimer: Option<
76 fn(
77 device: cl_device_id,
78 device_timestamp: *mut cl_ulong,
79 host_timestamp: *mut cl_ulong,
80 ) -> cl_int,
81 >,
82
83 clGetHostTimer: Option<fn(device: cl_device_id, host_timestamp: *mut cl_ulong) -> cl_int>,
84
85 clCreateContext: Option<
87 fn(
88 properties: *const cl_context_properties,
89 num_devices: cl_uint,
90 devices: *const cl_device_id,
91 pfn_notify: Option<
92 unsafe extern "C" fn(
93 errinfo: *const c_char,
94 private_info: *const c_void,
95 cb: size_t,
96 user_data: *mut c_void,
97 ),
98 >,
99 user_data: *mut c_void,
100 errcode_ret: *mut cl_int,
101 ) -> cl_context,
102 >,
103
104 clCreateContextFromType: Option<
105 fn(
106 properties: *const cl_context_properties,
107 device_type: cl_device_type,
108 pfn_notify: Option<
109 unsafe extern "C" fn(
110 errinfo: *const c_char,
111 private_info: *const c_void,
112 cb: size_t,
113 user_data: *mut c_void,
114 ),
115 >,
116 user_data: *mut c_void,
117 errcode_ret: *mut cl_int,
118 ) -> cl_context,
119 >,
120
121 clRetainContext: Option<fn(context: cl_context) -> cl_int>,
122
123 clReleaseContext: Option<fn(context: cl_context) -> cl_int>,
124
125 clGetContextInfo: Option<
126 fn(
127 context: cl_context,
128 param_name: cl_context_info,
129 param_value_size: size_t,
130 param_value: *mut c_void,
131 param_value_size_ret: *mut size_t,
132 ) -> cl_int,
133 >,
134
135 clSetContextDestructorCallback: Option<
136 fn(
137 context: cl_context,
138 pfn_notify: Option<unsafe extern "C" fn(context: cl_context, user_data: *mut c_void)>,
139 user_data: *mut c_void,
140 ) -> cl_int,
141 >,
142
143 clCreateCommandQueueWithProperties: Option<
145 fn(
146 context: cl_context,
147 device: cl_device_id,
148 properties: *const cl_queue_properties,
149 errcode_ret: *mut cl_int,
150 ) -> cl_command_queue,
151 >,
152
153 clRetainCommandQueue: Option<fn(command_queue: cl_command_queue) -> cl_int>,
154
155 clReleaseCommandQueue: Option<fn(command_queue: cl_command_queue) -> cl_int>,
156
157 clGetCommandQueueInfo: Option<
158 fn(
159 command_queue: cl_command_queue,
160 param_name: cl_command_queue_info,
161 param_value_size: size_t,
162 param_value: *mut c_void,
163 param_value_size_ret: *mut size_t,
164 ) -> cl_int,
165 >,
166
167 clCreateBuffer: Option<
169 fn(
170 context: cl_context,
171 flags: cl_mem_flags,
172 size: size_t,
173 host_ptr: *mut c_void,
174 errcode_ret: *mut cl_int,
175 ) -> cl_mem,
176 >,
177
178 clCreateSubBuffer: Option<
179 fn(
180 buffer: cl_mem,
181 flags: cl_mem_flags,
182 buffer_create_type: cl_buffer_create_type,
183 buffer_create_info: *const c_void,
184 errcode_ret: *mut cl_int,
185 ) -> cl_mem,
186 >,
187
188 clCreateImage: Option<
189 fn(
190 context: cl_context,
191 flags: cl_mem_flags,
192 image_format: *const cl_image_format,
193 image_desc: *const cl_image_desc,
194 host_ptr: *mut c_void,
195 errcode_ret: *mut cl_int,
196 ) -> cl_mem,
197 >,
198
199 clCreatePipe: Option<
200 fn(
201 context: cl_context,
202 flags: cl_mem_flags,
203 pipe_packet_size: cl_uint,
204 pipe_max_packets: cl_uint,
205 properties: *const cl_pipe_properties,
206 errcode_ret: *mut cl_int,
207 ) -> cl_mem,
208 >,
209
210 clCreateBufferWithProperties: Option<
211 fn(
212 context: cl_context,
213 properties: *const cl_mem_properties,
214 flags: cl_mem_flags,
215 size: size_t,
216 host_ptr: *mut c_void,
217 errcode_ret: *mut cl_int,
218 ) -> cl_mem,
219 >,
220
221 clCreateImageWithProperties: Option<
222 fn(
223 context: cl_context,
224 properties: *const cl_mem_properties,
225 flags: cl_mem_flags,
226 image_format: *const cl_image_format,
227 image_desc: *const cl_image_desc,
228 host_ptr: *mut c_void,
229 errcode_ret: *mut cl_int,
230 ) -> cl_mem,
231 >,
232
233 clRetainMemObject: Option<fn(memobj: cl_mem) -> cl_int>,
234
235 clReleaseMemObject: Option<fn(memobj: cl_mem) -> cl_int>,
236
237 clGetSupportedImageFormats: Option<
238 fn(
239 context: cl_context,
240 flags: cl_mem_flags,
241 image_type: cl_mem_object_type,
242 num_entries: cl_uint,
243 image_formats: *mut cl_image_format,
244 num_image_formats: *mut cl_uint,
245 ) -> cl_int,
246 >,
247
248 clGetMemObjectInfo: Option<
249 fn(
250 memobj: cl_mem,
251 param_name: cl_mem_info,
252 param_value_size: size_t,
253 param_value: *mut c_void,
254 param_value_size_ret: *mut size_t,
255 ) -> cl_int,
256 >,
257
258 clGetImageInfo: Option<
259 fn(
260 image: cl_mem,
261 param_name: cl_image_info,
262 param_value_size: size_t,
263 param_value: *mut c_void,
264 param_value_size_ret: *mut size_t,
265 ) -> cl_int,
266 >,
267
268 clGetPipeInfo: Option<
269 fn(
270 pipe: cl_mem,
271 param_name: cl_pipe_info,
272 param_value_size: size_t,
273 param_value: *mut c_void,
274 param_value_size_ret: *mut size_t,
275 ) -> cl_int,
276 >,
277
278 clSetMemObjectDestructorCallback: Option<
279 fn(
280 memobj: cl_mem,
281 pfn_notify: Option<unsafe extern "C" fn(memobj: cl_mem, user_data: *mut c_void)>,
282 user_data: *mut c_void,
283 ) -> cl_int,
284 >,
285
286 clSVMAlloc: Option<
288 fn(
289 context: cl_context,
290 flags: cl_svm_mem_flags,
291 size: size_t,
292 alignment: cl_uint,
293 ) -> *mut c_void,
294 >,
295
296 clSVMFree: Option<fn(context: cl_context, svm_pointer: *mut c_void)>,
297
298 clCreateSamplerWithProperties: Option<
300 fn(
301 context: cl_context,
302 normalized_coords: *const cl_sampler_properties,
303 errcode_ret: *mut cl_int,
304 ) -> cl_sampler,
305 >,
306
307 clRetainSampler: Option<fn(sampler: cl_sampler) -> cl_int>,
308
309 clReleaseSampler: Option<fn(sampler: cl_sampler) -> cl_int>,
310
311 clGetSamplerInfo: Option<
312 fn(
313 sampler: cl_sampler,
314 param_name: cl_sampler_info,
315 param_value_size: size_t,
316 param_value: *mut c_void,
317 param_value_size_ret: *mut size_t,
318 ) -> cl_int,
319 >,
320
321 clCreateProgramWithSource: Option<
323 fn(
324 context: cl_context,
325 count: cl_uint,
326 strings: *const *const c_char,
327 lengths: *const size_t,
328 errcode_ret: *mut cl_int,
329 ) -> cl_program,
330 >,
331
332 clCreateProgramWithBinary: Option<
333 fn(
334 context: cl_context,
335 num_devices: cl_uint,
336 device_list: *const cl_device_id,
337 lengths: *const size_t,
338 binaries: *const *const c_uchar,
339 binary_status: *mut cl_int,
340 errcode_ret: *mut cl_int,
341 ) -> cl_program,
342 >,
343
344 clCreateProgramWithBuiltInKernels: Option<
345 fn(
346 context: cl_context,
347 num_devices: cl_uint,
348 device_list: *const cl_device_id,
349 kernel_names: *const c_char,
350 errcode_ret: *mut cl_int,
351 ) -> cl_program,
352 >,
353
354 clCreateProgramWithIL: Option<
355 fn(
356 context: cl_context,
357 il: *const c_void,
358 length: size_t,
359 errcode_ret: *mut cl_int,
360 ) -> cl_program,
361 >,
362
363 clRetainProgram: Option<fn(program: cl_program) -> cl_int>,
364
365 clReleaseProgram: Option<fn(program: cl_program) -> cl_int>,
366
367 clBuildProgram: Option<
368 fn(
369 program: cl_program,
370 num_devices: cl_uint,
371 device_list: *const cl_device_id,
372 options: *const c_char,
373 pfn_notify: Option<unsafe extern "C" fn(program: cl_program, user_data: *mut c_void)>,
374 user_data: *mut c_void,
375 ) -> cl_int,
376 >,
377
378 clCompileProgram: Option<
379 fn(
380 program: cl_program,
381 num_devices: cl_uint,
382 device_list: *const cl_device_id,
383 options: *const c_char,
384 num_input_headers: cl_uint,
385 input_headers: *const cl_program,
386 header_include_names: *const *const c_char,
387 pfn_notify: Option<unsafe extern "C" fn(program: cl_program, user_data: *mut c_void)>,
388 user_data: *mut c_void,
389 ) -> cl_int,
390 >,
391
392 clLinkProgram: Option<
393 fn(
394 context: cl_context,
395 num_devices: cl_uint,
396 device_list: *const cl_device_id,
397 options: *const c_char,
398 num_input_programs: cl_uint,
399 input_programs: *const cl_program,
400 pfn_notify: Option<unsafe extern "C" fn(program: cl_program, user_data: *mut c_void)>,
401 user_data: *mut c_void,
402 errcode_ret: *mut cl_int,
403 ) -> cl_program,
404 >,
405
406 clSetProgramReleaseCallback: Option<
407 fn(
408 program: cl_program,
409 pfn_notify: Option<unsafe extern "C" fn(program: cl_program, user_data: *mut c_void)>,
410 user_data: *mut c_void,
411 ) -> cl_int,
412 >,
413
414 clSetProgramSpecializationConstant: Option<
415 fn(
416 program: cl_program,
417 spec_id: cl_uint,
418 spec_size: size_t,
419 spec_value: *const c_void,
420 ) -> cl_int,
421 >,
422
423 clUnloadPlatformCompiler: Option<fn(platform: cl_platform_id) -> cl_int>,
424
425 clGetProgramInfo: Option<
426 fn(
427 program: cl_program,
428 param_name: cl_program_info,
429 param_value_size: size_t,
430 param_value: *mut c_void,
431 param_value_size_ret: *mut size_t,
432 ) -> cl_int,
433 >,
434
435 clGetProgramBuildInfo: Option<
436 fn(
437 program: cl_program,
438 device: cl_device_id,
439 param_name: cl_program_build_info,
440 param_value_size: size_t,
441 param_value: *mut c_void,
442 param_value_size_ret: *mut size_t,
443 ) -> cl_int,
444 >,
445
446 clCreateKernel: Option<
448 fn(program: cl_program, kernel_name: *const c_char, errcode_ret: *mut cl_int) -> cl_kernel,
449 >,
450
451 clCreateKernelsInProgram: Option<
452 fn(
453 program: cl_program,
454 num_kernels: cl_uint,
455 kernels: *mut cl_kernel,
456 num_kernels_ret: *mut cl_uint,
457 ) -> cl_int,
458 >,
459
460 clCloneKernel: Option<fn(source_kernel: cl_kernel, errcode_ret: *mut cl_int) -> cl_kernel>,
461
462 clRetainKernel: Option<fn(kernel: cl_kernel) -> cl_int>,
463
464 clReleaseKernel: Option<fn(kernel: cl_kernel) -> cl_int>,
465
466 clSetKernelArg: Option<
467 fn(
468 kernel: cl_kernel,
469 arg_index: cl_uint,
470 arg_size: size_t,
471 arg_value: *const c_void,
472 ) -> cl_int,
473 >,
474
475 clSetKernelArgSVMPointer:
476 Option<fn(kernel: cl_kernel, arg_index: cl_uint, arg_value: *const c_void) -> cl_int>,
477
478 clSetKernelExecInfo: Option<
479 fn(
480 kernel: cl_kernel,
481 param_name: cl_kernel_exec_info,
482 param_value_size: size_t,
483 param_value: *const c_void,
484 ) -> cl_int,
485 >,
486
487 clGetKernelInfo: Option<
488 fn(
489 kernel: cl_kernel,
490 param_name: cl_kernel_info,
491 param_value_size: size_t,
492 param_value: *mut c_void,
493 param_value_size_ret: *mut size_t,
494 ) -> cl_int,
495 >,
496
497 clGetKernelArgInfo: Option<
498 fn(
499 kernel: cl_kernel,
500 arg_indx: cl_uint,
501 param_name: cl_kernel_arg_info,
502 param_value_size: size_t,
503 param_value: *mut c_void,
504 param_value_size_ret: *mut size_t,
505 ) -> cl_int,
506 >,
507
508 clGetKernelWorkGroupInfo: Option<
509 fn(
510 kernel: cl_kernel,
511 device: cl_device_id,
512 param_name: cl_kernel_work_group_info,
513 param_value_size: size_t,
514 param_value: *mut c_void,
515 param_value_size_ret: *mut size_t,
516 ) -> cl_int,
517 >,
518
519 clGetKernelSubGroupInfo: Option<
520 fn(
521 kernel: cl_kernel,
522 device: cl_device_id,
523 param_name: cl_kernel_sub_group_info,
524 input_value_size: size_t,
525 input_value: *const c_void,
526 param_value_size: size_t,
527 param_value: *mut c_void,
528 param_value_size_ret: *mut size_t,
529 ) -> cl_int,
530 >,
531
532 clWaitForEvents: Option<fn(num_events: cl_uint, event_list: *const cl_event) -> cl_int>,
534
535 clGetEventInfo: Option<
536 fn(
537 event: cl_event,
538 param_name: cl_event_info,
539 param_value_size: size_t,
540 param_value: *mut c_void,
541 param_value_size_ret: *mut size_t,
542 ) -> cl_int,
543 >,
544
545 clCreateUserEvent: Option<fn(context: cl_context, errcode_ret: *mut cl_int) -> cl_event>,
546
547 clRetainEvent: Option<fn(event: cl_event) -> cl_int>,
548
549 clReleaseEvent: Option<fn(event: cl_event) -> cl_int>,
550
551 clSetUserEventStatus: Option<fn(event: cl_event, execution_status: cl_int) -> cl_int>,
552
553 clSetEventCallback: Option<
554 fn(
555 event: cl_event,
556 command_exec_callback_type: cl_int,
557 pfn_notify: Option<
558 unsafe extern "C" fn(
559 event: cl_event,
560 event_command_status: cl_int,
561 user_data: *mut c_void,
562 ),
563 >,
564 user_data: *mut c_void,
565 ) -> cl_int,
566 >,
567
568 clGetEventProfilingInfo: Option<
570 fn(
571 event: cl_event,
572 param_name: cl_profiling_info,
573 param_value_size: size_t,
574 param_value: *mut c_void,
575 param_value_size_ret: *mut size_t,
576 ) -> cl_int,
577 >,
578
579 clFlush: Option<fn(command_queue: cl_command_queue) -> cl_int>,
581
582 clFinish: Option<fn(command_queue: cl_command_queue) -> cl_int>,
583
584 clEnqueueReadBuffer: Option<
586 fn(
587 command_queue: cl_command_queue,
588 buffer: cl_mem,
589 blocking_read: cl_bool,
590 offset: size_t,
591 cb: size_t,
592 ptr: *mut c_void,
593 num_events_in_wait_list: cl_uint,
594 event_wait_list: *const cl_event,
595 event: *mut cl_event,
596 ) -> cl_int,
597 >,
598
599 clEnqueueReadBufferRect: Option<
600 fn(
601 command_queue: cl_command_queue,
602 buffer: cl_mem,
603 blocking_read: cl_bool,
604 buffer_origin: *const size_t,
605 host_origin: *const size_t,
606 region: *const size_t,
607 buffer_row_pitch: size_t,
608 buffer_slc_pitch: size_t,
609 host_row_pitch: size_t,
610 host_slc_pitch: size_t,
611 ptr: *mut c_void,
612 num_events_in_wait_list: cl_uint,
613 event_wait_list: *const cl_event,
614 event: *mut cl_event,
615 ) -> cl_int,
616 >,
617
618 clEnqueueWriteBuffer: Option<
619 fn(
620 command_queue: cl_command_queue,
621 buffer: cl_mem,
622 blocking_write: cl_bool,
623 offset: size_t,
624 cb: size_t,
625 ptr: *const c_void,
626 num_events_in_wait_list: cl_uint,
627 event_wait_list: *const cl_event,
628 event: *mut cl_event,
629 ) -> cl_int,
630 >,
631
632 clEnqueueWriteBufferRect: Option<
633 fn(
634 command_queue: cl_command_queue,
635 buffer: cl_mem,
636 blocking_write: cl_bool,
637 buffer_origin: *const size_t,
638 host_origin: *const size_t,
639 region: *const size_t,
640 buffer_row_pitch: size_t,
641 buffer_slc_pitch: size_t,
642 host_row_pitch: size_t,
643 host_slc_pitch: size_t,
644 ptr: *const c_void,
645 num_events_in_wait_list: cl_uint,
646 event_wait_list: *const cl_event,
647 event: *mut cl_event,
648 ) -> cl_int,
649 >,
650
651 clEnqueueFillBuffer: Option<
652 fn(
653 command_queue: cl_command_queue,
654 buffer: cl_mem,
655 pattern: *const c_void,
656 pattern_size: size_t,
657 offset: size_t,
658 size: size_t,
659 num_events_in_wait_list: cl_uint,
660 event_wait_list: *const cl_event,
661 event: *mut cl_event,
662 ) -> cl_int,
663 >,
664
665 clEnqueueCopyBuffer: Option<
666 fn(
667 command_queue: cl_command_queue,
668 src_buffer: cl_mem,
669 dst_buffer: cl_mem,
670 src_offset: size_t,
671 dst_offset: size_t,
672 cb: size_t,
673 num_events_in_wait_list: cl_uint,
674 event_wait_list: *const cl_event,
675 event: *mut cl_event,
676 ) -> cl_int,
677 >,
678
679 clEnqueueCopyBufferRect: Option<
680 fn(
681 command_queue: cl_command_queue,
682 src_buffer: cl_mem,
683 dst_buffer: cl_mem,
684 src_origin: *const size_t,
685 dst_origin: *const size_t,
686 region: *const size_t,
687 src_row_pitch: size_t,
688 src_slice_pitch: size_t,
689 dst_row_pitch: size_t,
690 dst_slice_pitch: size_t,
691 num_events_in_wait_list: cl_uint,
692 event_wait_list: *const cl_event,
693 event: *mut cl_event,
694 ) -> cl_int,
695 >,
696
697 clEnqueueReadImage: Option<
698 fn(
699 command_queue: cl_command_queue,
700 image: cl_mem,
701 blocking_read: cl_bool,
702 origin: *const size_t,
703 region: *const size_t,
704 row_pitch: size_t,
705 slice_pitch: size_t,
706 ptr: *mut c_void,
707 num_events_in_wait_list: cl_uint,
708 event_wait_list: *const cl_event,
709 event: *mut cl_event,
710 ) -> cl_int,
711 >,
712
713 clEnqueueWriteImage: Option<
714 fn(
715 command_queue: cl_command_queue,
716 image: cl_mem,
717 blocking_write: cl_bool,
718 origin: *const size_t,
719 region: *const size_t,
720 input_row_pitch: size_t,
721 input_slice_pitch: size_t,
722 ptr: *const c_void,
723 num_events_in_wait_list: cl_uint,
724 event_wait_list: *const cl_event,
725 event: *mut cl_event,
726 ) -> cl_int,
727 >,
728
729 clEnqueueFillImage: Option<
730 fn(
731 command_queue: cl_command_queue,
732 image: cl_mem,
733 fill_color: *const c_void,
734 origin: *const size_t,
735 region: *const size_t,
736 num_events_in_wait_list: cl_uint,
737 event_wait_list: *const cl_event,
738 event: *mut cl_event,
739 ) -> cl_int,
740 >,
741
742 clEnqueueCopyImage: Option<
743 fn(
744 command_queue: cl_command_queue,
745 src_image: cl_mem,
746 dst_image: cl_mem,
747 src_origin: *const size_t,
748 dst_origin: *const size_t,
749 region: *const size_t,
750 num_events_in_wait_list: cl_uint,
751 event_wait_list: *const cl_event,
752 event: *mut cl_event,
753 ) -> cl_int,
754 >,
755
756 clEnqueueCopyImageToBuffer: Option<
757 fn(
758 command_queue: cl_command_queue,
759 src_image: cl_mem,
760 dst_buffer: cl_mem,
761 src_origin: *const size_t,
762 region: *const size_t,
763 dst_offset: size_t,
764 num_events_in_wait_list: cl_uint,
765 event_wait_list: *const cl_event,
766 event: *mut cl_event,
767 ) -> cl_int,
768 >,
769
770 clEnqueueCopyBufferToImage: Option<
771 fn(
772 command_queue: cl_command_queue,
773 src_buffer: cl_mem,
774 dst_image: cl_mem,
775 src_offset: size_t,
776 dst_origin: *const size_t,
777 region: *const size_t,
778 num_events_in_wait_list: cl_uint,
779 event_wait_list: *const cl_event,
780 event: *mut cl_event,
781 ) -> cl_int,
782 >,
783
784 clEnqueueMapBuffer: Option<
785 fn(
786 command_queue: cl_command_queue,
787 buffer: cl_mem,
788 blocking_map: cl_bool,
789 map_flags: cl_map_flags,
790 offset: size_t,
791 size: size_t,
792 num_events_in_wait_list: cl_uint,
793 event_wait_list: *const cl_event,
794 event: *mut cl_event,
795 errcode_ret: *mut cl_int,
796 ) -> *mut c_void,
797 >,
798
799 clEnqueueMapImage: Option<
800 fn(
801 command_queue: cl_command_queue,
802 image: cl_mem,
803 blocking_map: cl_bool,
804 map_flags: cl_map_flags,
805 origin: *const size_t,
806 region: *const size_t,
807 image_row_pitch: *mut size_t,
808 image_slice_pitch: *mut size_t,
809 num_events_in_wait_list: cl_uint,
810 event_wait_list: *const cl_event,
811 event: *mut cl_event,
812 errcode_ret: *mut cl_int,
813 ) -> *mut c_void,
814 >,
815
816 clEnqueueUnmapMemObject: Option<
817 fn(
818 command_queue: cl_command_queue,
819 memobj: cl_mem,
820 mapped_ptr: *mut c_void,
821 num_events_in_wait_list: cl_uint,
822 event_wait_list: *const cl_event,
823 event: *mut cl_event,
824 ) -> cl_int,
825 >,
826
827 clEnqueueMigrateMemObjects: Option<
828 fn(
829 command_queue: cl_command_queue,
830 num_mem_objects: cl_uint,
831 mem_objects: *const cl_mem,
832 flags: cl_mem_migration_flags,
833 num_events_in_wait_list: cl_uint,
834 event_wait_list: *const cl_event,
835 event: *mut cl_event,
836 ) -> cl_int,
837 >,
838
839 clEnqueueNDRangeKernel: Option<
840 fn(
841 command_queue: cl_command_queue,
842 kernel: cl_kernel,
843 work_dim: cl_uint,
844 global_work_offset: *const size_t,
845 global_work_dims: *const size_t,
846 local_work_dims: *const size_t,
847 num_events_in_wait_list: cl_uint,
848 event_wait_list: *const cl_event,
849 event: *mut cl_event,
850 ) -> cl_int,
851 >,
852
853 clEnqueueNativeKernel: Option<
854 fn(
855 command_queue: cl_command_queue,
856 user_func: Option<unsafe extern "C" fn(arg1: *mut c_void)>,
857 args: *mut c_void,
858 cb_args: size_t,
859 num_mem_objects: cl_uint,
860 mem_list: *const cl_mem,
861 args_mem_loc: *const *const c_void,
862 num_events_in_wait_list: cl_uint,
863 event_wait_list: *const cl_event,
864 event: *mut cl_event,
865 ) -> cl_int,
866 >,
867
868 clEnqueueMarkerWithWaitList: Option<
869 fn(
870 command_queue: cl_command_queue,
871 num_events_in_wait_list: cl_uint,
872 event_wait_list: *const cl_event,
873 event: *mut cl_event,
874 ) -> cl_int,
875 >,
876
877 clEnqueueBarrierWithWaitList: Option<
878 fn(
879 command_queue: cl_command_queue,
880 num_events_in_wait_list: cl_uint,
881 event_wait_list: *const cl_event,
882 event: *mut cl_event,
883 ) -> cl_int,
884 >,
885
886 clEnqueueSVMFree: Option<
887 fn(
888 command_queue: cl_command_queue,
889 num_svm_pointers: cl_uint,
890 svm_pointers: *const *const c_void,
891 pfn_free_func: Option<
892 unsafe extern "C" fn(
893 queue: cl_command_queue,
894 num_svm_pointers: cl_uint,
895 svm_pointers: *mut *mut c_void,
896 user_data: *mut c_void,
897 ),
898 >,
899 user_data: *mut c_void,
900 num_events_in_wait_list: cl_uint,
901 event_wait_list: *const cl_event,
902 event: *mut cl_event,
903 ) -> cl_int,
904 >,
905
906 clEnqueueSVMMemcpy: Option<
907 fn(
908 command_queue: cl_command_queue,
909 blocking_copy: cl_bool,
910 dst_ptr: *mut c_void,
911 src_ptr: *const c_void,
912 size: size_t,
913 num_events_in_wait_list: cl_uint,
914 event_wait_list: *const cl_event,
915 event: *mut cl_event,
916 ) -> cl_int,
917 >,
918
919 clEnqueueSVMMemFill: Option<
920 fn(
921 command_queue: cl_command_queue,
922 svm_ptr: *mut c_void,
923 pattern: *const c_void,
924 pattern_size: size_t,
925 size: size_t,
926 num_events_in_wait_list: cl_uint,
927 event_wait_list: *const cl_event,
928 event: *mut cl_event,
929 ) -> cl_int,
930 >,
931
932 clEnqueueSVMMap: Option<
933 fn(
934 command_queue: cl_command_queue,
935 blocking_map: cl_bool,
936 flags: cl_map_flags,
937 svm_ptr: *mut c_void,
938 size: size_t,
939 num_events_in_wait_list: cl_uint,
940 event_wait_list: *const cl_event,
941 event: *mut cl_event,
942 ) -> cl_int,
943 >,
944
945 clEnqueueSVMUnmap: Option<
946 fn(
947 command_queue: cl_command_queue,
948 svm_ptr: *mut c_void,
949 num_events_in_wait_list: cl_uint,
950 event_wait_list: *const cl_event,
951 event: *mut cl_event,
952 ) -> cl_int,
953 >,
954
955 clEnqueueSVMMigrateMem: Option<
956 fn(
957 command_queue: cl_command_queue,
958 num_svm_pointers: cl_uint,
959 svm_pointers: *const *const c_void,
960 sizes: *const size_t,
961 flags: cl_mem_migration_flags,
962 num_events_in_wait_list: cl_uint,
963 event_wait_list: *const cl_event,
964 event: *mut cl_event,
965 ) -> cl_int,
966 >,
967
968 clGetExtensionFunctionAddressForPlatform:
969 Option<fn(platform: cl_platform_id, func_name: *const c_char) -> *mut c_void>,
970
971 clCreateImage2D: Option<
973 fn(
974 context: cl_context,
975 flags: cl_mem_flags,
976 image_format: *mut cl_image_format,
977 image_width: size_t,
978 image_depth: size_t,
979 image_row_pitch: size_t,
980 host_ptr: *mut c_void,
981 errcode_ret: *mut cl_int,
982 ) -> cl_mem,
983 >,
984
985 clCreateImage3D: Option<
986 fn(
987 context: cl_context,
988 flags: cl_mem_flags,
989 image_format: *mut cl_image_format,
990 image_width: size_t,
991 image_height: size_t,
992 image_depth: size_t,
993 image_row_pitch: size_t,
994 image_slice_pitch: size_t,
995 host_ptr: *mut c_void,
996 errcode_ret: *mut cl_int,
997 ) -> cl_mem,
998 >,
999
1000 clEnqueueMarker: Option<fn(command_queue: cl_command_queue, event: *mut cl_event) -> cl_int>,
1001
1002 clEnqueueWaitForEvents: Option<
1003 fn(
1004 command_queue: cl_command_queue,
1005 num_events: cl_uint,
1006 event_list: *mut cl_event,
1007 ) -> cl_int,
1008 >,
1009
1010 clEnqueueBarrier: Option<fn(command_queue: cl_command_queue) -> cl_int>,
1011
1012 clUnloadCompiler: Option<fn() -> cl_int>,
1013
1014 clGetExtensionFunctionAddress: Option<fn(func_name: *const c_char)>,
1015
1016 clCreateCommandQueue: Option<
1018 fn(
1019 context: cl_context,
1020 device: cl_device_id,
1021 properties: cl_command_queue_properties,
1022 errcode_ret: *mut cl_int,
1023 ) -> cl_command_queue,
1024 >,
1025
1026 clCreateSampler: Option<
1027 fn(
1028 context: cl_context,
1029 normalize_coords: cl_bool,
1030 addressing_mode: cl_addressing_mode,
1031 filter_mode: cl_filter_mode,
1032 errcode_ret: *mut cl_int,
1033 ) -> cl_sampler,
1034 >,
1035
1036 clEnqueueTask: Option<
1038 fn(
1039 command_queue: cl_command_queue,
1040 kernel: cl_kernel,
1041 num_events_in_wait_list: cl_uint,
1042 event_wait_list: *const cl_event,
1043 event: *mut cl_event,
1044 ) -> cl_int,
1045 >,
1046
1047 clGetSupportedD3D10TextureFormatsINTEL: Option<
1049 fn(
1050 context: cl_context,
1051 flags: cl_mem_flags,
1052 image_type: cl_mem_object_type,
1053 num_entries: cl_uint,
1054 d3d10_formats: *mut DXGI_FORMAT,
1055 num_surface_formats: *mut cl_uint,
1056 ) -> cl_int,
1057 >,
1058
1059 clGetSupportedD3D11TextureFormatsINTEL: Option<
1061 fn(
1062 context: cl_context,
1063 flags: cl_mem_flags,
1064 image_type: cl_mem_object_type,
1065 plane: cl_uint,
1066 num_entries: cl_uint,
1067 d3d11_formats: *mut DXGI_FORMAT,
1068 num_surface_formats: *mut cl_uint,
1069 ) -> cl_int,
1070 >,
1071
1072 clGetDeviceIDsFromDX9INTEL: Option<
1074 fn(
1075 platform: cl_platform_id,
1076 dx9_device_source: cl_dx9_device_source_intel,
1077 dx9_object: *mut c_void,
1078 dx9_device_set: cl_dx9_device_set_intel,
1079 num_entries: cl_uint,
1080 devices: *mut cl_device_id,
1081 num_devices: *mut cl_uint,
1082 ) -> cl_int,
1083 >,
1084
1085 clCreateFromDX9MediaSurfaceINTEL: Option<
1086 fn(
1087 context: cl_context,
1088 flags: cl_mem_flags,
1089 resource: IDirect3DSurface9_ptr,
1090 sharedHandle: HANDLE,
1091 plane: cl_uint,
1092 errcode_ret: *mut cl_int,
1093 ) -> cl_mem,
1094 >,
1095
1096 clEnqueueAcquireDX9ObjectsINTEL: Option<
1097 fn(
1098 command_queue: cl_command_queue,
1099 num_objects: cl_uint,
1100 mem_objects: *const cl_mem,
1101 num_events_in_wait_list: cl_uint,
1102 event_wait_list: *const cl_event,
1103 event: *mut cl_event,
1104 ) -> cl_int,
1105 >,
1106
1107 clEnqueueReleaseDX9ObjectsINTEL: Option<
1108 fn(
1109 command_queue: cl_command_queue,
1110 num_objects: cl_uint,
1111 mem_objects: *const cl_mem,
1112 num_events_in_wait_list: cl_uint,
1113 event_wait_list: *const cl_event,
1114 event: *mut cl_event,
1115 ) -> cl_int,
1116 >,
1117
1118 clGetSupportedDX9MediaSurfaceFormatsINTEL: Option<
1119 fn(
1120 context: cl_context,
1121 flags: cl_mem_flags,
1122 image_type: cl_mem_object_type,
1123 plane: cl_uint,
1124 num_entries: cl_uint,
1125 dx9_formats: *mut D3DFORMAT,
1126 num_surface_formats: *mut cl_uint,
1127 ) -> cl_int,
1128 >,
1129
1130 clCreateFromEGLImageKHR: Option<
1132 fn(
1133 context: cl_context,
1134 display: CLeglDisplayKHR,
1135 image: CLeglImageKHR,
1136 flags: cl_mem_flags,
1137 properties: *const cl_egl_image_properties_khr,
1138 errcode_ret: *mut cl_int,
1139 ) -> cl_mem,
1140 >,
1141
1142 clEnqueueAcquireEGLObjectsKHR: Option<
1143 fn(
1144 command_queue: cl_command_queue,
1145 num_objects: cl_uint,
1146 mem_objects: *const cl_mem,
1147 num_events_in_wait_list: cl_uint,
1148 event_wait_list: *const cl_event,
1149 event: *mut cl_event,
1150 ) -> cl_int,
1151 >,
1152
1153 clEnqueueReleaseEGLObjectsKHR: Option<
1154 fn(
1155 command_queue: cl_command_queue,
1156 num_objects: cl_uint,
1157 mem_objects: *const cl_mem,
1158 num_events_in_wait_list: cl_uint,
1159 event_wait_list: *const cl_event,
1160 event: *mut cl_event,
1161 ) -> cl_int,
1162 >,
1163
1164 clCreateEventFromEGLSyncKHR: Option<
1165 fn(
1166 context: cl_context,
1167 sync: CLeglSyncKHR,
1168 display: CLeglDisplayKHR,
1169 errcode_ret: *mut cl_int,
1170 ) -> cl_event,
1171 >,
1172
1173 clCreateCommandBufferKHR: Option<
1175 fn(
1176 num_queues: cl_uint,
1177 queues: *const cl_command_queue,
1178 properties: *const cl_command_buffer_properties_khr,
1179 errcode_ret: *mut cl_int,
1180 ) -> cl_command_buffer_khr,
1181 >,
1182
1183 clFinalizeCommandBufferKHR: Option<fn(command_buffer: cl_command_buffer_khr) -> cl_int>,
1184
1185 clRetainCommandBufferKHR: Option<fn(command_buffer: cl_command_buffer_khr) -> cl_int>,
1186
1187 clReleaseCommandBufferKHR: Option<fn(command_buffer: cl_command_buffer_khr) -> cl_int>,
1188
1189 clEnqueueCommandBufferKHR: Option<
1190 fn(
1191 num_queues: cl_uint,
1192 queues: *mut cl_command_queue,
1193 command_buffer: cl_command_buffer_khr,
1194 num_events_in_wait_list: cl_uint,
1195 event_wait_list: *const cl_event,
1196 event: *mut cl_event,
1197 ) -> cl_int,
1198 >,
1199
1200 clCommandBarrierWithWaitListKHR: Option<
1201 fn(
1202 command_buffer: cl_command_buffer_khr,
1203 command_queue: cl_command_queue,
1204 num_sync_points_in_wait_list: cl_uint,
1205 sync_point_wait_list: *const cl_sync_point_khr,
1206 sync_point: *mut cl_sync_point_khr,
1207 mutable_handle: *mut cl_mutable_command_khr,
1208 ) -> cl_int,
1209 >,
1210
1211 clCommandCopyBufferKHR: Option<
1212 fn(
1213 command_buffer: cl_command_buffer_khr,
1214 command_queue: cl_command_queue,
1215 src_buffer: cl_mem,
1216 dst_buffer: cl_mem,
1217 src_offset: size_t,
1218 dst_offset: size_t,
1219 size: size_t,
1220 num_sync_points_in_wait_list: cl_uint,
1221 sync_point_wait_list: *const cl_sync_point_khr,
1222 sync_point: *mut cl_sync_point_khr,
1223 mutable_handle: *mut cl_mutable_command_khr,
1224 ) -> cl_int,
1225 >,
1226
1227 clCommandCopyBufferRectKHR: Option<
1228 fn(
1229 command_buffer: cl_command_buffer_khr,
1230 command_queue: cl_command_queue,
1231 src_buffer: cl_mem,
1232 dst_buffer: cl_mem,
1233 src_origin: *const size_t,
1234 dst_origin: *const size_t,
1235 region: *const size_t,
1236 src_row_pitch: size_t,
1237 src_slice_pitch: size_t,
1238 dst_row_pitch: size_t,
1239 dst_slice_pitch: size_t,
1240 num_sync_points_in_wait_list: cl_uint,
1241 sync_point_wait_list: *const cl_sync_point_khr,
1242 sync_point: *mut cl_sync_point_khr,
1243 mutable_handle: *mut cl_mutable_command_khr,
1244 ) -> cl_int,
1245 >,
1246
1247 clCommandCopyBufferToImageKHR: Option<
1248 fn(
1249 command_buffer: cl_command_buffer_khr,
1250 command_queue: cl_command_queue,
1251 src_buffer: cl_mem,
1252 dst_image: cl_mem,
1253 src_offset: size_t,
1254 dst_origin: *const size_t,
1255 region: *const size_t,
1256 num_sync_points_in_wait_list: cl_uint,
1257 sync_point_wait_list: *const cl_sync_point_khr,
1258 sync_point: *mut cl_sync_point_khr,
1259 mutable_handle: *mut cl_mutable_command_khr,
1260 ) -> cl_int,
1261 >,
1262
1263 clCommandCopyImageKHR: Option<
1264 fn(
1265 command_buffer: cl_command_buffer_khr,
1266 command_queue: cl_command_queue,
1267 src_image: cl_mem,
1268 dst_image: cl_mem,
1269 src_origin: *const size_t,
1270 dst_origin: *const size_t,
1271 region: *const size_t,
1272 num_sync_points_in_wait_list: cl_uint,
1273 sync_point_wait_list: *const cl_sync_point_khr,
1274 sync_point: *mut cl_sync_point_khr,
1275 mutable_handle: *mut cl_mutable_command_khr,
1276 ) -> cl_int,
1277 >,
1278
1279 clCommandCopyImageToBufferKHR: Option<
1280 fn(
1281 command_buffer: cl_command_buffer_khr,
1282 command_queue: cl_command_queue,
1283 src_image: cl_mem,
1284 dst_buffer: cl_mem,
1285 src_origin: *const size_t,
1286 region: *const size_t,
1287 dst_offset: size_t,
1288 num_sync_points_in_wait_list: cl_uint,
1289 sync_point_wait_list: *const cl_sync_point_khr,
1290 sync_point: *mut cl_sync_point_khr,
1291 mutable_handle: *mut cl_mutable_command_khr,
1292 ) -> cl_int,
1293 >,
1294
1295 clCommandFillBufferKHR: Option<
1296 fn(
1297 command_buffer: cl_command_buffer_khr,
1298 command_queue: cl_command_queue,
1299 buffer: cl_mem,
1300 pattern: *const c_void,
1301 pattern_size: size_t,
1302 offset: size_t,
1303 size: size_t,
1304 num_sync_points_in_wait_list: cl_uint,
1305 sync_point_wait_list: *const cl_sync_point_khr,
1306 sync_point: *mut cl_sync_point_khr,
1307 mutable_handle: *mut cl_mutable_command_khr,
1308 ) -> cl_int,
1309 >,
1310
1311 clCommandFillImageKHR: Option<
1312 fn(
1313 command_buffer: cl_command_buffer_khr,
1314 command_queue: cl_command_queue,
1315 image: cl_mem,
1316 fill_color: *const c_void,
1317 origin: *const size_t,
1318 region: *const size_t,
1319 num_sync_points_in_wait_list: cl_uint,
1320 sync_point_wait_list: *const cl_sync_point_khr,
1321 sync_point: *mut cl_sync_point_khr,
1322 mutable_handle: *mut cl_mutable_command_khr,
1323 ) -> cl_int,
1324 >,
1325
1326 clCommandNDRangeKernelKHR: Option<
1327 fn(
1328 command_buffer: cl_command_buffer_khr,
1329 command_queue: cl_command_queue,
1330 properties: *const cl_ndrange_kernel_command_properties_khr,
1331 kernel: cl_kernel,
1332 work_dim: cl_uint,
1333 global_work_offset: *const size_t,
1334 global_work_size: *const size_t,
1335 local_work_size: *const size_t,
1336 num_sync_points_in_wait_list: cl_uint,
1337 sync_point_wait_list: *const cl_sync_point_khr,
1338 sync_point: *mut cl_sync_point_khr,
1339 mutable_handle: *mut cl_mutable_command_khr,
1340 ) -> cl_int,
1341 >,
1342
1343 clCommandSVMMemcpyKHR: Option<
1344 fn(
1345 command_buffer: cl_command_buffer_khr,
1346 command_queue: cl_command_queue,
1347 dst_ptr: *mut c_void,
1348 src_ptr: *const c_void,
1349 size: size_t,
1350 num_sync_points_in_wait_list: cl_uint,
1351 sync_point_wait_list: *const cl_sync_point_khr,
1352 sync_point: *mut cl_sync_point_khr,
1353 mutable_handle: *mut cl_mutable_command_khr,
1354 ) -> cl_int,
1355 >,
1356
1357 clCommandSVMMemFillKHR: Option<
1358 fn(
1359 command_buffer: cl_command_buffer_khr,
1360 command_queue: cl_command_queue,
1361 svm_ptr: *mut c_void,
1362 pattern: *const c_void,
1363 pattern_size: size_t,
1364 size: size_t,
1365 num_sync_points_in_wait_list: cl_uint,
1366 sync_point_wait_list: *const cl_sync_point_khr,
1367 sync_point: *mut cl_sync_point_khr,
1368 mutable_handle: *mut cl_mutable_command_khr,
1369 ) -> cl_int,
1370 >,
1371
1372 clGetCommandBufferInfoKHR: Option<
1373 fn(
1374 command_buffer: cl_command_buffer_khr,
1375 param_name: cl_command_buffer_info_khr,
1376 param_value_size: size_t,
1377 param_value: *mut c_void,
1378 param_value_size_ret: *mut size_t,
1379 ) -> cl_int,
1380 >,
1381
1382 clRemapCommandBufferKHR: Option<
1383 fn(
1384 command_buffer: cl_command_buffer_khr,
1385 automatic: cl_bool,
1386 num_queues: cl_uint,
1387 queues: *const cl_command_queue,
1388 num_handles: cl_uint,
1389 handles: *const cl_mutable_command_khr,
1390 handles_ret: *mut cl_mutable_command_khr,
1391 errcode_ret: *mut cl_int,
1392 ) -> cl_command_buffer_khr,
1393 >,
1394
1395 clUpdateMutableCommandsKHR: Option<
1396 fn(
1397 command_buffer: cl_command_buffer_khr,
1398 mutable_config: *const cl_mutable_base_config_khr,
1399 ) -> cl_int,
1400 >,
1401
1402 clGetMutableCommandInfoKHR: Option<
1403 fn(
1404 command: cl_mutable_command_khr,
1405 param_name: cl_mutable_command_info_khr,
1406 param_value_size: size_t,
1407 param_value: *mut c_void,
1408 param_value_size_ret: *mut size_t,
1409 ) -> cl_int,
1410 >,
1411
1412 clSetMemObjectDestructorAPPLE: Option<
1413 fn(
1414 memobj: cl_mem,
1415 pfn_notify: Option<unsafe extern "C" fn(memobj: cl_mem, user_data: *mut c_void)>,
1416 user_data: *mut c_void,
1417 ) -> cl_int,
1418 >,
1419
1420 clLogMessagesToSystemLogAPPLE: Option<
1421 fn(errstr: *const c_char, private_info: *const c_void, cb: size_t, user_data: *mut c_void),
1422 >,
1423
1424 clLogMessagesToStdoutAPPLE: Option<
1425 fn(errstr: *const c_char, private_info: *const c_void, cb: size_t, user_data: *mut c_void),
1426 >,
1427
1428 clLogMessagesToStderrAPPLE: Option<
1429 fn(errstr: *const c_char, private_info: *const c_void, cb: size_t, user_data: *mut c_void),
1430 >,
1431
1432 clIcdGetPlatformIDsKHR: Option<
1433 fn(
1434 num_entries: cl_uint,
1435 platforms: *mut cl_platform_id,
1436 num_platforms: *mut cl_uint,
1437 ) -> cl_int,
1438 >,
1439
1440 clCreateProgramWithILKHR: Option<
1441 fn(
1442 context: cl_context,
1443 il: *const c_void,
1444 length: size_t,
1445 errcode_ret: *mut cl_int,
1446 ) -> cl_program,
1447 >,
1448
1449 clTerminateContextKHR: Option<fn(context: cl_context) -> cl_int>,
1450
1451 clCreateCommandQueueWithPropertiesKHR: Option<
1452 fn(
1453 context: cl_context,
1454 device: cl_device_id,
1455 properties: *const cl_queue_properties_khr,
1456 errcode_ret: *mut cl_int,
1457 ) -> cl_command_queue,
1458 >,
1459
1460 clReleaseDeviceEXT: Option<fn(device: cl_device_id) -> cl_int>,
1461
1462 clRetainDeviceEXT: Option<fn(device: cl_device_id) -> cl_int>,
1463
1464 clCreateSubDevicesEXT: Option<
1465 fn(
1466 in_device: cl_device_id,
1467 properties: *const cl_device_partition_property_ext,
1468 num_entries: cl_uint,
1469 out_devices: *mut cl_device_id,
1470 num_devices: *mut cl_uint,
1471 ) -> cl_int,
1472 >,
1473
1474 clEnqueueMigrateMemObjectEXT: Option<
1475 fn(
1476 command_queue: cl_command_queue,
1477 num_mem_objects: cl_uint,
1478 mem_objects: *const cl_mem,
1479 flags: cl_mem_migration_flags_ext,
1480 num_events_in_wait_list: cl_uint,
1481 event_wait_list: *const cl_event,
1482 event: *mut cl_event,
1483 ) -> cl_int,
1484 >,
1485
1486 clGetDeviceImageInfoQCOM: Option<
1487 fn(
1488 device: cl_device_id,
1489 image_width: size_t,
1490 image_height: size_t,
1491 image_format: *const cl_image_format,
1492 param_name: cl_image_pitch_info_qcom,
1493 param_value_size: size_t,
1494 param_value: *mut c_void,
1495 param_value_size_ret: *mut size_t,
1496 ) -> cl_int,
1497 >,
1498
1499 clEnqueueAcquireGrallocObjectsIMG: Option<
1500 fn(
1501 command_queue: cl_command_queue,
1502 num_objects: cl_uint,
1503 mem_objects: *const cl_mem,
1504 num_events_in_wait_list: cl_uint,
1505 event_wait_list: *const cl_event,
1506 event: *mut cl_event,
1507 ) -> cl_int,
1508 >,
1509
1510 clEnqueueReleaseGrallocObjectsIMG: Option<
1511 fn(
1512 command_queue: cl_command_queue,
1513 num_objects: cl_uint,
1514 mem_objects: *const cl_mem,
1515 num_events_in_wait_list: cl_uint,
1516 event_wait_list: *const cl_event,
1517 event: *mut cl_event,
1518 ) -> cl_int,
1519 >,
1520
1521 clEnqueueGenerateMipmapIMG: Option<
1522 fn(
1523 command_queue: cl_command_queue,
1524 src_image: cl_mem,
1525 dst_image: cl_mem,
1526 mipmap_filter_mode: cl_mipmap_filter_mode_img,
1527 array_region: *const size_t,
1528 mip_region: *const size_t,
1529 num_events_in_wait_list: cl_uint,
1530 event_wait_list: *const cl_event,
1531 event: *mut cl_event,
1532 ) -> cl_int,
1533 >,
1534
1535 clGetKernelSubGroupInfoKHR: Option<
1536 fn(
1537 in_kernel: cl_kernel,
1538 in_device: cl_device_id,
1539 param_name: cl_kernel_sub_group_info,
1540 input_value_size: size_t,
1541 input_value: *const c_void,
1542 param_value_size: size_t,
1543 param_value: *mut c_void,
1544 param_value_size_ret: *mut size_t,
1545 ) -> cl_int,
1546 >,
1547
1548 clGetKernelSuggestedLocalWorkSizeKHR: Option<
1549 fn(
1550 command_queue: cl_command_queue,
1551 kernel: cl_kernel,
1552 work_dim: cl_uint,
1553 global_work_offset: *const size_t,
1554 global_work_size: *const size_t,
1555 suggested_local_work_size: *mut size_t,
1556 ) -> cl_int,
1557 >,
1558
1559 clEnqueueAcquireExternalMemObjectsKHR: Option<
1560 fn(
1561 command_queue: cl_command_queue,
1562 num_mem_objects: cl_uint,
1563 mem_objects: *const cl_mem,
1564 num_events_in_wait_list: cl_uint,
1565 event_wait_list: *const cl_event,
1566 event: *mut cl_event,
1567 ) -> cl_int,
1568 >,
1569
1570 clEnqueueReleaseExternalMemObjectsKHR: Option<
1571 fn(
1572 command_queue: cl_command_queue,
1573 num_mem_objects: cl_uint,
1574 mem_objects: *const cl_mem,
1575 num_events_in_wait_list: cl_uint,
1576 event_wait_list: *const cl_event,
1577 event: *mut cl_event,
1578 ) -> cl_int,
1579 >,
1580
1581 clGetSemaphoreHandleForTypeKHR: Option<
1582 fn(
1583 sema_object: cl_semaphore_khr,
1584 device: cl_device_id,
1585 handle_type: cl_external_semaphore_handle_type_khr,
1586 handle_size: size_t,
1587 handle_ptr: *mut c_void,
1588 handle_size_ret: *mut size_t,
1589 ) -> cl_int,
1590 >,
1591
1592 clReImportSemaphoreSyncFdKHR: Option<
1593 fn(
1594 sema_object: cl_semaphore_khr,
1595 reimport_props: *mut cl_semaphore_reimport_properties_khr,
1596 fd: c_int,
1597 ) -> cl_int,
1598 >,
1599
1600 clCreateSemaphoreWithPropertiesKHR: Option<
1601 fn(
1602 context: cl_context,
1603 sema_props: *const cl_semaphore_properties_khr,
1604 errcode_ret: *mut cl_int,
1605 ) -> cl_semaphore_khr,
1606 >,
1607
1608 clEnqueueWaitSemaphoresKHR: Option<
1609 fn(
1610 command_queue: cl_command_queue,
1611 num_sema_objects: cl_uint,
1612 sema_objects: *const cl_semaphore_khr,
1613 sema_payload_list: *const cl_semaphore_payload_khr,
1614 num_events_in_wait_list: cl_uint,
1615 event_wait_list: *const cl_event,
1616 event: *mut cl_event,
1617 ) -> cl_int,
1618 >,
1619
1620 clEnqueueSignalSemaphoresKHR: Option<
1621 fn(
1622 command_queue: cl_command_queue,
1623 num_sema_objects: cl_uint,
1624 sema_objects: *const cl_semaphore_khr,
1625 sema_payload_list: *const cl_semaphore_payload_khr,
1626 num_events_in_wait_list: cl_uint,
1627 event_wait_list: *const cl_event,
1628 event: *mut cl_event,
1629 ) -> cl_int,
1630 >,
1631
1632 clGetSemaphoreInfoKHR: Option<
1633 fn(
1634 sema_object: cl_semaphore_khr,
1635 param_name: cl_semaphore_info_khr,
1636 param_value_size: size_t,
1637 param_value: *mut c_void,
1638 param_value_size_ret: *mut size_t,
1639 ) -> cl_int,
1640 >,
1641
1642 clReleaseSemaphoreKHR: Option<fn(sema_object: cl_semaphore_khr) -> cl_int>,
1643
1644 clRetainSemaphoreKHR: Option<fn(sema_object: cl_semaphore_khr) -> cl_int>,
1645
1646 clImportMemoryARM: Option<
1647 fn(
1648 context: cl_context,
1649 flags: cl_mem_flags,
1650 properties: *const cl_import_properties_arm,
1651 memory: *mut c_void,
1652 size: size_t,
1653 errcode_ret: *mut cl_int,
1654 ) -> cl_mem,
1655 >,
1656
1657 clSVMAllocARM: Option<
1658 fn(
1659 context: cl_context,
1660 flags: cl_svm_mem_flags_arm,
1661 size: size_t,
1662 alignment: cl_uint,
1663 ) -> *mut c_void,
1664 >,
1665
1666 clSVMFreeARM: Option<fn(context: cl_context, svm_pointer: *mut c_void)>,
1667
1668 clEnqueueSVMFreeARM: Option<
1669 fn(
1670 command_queue: cl_command_queue,
1671 num_svm_pointers: cl_uint,
1672 svm_pointers: *mut *mut c_void,
1673 pfn_free_func: Option<
1674 unsafe extern "C" fn(
1675 queue: cl_command_queue,
1676 num_svm_pointers: cl_uint,
1677 svm_pointers: *mut *mut c_void,
1678 user_data: *mut c_void,
1679 ),
1680 >,
1681 user_data: *mut c_void,
1682 num_events_in_wait_list: cl_uint,
1683 event_wait_list: *const cl_event,
1684 event: *mut cl_event,
1685 ) -> cl_int,
1686 >,
1687
1688 clEnqueueSVMMemcpyARM: Option<
1689 fn(
1690 command_queue: cl_command_queue,
1691 blocking_copy: cl_bool,
1692 dst_ptr: *mut c_void,
1693 src_ptr: *const c_void,
1694 size: size_t,
1695 num_events_in_wait_list: cl_uint,
1696 event_wait_list: *const cl_event,
1697 event: *mut cl_event,
1698 ) -> cl_int,
1699 >,
1700
1701 clEnqueueSVMMemFillARM: Option<
1702 fn(
1703 command_queue: cl_command_queue,
1704 svm_ptr: *mut c_void,
1705 pattern: *const c_void,
1706 pattern_size: size_t,
1707 size: size_t,
1708 num_events_in_wait_list: cl_uint,
1709 event_wait_list: *const cl_event,
1710 event: *mut cl_event,
1711 ) -> cl_int,
1712 >,
1713
1714 clEnqueueSVMMapARM: Option<
1715 fn(
1716 command_queue: cl_command_queue,
1717 blocking_map: cl_bool,
1718 flags: cl_map_flags,
1719 svm_ptr: *mut c_void,
1720 size: size_t,
1721 num_events_in_wait_list: cl_uint,
1722 event_wait_list: *const cl_event,
1723 event: *mut cl_event,
1724 ) -> cl_int,
1725 >,
1726
1727 clEnqueueSVMUnmapARM: Option<
1728 fn(
1729 command_queue: cl_command_queue,
1730 svm_ptr: *mut c_void,
1731 num_events_in_wait_list: cl_uint,
1732 event_wait_list: *const cl_event,
1733 event: *mut cl_event,
1734 ) -> cl_int,
1735 >,
1736
1737 clSetKernelArgSVMPointerARM:
1738 Option<fn(kernel: cl_kernel, arg_index: cl_uint, arg_value: *const c_void) -> cl_int>,
1739
1740 clSetKernelExecInfoARM: Option<
1741 fn(
1742 kernel: cl_kernel,
1743 param_name: cl_kernel_exec_info_arm,
1744 param_value_size: size_t,
1745 param_value: *const c_void,
1746 ) -> cl_int,
1747 >,
1748
1749 clCreateAcceleratorINTEL: Option<
1750 fn(
1751 context: cl_context,
1752 accelerator_type: cl_accelerator_type_intel,
1753 descriptor_size: size_t,
1754 descriptor: *const c_void,
1755 errcode_ret: *mut cl_int,
1756 ) -> cl_accelerator_intel,
1757 >,
1758
1759 clGetAcceleratorInfoINTEL: Option<
1760 fn(
1761 accelerator: cl_accelerator_intel,
1762 param_name: cl_accelerator_info_intel,
1763 param_value_size: size_t,
1764 param_value: *mut c_void,
1765 param_value_size_ret: *mut size_t,
1766 ) -> cl_int,
1767 >,
1768
1769 clRetainAcceleratorINTEL: Option<fn(accelerator: cl_accelerator_intel) -> cl_int>,
1770
1771 clReleaseAcceleratorINTEL: Option<fn(accelerator: cl_accelerator_intel) -> cl_int>,
1772
1773 clHostMemAllocINTEL: Option<
1774 fn(
1775 context: cl_context,
1776 properties: *const cl_mem_properties_intel,
1777 size: size_t,
1778 alignment: cl_uint,
1779 errcode_ret: *mut cl_int,
1780 ) -> *mut c_void,
1781 >,
1782
1783 clDeviceMemAllocINTEL: Option<
1784 fn(
1785 context: cl_context,
1786 device: cl_device_id,
1787 properties: *const cl_mem_properties_intel,
1788 size: size_t,
1789 alignment: cl_uint,
1790 errcode_ret: *mut cl_int,
1791 ) -> *mut c_void,
1792 >,
1793
1794 clSharedMemAllocINTEL: Option<
1795 fn(
1796 context: cl_context,
1797 device: cl_device_id,
1798 properties: *const cl_mem_properties_intel,
1799 size: size_t,
1800 alignment: cl_uint,
1801 errcode_ret: *mut cl_int,
1802 ) -> *mut c_void,
1803 >,
1804
1805 clMemFreeINTEL: Option<fn(context: cl_context, ptr: *mut c_void) -> cl_int>,
1806
1807 clMemBlockingFreeINTEL: Option<fn(context: cl_context, ptr: *mut c_void) -> cl_int>,
1808
1809 clGetMemAllocInfoINTEL: Option<
1810 fn(
1811 context: cl_context,
1812 ptr: *const c_void,
1813 param_name: cl_mem_info_intel,
1814 param_value_size: size_t,
1815 param_value: *mut c_void,
1816 param_value_size_ret: *mut size_t,
1817 ) -> cl_int,
1818 >,
1819
1820 clSetKernelArgMemPointerINTEL:
1821 Option<fn(kernel: cl_kernel, arg_index: cl_uint, arg_value: *const c_void) -> cl_int>,
1822
1823 clEnqueueMemFillINTEL: Option<
1824 fn(
1825 command_queue: cl_command_queue,
1826 dst_ptr: *mut c_void,
1827 pattern: *const c_void,
1828 pattern_size: size_t,
1829 size: size_t,
1830 num_events_in_wait_list: cl_uint,
1831 event_wait_list: *const cl_event,
1832 event: *mut cl_event,
1833 ) -> cl_int,
1834 >,
1835
1836 clEnqueueMemcpyINTEL: Option<
1837 fn(
1838 command_queue: cl_command_queue,
1839 blocking: cl_bool,
1840 dst_ptr: *mut c_void,
1841 src_ptr: *const c_void,
1842 size: size_t,
1843 num_events_in_wait_list: cl_uint,
1844 event_wait_list: *const cl_event,
1845 event: *mut cl_event,
1846 ) -> cl_int,
1847 >,
1848
1849 clEnqueueMemAdviseINTEL: Option<
1850 fn(
1851 command_queue: cl_command_queue,
1852 ptr: *const c_void,
1853 size: size_t,
1854 advice: cl_mem_advice_intel,
1855 num_events_in_wait_list: cl_uint,
1856 event_wait_list: *const cl_event,
1857 event: *mut cl_event,
1858 ) -> cl_int,
1859 >,
1860
1861 clEnqueueMigrateMemINTEL: Option<
1862 fn(
1863 command_queue: cl_command_queue,
1864 ptr: *const c_void,
1865 size: size_t,
1866 flags: cl_mem_migration_flags,
1867 num_events_in_wait_list: cl_uint,
1868 event_wait_list: *const cl_event,
1869 event: *mut cl_event,
1870 ) -> cl_int,
1871 >,
1872
1873 clEnqueueMemsetINTEL: Option<
1874 fn(
1875 command_queue: cl_command_queue,
1876 dst_ptr: *mut c_void,
1877 value: cl_int,
1878 size: size_t,
1879 num_events_in_wait_list: cl_uint,
1880 event_wait_list: *const cl_event,
1881 event: *mut cl_event,
1882 ) -> cl_int,
1883 >,
1884
1885 clCreateBufferWithPropertiesINTEL: Option<
1886 fn(
1887 context: cl_context,
1888 properties: *const cl_mem_properties_intel,
1889 flags: cl_mem_flags,
1890 size: size_t,
1891 host_ptr: *mut c_void,
1892 errcode_ret: *mut cl_int,
1893 ) -> cl_mem,
1894 >,
1895
1896 clEnqueueReadHostPipeINTEL: Option<
1897 fn(
1898 queue: cl_command_queue,
1899 program: cl_program,
1900 pipe_symbol: *const c_char,
1901 blocking_read: cl_bool,
1902 ptr: *mut c_void,
1903 size: size_t,
1904 num_events_in_wait_list: cl_uint,
1905 event_wait_list: *const cl_event,
1906 event: *mut cl_event,
1907 ) -> cl_int,
1908 >,
1909
1910 clEnqueueWriteHostPipeINTEL: Option<
1911 fn(
1912 queue: cl_command_queue,
1913 program: cl_program,
1914 pipe_symbol: *const c_char,
1915 blocking_write: cl_bool,
1916 ptr: *const c_void,
1917 size: size_t,
1918 num_events_in_wait_list: cl_uint,
1919 event_wait_list: *const cl_event,
1920 event: *mut cl_event,
1921 ) -> cl_int,
1922 >,
1923
1924 clGetImageRequirementsInfoEXT: Option<
1925 fn(
1926 context: cl_context,
1927 properties: *const cl_mem_properties,
1928 flags: cl_mem_flags,
1929 image_format: *const cl_image_format,
1930 image_desc: *const cl_image_desc,
1931 param_name: cl_image_requirements_info_ext,
1932 param_value_size: size_t,
1933 param_value: *mut c_void,
1934 param_value_size_ret: *mut size_t,
1935 ) -> cl_int,
1936 >,
1937
1938 clGetICDLoaderInfoOCLICD: Option<
1939 fn(
1940 param_name: cl_icdl_info,
1941 param_value_size: size_t,
1942 param_value: *mut c_void,
1943 param_value_size_ret: *mut size_t,
1944 ) -> cl_int,
1945 >,
1946
1947 clSetContentSizeBufferPoCL: Option<fn(buffer: cl_mem, content_size_buffer: cl_mem) -> cl_int>,
1948
1949 clCreateFromGLBuffer: Option<
1951 fn(
1952 context: cl_context,
1953 flags: cl_mem_flags,
1954 bufobj: cl_GLuint,
1955 errcode_ret: *mut cl_int,
1956 ) -> cl_mem,
1957 >,
1958
1959 clCreateFromGLTexture: Option<
1960 fn(
1961 context: cl_context,
1962 flags: cl_mem_flags,
1963 target: cl_GLenum,
1964 miplevel: cl_GLint,
1965 texture: cl_GLuint,
1966 errcode_ret: *mut cl_int,
1967 ) -> cl_mem,
1968 >,
1969
1970 clCreateFromGLRenderbuffer: Option<
1971 fn(
1972 context: cl_context,
1973 flags: cl_mem_flags,
1974 renderbuffer: cl_GLuint,
1975 errcode_ret: *mut cl_int,
1976 ) -> cl_mem,
1977 >,
1978
1979 clGetGLObjectInfo: Option<
1980 fn(
1981 memobj: cl_mem,
1982 gl_object_type: *mut cl_gl_object_type,
1983 gl_object_name: *mut cl_GLuint,
1984 ) -> cl_int,
1985 >,
1986
1987 clGetGLTextureInfo: Option<
1988 fn(
1989 memobj: cl_mem,
1990 param_name: cl_gl_texture_info,
1991 param_value_size: size_t,
1992 param_value: *mut c_void,
1993 param_value_size_ret: *mut size_t,
1994 ) -> cl_int,
1995 >,
1996
1997 clEnqueueAcquireGLObjects: Option<
1998 fn(
1999 command_queue: cl_command_queue,
2000 num_objects: cl_uint,
2001 mem_objects: *const cl_mem,
2002 num_events_in_wait_list: cl_uint,
2003 event_wait_list: *const cl_event,
2004 event: *mut cl_event,
2005 ) -> cl_int,
2006 >,
2007
2008 clEnqueueReleaseGLObjects: Option<
2009 fn(
2010 command_queue: cl_command_queue,
2011 num_objects: cl_uint,
2012 mem_objects: *const cl_mem,
2013 num_events_in_wait_list: cl_uint,
2014 event_wait_list: *const cl_event,
2015 event: *mut cl_event,
2016 ) -> cl_int,
2017 >,
2018
2019 clCreateFromGLTexture2D: Option<
2021 fn(
2022 context: cl_context,
2023 flags: cl_mem_flags,
2024 texture_target: cl_GLenum,
2025 miplevel: cl_GLint,
2026 texture: cl_GLuint,
2027 errcode_ret: *mut cl_int,
2028 ) -> cl_mem,
2029 >,
2030
2031 clCreateFromGLTexture3D: Option<
2032 fn(
2033 context: cl_context,
2034 flags: cl_mem_flags,
2035 texture_target: cl_GLenum,
2036 miplevel: cl_GLint,
2037 texture: cl_GLuint,
2038 errcode_ret: *mut cl_int,
2039 ) -> cl_mem,
2040 >,
2041
2042 clGetGLContextInfoKHR: Option<
2043 fn(
2044 properties: *const cl_context_properties,
2045 param_name: cl_gl_context_info,
2046 param_value_size: size_t,
2047 param_value: *mut c_void,
2048 param_value_size_ret: *mut size_t,
2049 ) -> cl_int,
2050 >,
2051
2052 clCreateEventFromGLsyncKHR:
2053 Option<fn(context: cl_context, sync: cl_GLsync, errcode_ret: *mut cl_int) -> cl_event>,
2054
2055 clGetSupportedGLTextureFormatsINTEL: Option<
2056 fn(
2057 context: cl_context,
2058 flags: cl_mem_flags,
2059 image_type: cl_mem_object_type,
2060 num_entries: cl_uint,
2061 gl_formats: *mut cl_GLenum,
2062 num_texture_formats: *mut cl_uint,
2063 ) -> cl_int,
2064 >,
2065
2066 clGetLayerInfo: Option<
2068 fn(
2069 param_name: cl_layer_info,
2070 param_value_size: size_t,
2071 param_value: *mut c_void,
2072 param_value_size_ret: *mut size_t,
2073 ) -> cl_int,
2074 >,
2075
2076 clInitLayer: Option<
2077 fn(
2078 num_entries: cl_uint,
2079 target_dispatch: *const cl_icd_dispatch,
2080 num_entries_ret: *mut cl_uint,
2081 layer_dispatch_ret: *mut *const cl_icd_dispatch,
2082 ) -> cl_int,
2083 >,
2084}