HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cl_ext.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2008-2020 The Khronos Group Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 
17 /* cl_ext.h contains OpenCL extensions which don't have external */
18 /* (OpenGL, D3D) dependencies. */
19 
20 #ifndef __CL_EXT_H
21 #define __CL_EXT_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #include <CL/cl.h>
28 
29 /***************************************************************
30 * cl_khr_command_buffer
31 ***************************************************************/
32 #define cl_khr_command_buffer 1
33 #define CL_KHR_COMMAND_BUFFER_EXTENSION_NAME \
34  "cl_khr_command_buffer"
35 
37 typedef struct _cl_command_buffer_khr* cl_command_buffer_khr;
44 typedef struct _cl_mutable_command_khr* cl_mutable_command_khr;
45 
46 /* cl_device_info */
47 #define CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR 0x12A9
48 #define CL_DEVICE_COMMAND_BUFFER_REQUIRED_QUEUE_PROPERTIES_KHR 0x12AA
49 
50 /* cl_device_command_buffer_capabilities_khr - bitfield */
51 #define CL_COMMAND_BUFFER_CAPABILITY_KERNEL_PRINTF_KHR (1 << 0)
52 #define CL_COMMAND_BUFFER_CAPABILITY_DEVICE_SIDE_ENQUEUE_KHR (1 << 1)
53 #define CL_COMMAND_BUFFER_CAPABILITY_SIMULTANEOUS_USE_KHR (1 << 2)
54 #define CL_COMMAND_BUFFER_CAPABILITY_OUT_OF_ORDER_KHR (1 << 3)
55 
56 /* cl_command_buffer_properties_khr */
57 #define CL_COMMAND_BUFFER_FLAGS_KHR 0x1293
58 
59 /* cl_command_buffer_flags_khr */
60 #define CL_COMMAND_BUFFER_SIMULTANEOUS_USE_KHR (1 << 0)
61 
62 /* Error codes */
63 #define CL_INVALID_COMMAND_BUFFER_KHR -1138
64 #define CL_INVALID_SYNC_POINT_WAIT_LIST_KHR -1139
65 #define CL_INCOMPATIBLE_COMMAND_QUEUE_KHR -1140
66 
67 /* cl_command_buffer_info_khr */
68 #define CL_COMMAND_BUFFER_QUEUES_KHR 0x1294
69 #define CL_COMMAND_BUFFER_NUM_QUEUES_KHR 0x1295
70 #define CL_COMMAND_BUFFER_REFERENCE_COUNT_KHR 0x1296
71 #define CL_COMMAND_BUFFER_STATE_KHR 0x1297
72 #define CL_COMMAND_BUFFER_PROPERTIES_ARRAY_KHR 0x1298
73 
74 /* cl_command_buffer_state_khr */
75 #define CL_COMMAND_BUFFER_STATE_RECORDING_KHR 0
76 #define CL_COMMAND_BUFFER_STATE_EXECUTABLE_KHR 1
77 #define CL_COMMAND_BUFFER_STATE_PENDING_KHR 2
78 #define CL_COMMAND_BUFFER_STATE_INVALID_KHR 3
79 
80 /* cl_command_type */
81 #define CL_COMMAND_COMMAND_BUFFER_KHR 0x12A8
82 
83 
86  cl_uint num_queues,
87  const cl_command_queue* queues,
88  const cl_command_buffer_properties_khr* properties,
89  cl_int* errcode_ret) ;
90 
91 typedef cl_int (CL_API_CALL *
93  cl_command_buffer_khr command_buffer) ;
94 
95 typedef cl_int (CL_API_CALL *
97  cl_command_buffer_khr command_buffer) ;
98 
99 typedef cl_int (CL_API_CALL *
101  cl_command_buffer_khr command_buffer) ;
102 
103 typedef cl_int (CL_API_CALL *
105  cl_uint num_queues,
106  cl_command_queue* queues,
107  cl_command_buffer_khr command_buffer,
108  cl_uint num_events_in_wait_list,
109  const cl_event* event_wait_list,
110  cl_event* event) ;
111 
112 typedef cl_int (CL_API_CALL *
114  cl_command_buffer_khr command_buffer,
115  cl_command_queue command_queue,
116  cl_uint num_sync_points_in_wait_list,
117  const cl_sync_point_khr* sync_point_wait_list,
118  cl_sync_point_khr* sync_point,
119  cl_mutable_command_khr* mutable_handle) ;
120 
121 typedef cl_int (CL_API_CALL *
123  cl_command_buffer_khr command_buffer,
124  cl_command_queue command_queue,
125  cl_mem src_buffer,
126  cl_mem dst_buffer,
127  size_t src_offset,
128  size_t dst_offset,
129  size_t size,
130  cl_uint num_sync_points_in_wait_list,
131  const cl_sync_point_khr* sync_point_wait_list,
132  cl_sync_point_khr* sync_point,
133  cl_mutable_command_khr* mutable_handle) ;
134 
135 typedef cl_int (CL_API_CALL *
137  cl_command_buffer_khr command_buffer,
138  cl_command_queue command_queue,
139  cl_mem src_buffer,
140  cl_mem dst_buffer,
141  const size_t* src_origin,
142  const size_t* dst_origin,
143  const size_t* region,
144  size_t src_row_pitch,
145  size_t src_slice_pitch,
146  size_t dst_row_pitch,
147  size_t dst_slice_pitch,
148  cl_uint num_sync_points_in_wait_list,
149  const cl_sync_point_khr* sync_point_wait_list,
150  cl_sync_point_khr* sync_point,
151  cl_mutable_command_khr* mutable_handle) ;
152 
153 typedef cl_int (CL_API_CALL *
155  cl_command_buffer_khr command_buffer,
156  cl_command_queue command_queue,
157  cl_mem src_buffer,
158  cl_mem dst_image,
159  size_t src_offset,
160  const size_t* dst_origin,
161  const size_t* region,
162  cl_uint num_sync_points_in_wait_list,
163  const cl_sync_point_khr* sync_point_wait_list,
164  cl_sync_point_khr* sync_point,
165  cl_mutable_command_khr* mutable_handle) ;
166 
167 typedef cl_int (CL_API_CALL *
169  cl_command_buffer_khr command_buffer,
170  cl_command_queue command_queue,
171  cl_mem src_image,
172  cl_mem dst_image,
173  const size_t* src_origin,
174  const size_t* dst_origin,
175  const size_t* region,
176  cl_uint num_sync_points_in_wait_list,
177  const cl_sync_point_khr* sync_point_wait_list,
178  cl_sync_point_khr* sync_point,
179  cl_mutable_command_khr* mutable_handle) ;
180 
181 typedef cl_int (CL_API_CALL *
183  cl_command_buffer_khr command_buffer,
184  cl_command_queue command_queue,
185  cl_mem src_image,
186  cl_mem dst_buffer,
187  const size_t* src_origin,
188  const size_t* region,
189  size_t dst_offset,
190  cl_uint num_sync_points_in_wait_list,
191  const cl_sync_point_khr* sync_point_wait_list,
192  cl_sync_point_khr* sync_point,
193  cl_mutable_command_khr* mutable_handle) ;
194 
195 typedef cl_int (CL_API_CALL *
197  cl_command_buffer_khr command_buffer,
198  cl_command_queue command_queue,
199  cl_mem buffer,
200  const void* pattern,
201  size_t pattern_size,
202  size_t offset,
203  size_t size,
204  cl_uint num_sync_points_in_wait_list,
205  const cl_sync_point_khr* sync_point_wait_list,
206  cl_sync_point_khr* sync_point,
207  cl_mutable_command_khr* mutable_handle) ;
208 
209 typedef cl_int (CL_API_CALL *
211  cl_command_buffer_khr command_buffer,
212  cl_command_queue command_queue,
213  cl_mem image,
214  const void* fill_color,
215  const size_t* origin,
216  const size_t* region,
217  cl_uint num_sync_points_in_wait_list,
218  const cl_sync_point_khr* sync_point_wait_list,
219  cl_sync_point_khr* sync_point,
220  cl_mutable_command_khr* mutable_handle) ;
221 
222 typedef cl_int (CL_API_CALL *
224  cl_command_buffer_khr command_buffer,
225  cl_command_queue command_queue,
226  const cl_ndrange_kernel_command_properties_khr* properties,
227  cl_kernel kernel,
228  cl_uint work_dim,
229  const size_t* global_work_offset,
230  const size_t* global_work_size,
231  const size_t* local_work_size,
232  cl_uint num_sync_points_in_wait_list,
233  const cl_sync_point_khr* sync_point_wait_list,
234  cl_sync_point_khr* sync_point,
235  cl_mutable_command_khr* mutable_handle) ;
236 
237 typedef cl_int (CL_API_CALL *
239  cl_command_buffer_khr command_buffer,
240  cl_command_buffer_info_khr param_name,
241  size_t param_value_size,
242  void* param_value,
243  size_t* param_value_size_ret) ;
244 
245 #ifndef CL_NO_PROTOTYPES
246 
247 extern CL_API_ENTRY cl_command_buffer_khr CL_API_CALL
249  cl_uint num_queues,
250  const cl_command_queue* queues,
251  const cl_command_buffer_properties_khr* properties,
252  cl_int* errcode_ret) ;
253 
256  cl_command_buffer_khr command_buffer) ;
257 
260  cl_command_buffer_khr command_buffer) ;
261 
264  cl_command_buffer_khr command_buffer) ;
265 
268  cl_uint num_queues,
269  cl_command_queue* queues,
270  cl_command_buffer_khr command_buffer,
271  cl_uint num_events_in_wait_list,
272  const cl_event* event_wait_list,
273  cl_event* event) ;
274 
277  cl_command_buffer_khr command_buffer,
278  cl_command_queue command_queue,
279  cl_uint num_sync_points_in_wait_list,
280  const cl_sync_point_khr* sync_point_wait_list,
281  cl_sync_point_khr* sync_point,
282  cl_mutable_command_khr* mutable_handle) ;
283 
286  cl_command_buffer_khr command_buffer,
287  cl_command_queue command_queue,
288  cl_mem src_buffer,
289  cl_mem dst_buffer,
290  size_t src_offset,
291  size_t dst_offset,
292  size_t size,
293  cl_uint num_sync_points_in_wait_list,
294  const cl_sync_point_khr* sync_point_wait_list,
295  cl_sync_point_khr* sync_point,
296  cl_mutable_command_khr* mutable_handle) ;
297 
300  cl_command_buffer_khr command_buffer,
301  cl_command_queue command_queue,
302  cl_mem src_buffer,
303  cl_mem dst_buffer,
304  const size_t* src_origin,
305  const size_t* dst_origin,
306  const size_t* region,
307  size_t src_row_pitch,
308  size_t src_slice_pitch,
309  size_t dst_row_pitch,
310  size_t dst_slice_pitch,
311  cl_uint num_sync_points_in_wait_list,
312  const cl_sync_point_khr* sync_point_wait_list,
313  cl_sync_point_khr* sync_point,
314  cl_mutable_command_khr* mutable_handle) ;
315 
318  cl_command_buffer_khr command_buffer,
319  cl_command_queue command_queue,
320  cl_mem src_buffer,
321  cl_mem dst_image,
322  size_t src_offset,
323  const size_t* dst_origin,
324  const size_t* region,
325  cl_uint num_sync_points_in_wait_list,
326  const cl_sync_point_khr* sync_point_wait_list,
327  cl_sync_point_khr* sync_point,
328  cl_mutable_command_khr* mutable_handle) ;
329 
332  cl_command_buffer_khr command_buffer,
333  cl_command_queue command_queue,
334  cl_mem src_image,
335  cl_mem dst_image,
336  const size_t* src_origin,
337  const size_t* dst_origin,
338  const size_t* region,
339  cl_uint num_sync_points_in_wait_list,
340  const cl_sync_point_khr* sync_point_wait_list,
341  cl_sync_point_khr* sync_point,
342  cl_mutable_command_khr* mutable_handle) ;
343 
346  cl_command_buffer_khr command_buffer,
347  cl_command_queue command_queue,
348  cl_mem src_image,
349  cl_mem dst_buffer,
350  const size_t* src_origin,
351  const size_t* region,
352  size_t dst_offset,
353  cl_uint num_sync_points_in_wait_list,
354  const cl_sync_point_khr* sync_point_wait_list,
355  cl_sync_point_khr* sync_point,
356  cl_mutable_command_khr* mutable_handle) ;
357 
360  cl_command_buffer_khr command_buffer,
361  cl_command_queue command_queue,
362  cl_mem buffer,
363  const void* pattern,
364  size_t pattern_size,
365  size_t offset,
366  size_t size,
367  cl_uint num_sync_points_in_wait_list,
368  const cl_sync_point_khr* sync_point_wait_list,
369  cl_sync_point_khr* sync_point,
370  cl_mutable_command_khr* mutable_handle) ;
371 
374  cl_command_buffer_khr command_buffer,
375  cl_command_queue command_queue,
376  cl_mem image,
377  const void* fill_color,
378  const size_t* origin,
379  const size_t* region,
380  cl_uint num_sync_points_in_wait_list,
381  const cl_sync_point_khr* sync_point_wait_list,
382  cl_sync_point_khr* sync_point,
383  cl_mutable_command_khr* mutable_handle) ;
384 
387  cl_command_buffer_khr command_buffer,
388  cl_command_queue command_queue,
389  const cl_ndrange_kernel_command_properties_khr* properties,
390  cl_kernel kernel,
391  cl_uint work_dim,
392  const size_t* global_work_offset,
393  const size_t* global_work_size,
394  const size_t* local_work_size,
395  cl_uint num_sync_points_in_wait_list,
396  const cl_sync_point_khr* sync_point_wait_list,
397  cl_sync_point_khr* sync_point,
398  cl_mutable_command_khr* mutable_handle) ;
399 
402  cl_command_buffer_khr command_buffer,
403  cl_command_buffer_info_khr param_name,
404  size_t param_value_size,
405  void* param_value,
406  size_t* param_value_size_ret) ;
407 
408 #endif /* CL_NO_PROTOTYPES */
409 
410 /***************************************************************
411 * cl_khr_command_buffer_mutable_dispatch
412 ***************************************************************/
413 #define cl_khr_command_buffer_mutable_dispatch 1
414 #define CL_KHR_COMMAND_BUFFER_MUTABLE_DISPATCH_EXTENSION_NAME \
415  "cl_khr_command_buffer_mutable_dispatch"
416 
422  size_t arg_size;
423  const void* arg_value;
428  const void* param_value;
431  cl_command_buffer_structure_type_khr type;
432  const void* next;
433  cl_mutable_command_khr command;
441  const size_t* global_work_offset;
442  const size_t* global_work_size;
443  const size_t* local_work_size;
446  cl_command_buffer_structure_type_khr type;
447  const void* next;
451 
452 /* cl_command_buffer_flags_khr - bitfield */
453 #define CL_COMMAND_BUFFER_MUTABLE_KHR (1 << 1)
454 
455 /* Error codes */
456 #define CL_INVALID_MUTABLE_COMMAND_KHR -1141
457 
458 /* cl_device_info */
459 #define CL_DEVICE_MUTABLE_DISPATCH_CAPABILITIES_KHR 0x12B0
460 
461 /* cl_ndrange_kernel_command_properties_khr */
462 #define CL_MUTABLE_DISPATCH_UPDATABLE_FIELDS_KHR 0x12B1
463 
464 /* cl_mutable_dispatch_fields_khr - bitfield */
465 #define CL_MUTABLE_DISPATCH_GLOBAL_OFFSET_KHR (1 << 0)
466 #define CL_MUTABLE_DISPATCH_GLOBAL_SIZE_KHR (1 << 1)
467 #define CL_MUTABLE_DISPATCH_LOCAL_SIZE_KHR (1 << 2)
468 #define CL_MUTABLE_DISPATCH_ARGUMENTS_KHR (1 << 3)
469 #define CL_MUTABLE_DISPATCH_EXEC_INFO_KHR (1 << 4)
470 
471 /* cl_mutable_command_info_khr */
472 #define CL_MUTABLE_COMMAND_COMMAND_QUEUE_KHR 0x12A0
473 #define CL_MUTABLE_COMMAND_COMMAND_BUFFER_KHR 0x12A1
474 #define CL_MUTABLE_COMMAND_COMMAND_TYPE_KHR 0x12AD
475 #define CL_MUTABLE_DISPATCH_PROPERTIES_ARRAY_KHR 0x12A2
476 #define CL_MUTABLE_DISPATCH_KERNEL_KHR 0x12A3
477 #define CL_MUTABLE_DISPATCH_DIMENSIONS_KHR 0x12A4
478 #define CL_MUTABLE_DISPATCH_GLOBAL_WORK_OFFSET_KHR 0x12A5
479 #define CL_MUTABLE_DISPATCH_GLOBAL_WORK_SIZE_KHR 0x12A6
480 #define CL_MUTABLE_DISPATCH_LOCAL_WORK_SIZE_KHR 0x12A7
481 
482 /* cl_command_buffer_structure_type_khr */
483 #define CL_STRUCTURE_TYPE_MUTABLE_BASE_CONFIG_KHR 0
484 #define CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR 1
485 
486 
487 typedef cl_int (CL_API_CALL *
489  cl_command_buffer_khr command_buffer,
490  const cl_mutable_base_config_khr* mutable_config) ;
491 
492 typedef cl_int (CL_API_CALL *
494  cl_mutable_command_khr command,
495  cl_mutable_command_info_khr param_name,
496  size_t param_value_size,
497  void* param_value,
498  size_t* param_value_size_ret) ;
499 
500 #ifndef CL_NO_PROTOTYPES
501 
504  cl_command_buffer_khr command_buffer,
505  const cl_mutable_base_config_khr* mutable_config) ;
506 
509  cl_mutable_command_khr command,
510  cl_mutable_command_info_khr param_name,
511  size_t param_value_size,
512  void* param_value,
513  size_t* param_value_size_ret) ;
514 
515 #endif /* CL_NO_PROTOTYPES */
516 
517 /* cl_khr_fp64 extension - no extension #define since it has no functions */
518 /* CL_DEVICE_DOUBLE_FP_CONFIG is defined in CL.h for OpenCL >= 120 */
519 
520 #if CL_TARGET_OPENCL_VERSION <= 110
521 #define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032
522 #endif
523 
524 /* cl_khr_fp16 extension - no extension #define since it has no functions */
525 #define CL_DEVICE_HALF_FP_CONFIG 0x1033
526 
527 /* Memory object destruction
528  *
529  * Apple extension for use to manage externally allocated buffers used with cl_mem objects with CL_MEM_USE_HOST_PTR
530  *
531  * Registers a user callback function that will be called when the memory object is deleted and its resources
532  * freed. Each call to clSetMemObjectCallbackFn registers the specified user callback function on a callback
533  * stack associated with memobj. The registered user callback functions are called in the reverse order in
534  * which they were registered. The user callback functions are called and then the memory object is deleted
535  * and its resources freed. This provides a mechanism for the application (and libraries) using memobj to be
536  * notified when the memory referenced by host_ptr, specified when the memory object is created and used as
537  * the storage bits for the memory object, can be reused or freed.
538  *
539  * The application may not call CL api's with the cl_mem object passed to the pfn_notify.
540  *
541  * Please check for the "cl_APPLE_SetMemObjectDestructor" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS)
542  * before using.
543  */
544 #define cl_APPLE_SetMemObjectDestructor 1
546  void (* pfn_notify)(cl_mem memobj, void * user_data),
547  void * user_data) CL_API_SUFFIX__VERSION_1_0;
548 
549 
550 /* Context Logging Functions
551  *
552  * The next three convenience functions are intended to be used as the pfn_notify parameter to clCreateContext().
553  * Please check for the "cl_APPLE_ContextLoggingFunctions" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS)
554  * before using.
555  *
556  * clLogMessagesToSystemLog forwards on all log messages to the Apple System Logger
557  */
558 #define cl_APPLE_ContextLoggingFunctions 1
559 extern CL_API_ENTRY void CL_API_CALL clLogMessagesToSystemLogAPPLE( const char * errstr,
560  const void * private_info,
561  size_t cb,
562  void * user_data) CL_API_SUFFIX__VERSION_1_0;
563 
564 /* clLogMessagesToStdout sends all log messages to the file descriptor stdout */
565 extern CL_API_ENTRY void CL_API_CALL clLogMessagesToStdoutAPPLE( const char * errstr,
566  const void * private_info,
567  size_t cb,
568  void * user_data) CL_API_SUFFIX__VERSION_1_0;
569 
570 /* clLogMessagesToStderr sends all log messages to the file descriptor stderr */
571 extern CL_API_ENTRY void CL_API_CALL clLogMessagesToStderrAPPLE( const char * errstr,
572  const void * private_info,
573  size_t cb,
574  void * user_data) CL_API_SUFFIX__VERSION_1_0;
575 
576 
577 /************************
578 * cl_khr_icd extension *
579 ************************/
580 #define cl_khr_icd 1
581 
582 /* cl_platform_info */
583 #define CL_PLATFORM_ICD_SUFFIX_KHR 0x0920
584 
585 /* Additional Error Codes */
586 #define CL_PLATFORM_NOT_FOUND_KHR -1001
587 
589 clIcdGetPlatformIDsKHR(cl_uint num_entries,
590  cl_platform_id * platforms,
591  cl_uint * num_platforms);
592 
593 typedef cl_int
595  cl_platform_id * platforms,
596  cl_uint * num_platforms);
597 
598 
599 /*******************************
600  * cl_khr_il_program extension *
601  *******************************/
602 #define cl_khr_il_program 1
603 
604 /* New property to clGetDeviceInfo for retrieving supported intermediate
605  * languages
606  */
607 #define CL_DEVICE_IL_VERSION_KHR 0x105B
608 
609 /* New property to clGetProgramInfo for retrieving for retrieving the IL of a
610  * program
611  */
612 #define CL_PROGRAM_IL_KHR 0x1169
613 
616  const void * il,
617  size_t length,
618  cl_int * errcode_ret);
619 
620 typedef cl_program
622  const void * il,
623  size_t length,
624  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
625 
626 /* Extension: cl_khr_image2d_from_buffer
627  *
628  * This extension allows a 2D image to be created from a cl_mem buffer without
629  * a copy. The type associated with a 2D image created from a buffer in an
630  * OpenCL program is image2d_t. Both the sampler and sampler-less read_image
631  * built-in functions are supported for 2D images and 2D images created from
632  * a buffer. Similarly, the write_image built-ins are also supported for 2D
633  * images created from a buffer.
634  *
635  * When the 2D image from buffer is created, the client must specify the
636  * width, height, image format (i.e. channel order and channel data type)
637  * and optionally the row pitch.
638  *
639  * The pitch specified must be a multiple of
640  * CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR pixels.
641  * The base address of the buffer must be aligned to
642  * CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR pixels.
643  */
644 
645 #define CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR 0x104A
646 #define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR 0x104B
647 
648 
649 /**************************************
650  * cl_khr_initialize_memory extension *
651  **************************************/
652 
653 #define CL_CONTEXT_MEMORY_INITIALIZE_KHR 0x2030
654 
655 
656 /**************************************
657  * cl_khr_terminate_context extension *
658  **************************************/
659 
660 #define CL_CONTEXT_TERMINATED_KHR -1121
661 
662 #define CL_DEVICE_TERMINATE_CAPABILITY_KHR 0x2031
663 #define CL_CONTEXT_TERMINATE_KHR 0x2032
664 
665 #define cl_khr_terminate_context 1
668 
669 typedef cl_int
670 (CL_API_CALL *clTerminateContextKHR_fn)(cl_context context) CL_API_SUFFIX__VERSION_1_2;
671 
672 
673 /*
674  * Extension: cl_khr_spir
675  *
676  * This extension adds support to create an OpenCL program object from a
677  * Standard Portable Intermediate Representation (SPIR) instance
678  */
679 
680 #define CL_DEVICE_SPIR_VERSIONS 0x40E0
681 #define CL_PROGRAM_BINARY_TYPE_INTERMEDIATE 0x40E1
682 
683 
684 /*****************************************
685  * cl_khr_create_command_queue extension *
686  *****************************************/
687 #define cl_khr_create_command_queue 1
688 
690 
693  cl_device_id device,
694  const cl_queue_properties_khr* properties,
695  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
696 
697 typedef cl_command_queue
699  cl_device_id device,
700  const cl_queue_properties_khr* properties,
701  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
702 
703 
704 /******************************************
705 * cl_nv_device_attribute_query extension *
706 ******************************************/
707 
708 /* cl_nv_device_attribute_query extension - no extension #define since it has no functions */
709 #define CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV 0x4000
710 #define CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV 0x4001
711 #define CL_DEVICE_REGISTERS_PER_BLOCK_NV 0x4002
712 #define CL_DEVICE_WARP_SIZE_NV 0x4003
713 #define CL_DEVICE_GPU_OVERLAP_NV 0x4004
714 #define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV 0x4005
715 #define CL_DEVICE_INTEGRATED_MEMORY_NV 0x4006
716 
717 
718 /*********************************
719 * cl_amd_device_attribute_query *
720 *********************************/
721 
722 #define CL_DEVICE_PROFILING_TIMER_OFFSET_AMD 0x4036
723 #define CL_DEVICE_TOPOLOGY_AMD 0x4037
724 #define CL_DEVICE_BOARD_NAME_AMD 0x4038
725 #define CL_DEVICE_GLOBAL_FREE_MEMORY_AMD 0x4039
726 #define CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD 0x4040
727 #define CL_DEVICE_SIMD_WIDTH_AMD 0x4041
728 #define CL_DEVICE_SIMD_INSTRUCTION_WIDTH_AMD 0x4042
729 #define CL_DEVICE_WAVEFRONT_WIDTH_AMD 0x4043
730 #define CL_DEVICE_GLOBAL_MEM_CHANNELS_AMD 0x4044
731 #define CL_DEVICE_GLOBAL_MEM_CHANNEL_BANKS_AMD 0x4045
732 #define CL_DEVICE_GLOBAL_MEM_CHANNEL_BANK_WIDTH_AMD 0x4046
733 #define CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_UNIT_AMD 0x4047
734 #define CL_DEVICE_LOCAL_MEM_BANKS_AMD 0x4048
735 #define CL_DEVICE_THREAD_TRACE_SUPPORTED_AMD 0x4049
736 #define CL_DEVICE_GFXIP_MAJOR_AMD 0x404A
737 #define CL_DEVICE_GFXIP_MINOR_AMD 0x404B
738 #define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD 0x404C
739 #define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD 0x4030
740 #define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD 0x4031
741 #define CL_DEVICE_PREFERRED_CONSTANT_BUFFER_SIZE_AMD 0x4033
742 #define CL_DEVICE_PCIE_ID_AMD 0x4034
743 
744 
745 /*********************************
746 * cl_arm_printf extension
747 *********************************/
748 
749 #define CL_PRINTF_CALLBACK_ARM 0x40B0
750 #define CL_PRINTF_BUFFERSIZE_ARM 0x40B1
751 
752 
753 /***********************************
754 * cl_ext_device_fission extension
755 ***********************************/
756 #define cl_ext_device_fission 1
757 
760 
761 typedef cl_int
762 (CL_API_CALL *clReleaseDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
763 
766 
767 typedef cl_int
768 (CL_API_CALL *clRetainDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
769 
773  const cl_device_partition_property_ext * properties,
774  cl_uint num_entries,
775  cl_device_id * out_devices,
776  cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_1;
777 
778 typedef cl_int
780  const cl_device_partition_property_ext * properties,
781  cl_uint num_entries,
782  cl_device_id * out_devices,
783  cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_1;
784 
785 /* cl_device_partition_property_ext */
786 #define CL_DEVICE_PARTITION_EQUALLY_EXT 0x4050
787 #define CL_DEVICE_PARTITION_BY_COUNTS_EXT 0x4051
788 #define CL_DEVICE_PARTITION_BY_NAMES_EXT 0x4052
789 #define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT 0x4053
790 
791 /* clDeviceGetInfo selectors */
792 #define CL_DEVICE_PARENT_DEVICE_EXT 0x4054
793 #define CL_DEVICE_PARTITION_TYPES_EXT 0x4055
794 #define CL_DEVICE_AFFINITY_DOMAINS_EXT 0x4056
795 #define CL_DEVICE_REFERENCE_COUNT_EXT 0x4057
796 #define CL_DEVICE_PARTITION_STYLE_EXT 0x4058
797 
798 /* error codes */
799 #define CL_DEVICE_PARTITION_FAILED_EXT -1057
800 #define CL_INVALID_PARTITION_COUNT_EXT -1058
801 #define CL_INVALID_PARTITION_NAME_EXT -1059
802 
803 /* CL_AFFINITY_DOMAINs */
804 #define CL_AFFINITY_DOMAIN_L1_CACHE_EXT 0x1
805 #define CL_AFFINITY_DOMAIN_L2_CACHE_EXT 0x2
806 #define CL_AFFINITY_DOMAIN_L3_CACHE_EXT 0x3
807 #define CL_AFFINITY_DOMAIN_L4_CACHE_EXT 0x4
808 #define CL_AFFINITY_DOMAIN_NUMA_EXT 0x10
809 #define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT 0x100
810 
811 /* cl_device_partition_property_ext list terminators */
812 #define CL_PROPERTIES_LIST_END_EXT ((cl_device_partition_property_ext) 0)
813 #define CL_PARTITION_BY_COUNTS_LIST_END_EXT ((cl_device_partition_property_ext) 0)
814 #define CL_PARTITION_BY_NAMES_LIST_END_EXT ((cl_device_partition_property_ext) 0 - 1)
815 
816 
817 /***********************************
818  * cl_ext_migrate_memobject extension definitions
819  ***********************************/
820 #define cl_ext_migrate_memobject 1
821 
823 
824 #define CL_MIGRATE_MEM_OBJECT_HOST_EXT 0x1
825 
826 #define CL_COMMAND_MIGRATE_MEM_OBJECT_EXT 0x4040
827 
830  cl_uint num_mem_objects,
831  const cl_mem * mem_objects,
832  cl_mem_migration_flags_ext flags,
833  cl_uint num_events_in_wait_list,
834  const cl_event * event_wait_list,
835  cl_event * event);
836 
837 typedef cl_int
839  cl_uint num_mem_objects,
840  const cl_mem * mem_objects,
841  cl_mem_migration_flags_ext flags,
842  cl_uint num_events_in_wait_list,
843  const cl_event * event_wait_list,
844  cl_event * event);
845 
846 
847 /*********************************
848 * cl_ext_cxx_for_opencl extension
849 *********************************/
850 #define cl_ext_cxx_for_opencl 1
851 
852 #define CL_DEVICE_CXX_FOR_OPENCL_NUMERIC_VERSION_EXT 0x4230
853 
854 /*********************************
855 * cl_qcom_ext_host_ptr extension
856 *********************************/
857 #define cl_qcom_ext_host_ptr 1
858 
859 #define CL_MEM_EXT_HOST_PTR_QCOM (1 << 29)
860 
861 #define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM 0x40A0
862 #define CL_DEVICE_PAGE_SIZE_QCOM 0x40A1
863 #define CL_IMAGE_ROW_ALIGNMENT_QCOM 0x40A2
864 #define CL_IMAGE_SLICE_ALIGNMENT_QCOM 0x40A3
865 #define CL_MEM_HOST_UNCACHED_QCOM 0x40A4
866 #define CL_MEM_HOST_WRITEBACK_QCOM 0x40A5
867 #define CL_MEM_HOST_WRITETHROUGH_QCOM 0x40A6
868 #define CL_MEM_HOST_WRITE_COMBINING_QCOM 0x40A7
869 
871 
874  size_t image_width,
875  size_t image_height,
876  const cl_image_format *image_format,
877  cl_image_pitch_info_qcom param_name,
878  size_t param_value_size,
879  void *param_value,
880  size_t *param_value_size_ret);
881 
882 typedef struct _cl_mem_ext_host_ptr
883 {
884  /* Type of external memory allocation. */
885  /* Legal values will be defined in layered extensions. */
887 
888  /* Host cache policy for this external memory allocation. */
890 
892 
893 
894 /*******************************************
895 * cl_qcom_ext_host_ptr_iocoherent extension
896 ********************************************/
897 
898 /* Cache policy specifying io-coherence */
899 #define CL_MEM_HOST_IOCOHERENT_QCOM 0x40A9
900 
901 
902 /*********************************
903 * cl_qcom_ion_host_ptr extension
904 *********************************/
905 
906 #define CL_MEM_ION_HOST_PTR_QCOM 0x40A8
907 
908 typedef struct _cl_mem_ion_host_ptr
909 {
910  /* Type of external memory allocation. */
911  /* Must be CL_MEM_ION_HOST_PTR_QCOM for ION allocations. */
913 
914  /* ION file descriptor */
916 
917  /* Host pointer to the ION allocated memory */
918  void* ion_hostptr;
919 
921 
922 
923 /*********************************
924 * cl_qcom_android_native_buffer_host_ptr extension
925 *********************************/
926 
927 #define CL_MEM_ANDROID_NATIVE_BUFFER_HOST_PTR_QCOM 0x40C6
928 
930 {
931  /* Type of external memory allocation. */
932  /* Must be CL_MEM_ANDROID_NATIVE_BUFFER_HOST_PTR_QCOM for Android native buffers. */
934 
935  /* Virtual pointer to the android native buffer */
936  void* anb_ptr;
937 
939 
940 
941 /******************************************
942  * cl_img_yuv_image extension *
943  ******************************************/
944 
945 /* Image formats used in clCreateImage */
946 #define CL_NV21_IMG 0x40D0
947 #define CL_YV12_IMG 0x40D1
948 
949 
950 /******************************************
951  * cl_img_cached_allocations extension *
952  ******************************************/
953 
954 /* Flag values used by clCreateBuffer */
955 #define CL_MEM_USE_UNCACHED_CPU_MEMORY_IMG (1 << 26)
956 #define CL_MEM_USE_CACHED_CPU_MEMORY_IMG (1 << 27)
957 
958 
959 /******************************************
960  * cl_img_use_gralloc_ptr extension *
961  ******************************************/
962 #define cl_img_use_gralloc_ptr 1
963 
964 /* Flag values used by clCreateBuffer */
965 #define CL_MEM_USE_GRALLOC_PTR_IMG (1 << 28)
966 
967 /* To be used by clGetEventInfo: */
968 #define CL_COMMAND_ACQUIRE_GRALLOC_OBJECTS_IMG 0x40D2
969 #define CL_COMMAND_RELEASE_GRALLOC_OBJECTS_IMG 0x40D3
970 
971 /* Error codes from clEnqueueAcquireGrallocObjectsIMG and clEnqueueReleaseGrallocObjectsIMG */
972 #define CL_GRALLOC_RESOURCE_NOT_ACQUIRED_IMG 0x40D4
973 #define CL_INVALID_GRALLOC_OBJECT_IMG 0x40D5
974 
977  cl_uint num_objects,
978  const cl_mem * mem_objects,
979  cl_uint num_events_in_wait_list,
980  const cl_event * event_wait_list,
982 
985  cl_uint num_objects,
986  const cl_mem * mem_objects,
987  cl_uint num_events_in_wait_list,
988  const cl_event * event_wait_list,
990 
991 /******************************************
992  * cl_img_generate_mipmap extension *
993  ******************************************/
994 #define cl_img_generate_mipmap 1
995 
997 
998 /* To be used by clEnqueueGenerateMipmapIMG */
999 #define CL_MIPMAP_FILTER_ANY_IMG 0x0
1000 #define CL_MIPMAP_FILTER_BOX_IMG 0x1
1001 
1002 /* To be used by clGetEventInfo */
1003 #define CL_COMMAND_GENERATE_MIPMAP_IMG 0x40D6
1004 
1007  cl_mem src_image,
1008  cl_mem dst_image,
1009  cl_mipmap_filter_mode_img mipmap_filter_mode,
1010  const size_t *array_region,
1011  const size_t *mip_region,
1012  cl_uint num_events_in_wait_list,
1013  const cl_event *event_wait_list,
1015 
1016 /******************************************
1017  * cl_img_mem_properties extension *
1018  ******************************************/
1019 #define cl_img_mem_properties 1
1020 
1021 /* To be used by clCreateBufferWithProperties */
1022 #define CL_MEM_ALLOC_FLAGS_IMG 0x40D7
1023 
1024 /* To be used wiith the CL_MEM_ALLOC_FLAGS_IMG property */
1026 
1027 /* To be used with cl_mem_alloc_flags_img */
1028 #define CL_MEM_ALLOC_RELAX_REQUIREMENTS_IMG (1 << 0)
1029 
1030 /*********************************
1031 * cl_khr_subgroups extension
1032 *********************************/
1033 #define cl_khr_subgroups 1
1034 
1035 #if !defined(CL_VERSION_2_1)
1036 /* For OpenCL 2.1 and newer, cl_kernel_sub_group_info is declared in CL.h.
1037  In hindsight, there should have been a khr suffix on this type for
1038  the extension, but keeping it un-suffixed to maintain backwards
1039  compatibility. */
1041 #endif
1042 
1043 /* cl_kernel_sub_group_info */
1044 #define CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR 0x2033
1045 #define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR 0x2034
1046 
1049  cl_device_id in_device,
1050  cl_kernel_sub_group_info param_name,
1051  size_t input_value_size,
1052  const void * input_value,
1053  size_t param_value_size,
1054  void * param_value,
1055  size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
1056 
1057 typedef cl_int
1059  cl_device_id in_device,
1060  cl_kernel_sub_group_info param_name,
1061  size_t input_value_size,
1062  const void * input_value,
1063  size_t param_value_size,
1064  void * param_value,
1065  size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED;
1066 
1067 
1068 /*********************************
1069 * cl_khr_mipmap_image extension
1070 *********************************/
1071 
1072 /* cl_sampler_properties */
1073 #define CL_SAMPLER_MIP_FILTER_MODE_KHR 0x1155
1074 #define CL_SAMPLER_LOD_MIN_KHR 0x1156
1075 #define CL_SAMPLER_LOD_MAX_KHR 0x1157
1076 
1077 
1078 /*********************************
1079 * cl_khr_priority_hints extension
1080 *********************************/
1081 /* This extension define is for backwards compatibility.
1082  It shouldn't be required since this extension has no new functions. */
1083 #define cl_khr_priority_hints 1
1084 
1086 
1087 /* cl_command_queue_properties */
1088 #define CL_QUEUE_PRIORITY_KHR 0x1096
1089 
1090 /* cl_queue_priority_khr */
1091 #define CL_QUEUE_PRIORITY_HIGH_KHR (1<<0)
1092 #define CL_QUEUE_PRIORITY_MED_KHR (1<<1)
1093 #define CL_QUEUE_PRIORITY_LOW_KHR (1<<2)
1094 
1095 
1096 /*********************************
1097 * cl_khr_throttle_hints extension
1098 *********************************/
1099 /* This extension define is for backwards compatibility.
1100  It shouldn't be required since this extension has no new functions. */
1101 #define cl_khr_throttle_hints 1
1102 
1104 
1105 /* cl_command_queue_properties */
1106 #define CL_QUEUE_THROTTLE_KHR 0x1097
1107 
1108 /* cl_queue_throttle_khr */
1109 #define CL_QUEUE_THROTTLE_HIGH_KHR (1<<0)
1110 #define CL_QUEUE_THROTTLE_MED_KHR (1<<1)
1111 #define CL_QUEUE_THROTTLE_LOW_KHR (1<<2)
1112 
1113 
1114 /*********************************
1115 * cl_khr_subgroup_named_barrier
1116 *********************************/
1117 /* This extension define is for backwards compatibility.
1118  It shouldn't be required since this extension has no new functions. */
1119 #define cl_khr_subgroup_named_barrier 1
1120 
1121 /* cl_device_info */
1122 #define CL_DEVICE_MAX_NAMED_BARRIER_COUNT_KHR 0x2035
1123 
1124 
1125 /*********************************
1126 * cl_khr_extended_versioning
1127 *********************************/
1128 
1129 #define cl_khr_extended_versioning 1
1130 
1131 #define CL_VERSION_MAJOR_BITS_KHR (10)
1132 #define CL_VERSION_MINOR_BITS_KHR (10)
1133 #define CL_VERSION_PATCH_BITS_KHR (12)
1134 
1135 #define CL_VERSION_MAJOR_MASK_KHR ((1 << CL_VERSION_MAJOR_BITS_KHR) - 1)
1136 #define CL_VERSION_MINOR_MASK_KHR ((1 << CL_VERSION_MINOR_BITS_KHR) - 1)
1137 #define CL_VERSION_PATCH_MASK_KHR ((1 << CL_VERSION_PATCH_BITS_KHR) - 1)
1138 
1139 #define CL_VERSION_MAJOR_KHR(version) ((version) >> (CL_VERSION_MINOR_BITS_KHR + CL_VERSION_PATCH_BITS_KHR))
1140 #define CL_VERSION_MINOR_KHR(version) (((version) >> CL_VERSION_PATCH_BITS_KHR) & CL_VERSION_MINOR_MASK_KHR)
1141 #define CL_VERSION_PATCH_KHR(version) ((version) & CL_VERSION_PATCH_MASK_KHR)
1142 
1143 #define CL_MAKE_VERSION_KHR(major, minor, patch) \
1144  ((((major) & CL_VERSION_MAJOR_MASK_KHR) << (CL_VERSION_MINOR_BITS_KHR + CL_VERSION_PATCH_BITS_KHR)) | \
1145  (((minor) & CL_VERSION_MINOR_MASK_KHR) << CL_VERSION_PATCH_BITS_KHR) | \
1146  ((patch) & CL_VERSION_PATCH_MASK_KHR))
1147 
1149 
1150 #define CL_NAME_VERSION_MAX_NAME_SIZE_KHR 64
1151 
1152 typedef struct _cl_name_version_khr
1153 {
1154  cl_version_khr version;
1157 
1158 /* cl_platform_info */
1159 #define CL_PLATFORM_NUMERIC_VERSION_KHR 0x0906
1160 #define CL_PLATFORM_EXTENSIONS_WITH_VERSION_KHR 0x0907
1161 
1162 /* cl_device_info */
1163 #define CL_DEVICE_NUMERIC_VERSION_KHR 0x105E
1164 #define CL_DEVICE_OPENCL_C_NUMERIC_VERSION_KHR 0x105F
1165 #define CL_DEVICE_EXTENSIONS_WITH_VERSION_KHR 0x1060
1166 #define CL_DEVICE_ILS_WITH_VERSION_KHR 0x1061
1167 #define CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION_KHR 0x1062
1168 
1169 
1170 /*********************************
1171 * cl_khr_device_uuid extension
1172 *********************************/
1173 #define cl_khr_device_uuid 1
1174 
1175 #define CL_UUID_SIZE_KHR 16
1176 #define CL_LUID_SIZE_KHR 8
1177 
1178 #define CL_DEVICE_UUID_KHR 0x106A
1179 #define CL_DRIVER_UUID_KHR 0x106B
1180 #define CL_DEVICE_LUID_VALID_KHR 0x106C
1181 #define CL_DEVICE_LUID_KHR 0x106D
1182 #define CL_DEVICE_NODE_MASK_KHR 0x106E
1183 
1184 
1185 /***************************************************************
1186 * cl_khr_pci_bus_info
1187 ***************************************************************/
1188 #define cl_khr_pci_bus_info 1
1189 
1196 
1197 /* cl_device_info */
1198 #define CL_DEVICE_PCI_BUS_INFO_KHR 0x410F
1199 
1200 
1201 /***************************************************************
1202 * cl_khr_suggested_local_work_size
1203 ***************************************************************/
1204 #define cl_khr_suggested_local_work_size 1
1205 
1208  cl_command_queue command_queue,
1209  cl_kernel kernel,
1210  cl_uint work_dim,
1211  const size_t* global_work_offset,
1212  const size_t* global_work_size,
1213  size_t* suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0;
1214 
1215 typedef cl_int (CL_API_CALL *
1217  cl_command_queue command_queue,
1218  cl_kernel kernel,
1219  cl_uint work_dim,
1220  const size_t* global_work_offset,
1221  const size_t* global_work_size,
1222  size_t* suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0;
1223 
1224 
1225 /***************************************************************
1226 * cl_khr_integer_dot_product
1227 ***************************************************************/
1228 #define cl_khr_integer_dot_product 1
1229 
1231 
1232 /* cl_device_integer_dot_product_capabilities_khr */
1233 #define CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED_KHR (1 << 0)
1234 #define CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_KHR (1 << 1)
1235 
1244 
1245 /* cl_device_info */
1246 #define CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES_KHR 0x1073
1247 #define CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT_KHR 0x1074
1248 #define CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED_KHR 0x1075
1249 
1250 
1251 /***************************************************************
1252 * cl_khr_external_memory
1253 ***************************************************************/
1254 #define cl_khr_external_memory 1
1255 
1257 
1258 /* cl_platform_info */
1259 #define CL_PLATFORM_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR 0x2044
1260 
1261 /* cl_device_info */
1262 #define CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR 0x204F
1263 
1264 /* cl_mem_properties */
1265 #define CL_DEVICE_HANDLE_LIST_KHR 0x2051
1266 #define CL_DEVICE_HANDLE_LIST_END_KHR 0
1267 
1268 /* cl_command_type */
1269 #define CL_COMMAND_ACQUIRE_EXTERNAL_MEM_OBJECTS_KHR 0x2047
1270 #define CL_COMMAND_RELEASE_EXTERNAL_MEM_OBJECTS_KHR 0x2048
1271 
1272 
1273 typedef cl_int (CL_API_CALL *
1275  cl_command_queue command_queue,
1276  cl_uint num_mem_objects,
1277  const cl_mem* mem_objects,
1278  cl_uint num_events_in_wait_list,
1279  const cl_event* event_wait_list,
1280  cl_event* event) CL_API_SUFFIX__VERSION_3_0;
1281 
1282 typedef cl_int (CL_API_CALL *
1284  cl_command_queue command_queue,
1285  cl_uint num_mem_objects,
1286  const cl_mem* mem_objects,
1287  cl_uint num_events_in_wait_list,
1288  const cl_event* event_wait_list,
1289  cl_event* event) CL_API_SUFFIX__VERSION_3_0;
1290 
1293  cl_command_queue command_queue,
1294  cl_uint num_mem_objects,
1295  const cl_mem* mem_objects,
1296  cl_uint num_events_in_wait_list,
1297  const cl_event* event_wait_list,
1299 
1302  cl_command_queue command_queue,
1303  cl_uint num_mem_objects,
1304  const cl_mem* mem_objects,
1305  cl_uint num_events_in_wait_list,
1306  const cl_event* event_wait_list,
1308 
1309 /***************************************************************
1310 * cl_khr_external_memory_dma_buf
1311 ***************************************************************/
1312 #define cl_khr_external_memory_dma_buf 1
1313 
1314 /* cl_external_memory_handle_type_khr */
1315 #define CL_EXTERNAL_MEMORY_HANDLE_DMA_BUF_KHR 0x2067
1316 
1317 /***************************************************************
1318 * cl_khr_external_memory_dx
1319 ***************************************************************/
1320 #define cl_khr_external_memory_dx 1
1321 
1322 /* cl_external_memory_handle_type_khr */
1323 #define CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR 0x2063
1324 #define CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KMT_KHR 0x2064
1325 #define CL_EXTERNAL_MEMORY_HANDLE_D3D12_HEAP_KHR 0x2065
1326 #define CL_EXTERNAL_MEMORY_HANDLE_D3D12_RESOURCE_KHR 0x2066
1327 
1328 /***************************************************************
1329 * cl_khr_external_memory_opaque_fd
1330 ***************************************************************/
1331 #define cl_khr_external_memory_opaque_fd 1
1332 
1333 /* cl_external_memory_handle_type_khr */
1334 #define CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_FD_KHR 0x2060
1335 
1336 /***************************************************************
1337 * cl_khr_external_memory_win32
1338 ***************************************************************/
1339 #define cl_khr_external_memory_win32 1
1340 
1341 /* cl_external_memory_handle_type_khr */
1342 #define CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KHR 0x2061
1343 #define CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KMT_KHR 0x2062
1344 
1345 /***************************************************************
1346 * cl_khr_external_semaphore
1347 ***************************************************************/
1348 #define cl_khr_external_semaphore 1
1349 
1350 typedef struct _cl_semaphore_khr * cl_semaphore_khr;
1352 
1353 /* cl_platform_info */
1354 #define CL_PLATFORM_SEMAPHORE_IMPORT_HANDLE_TYPES_KHR 0x2037
1355 #define CL_PLATFORM_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR 0x2038
1356 
1357 /* cl_device_info */
1358 #define CL_DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES_KHR 0x204D
1359 #define CL_DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR 0x204E
1360 
1361 /* cl_semaphore_properties_khr */
1362 #define CL_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR 0x203F
1363 #define CL_SEMAPHORE_EXPORT_HANDLE_TYPES_LIST_END_KHR 0
1364 
1365 
1366 typedef cl_int (CL_API_CALL *
1368  cl_semaphore_khr sema_object,
1369  cl_device_id device,
1370  cl_external_semaphore_handle_type_khr handle_type,
1371  size_t handle_size,
1372  void* handle_ptr,
1373  size_t* handle_size_ret) CL_API_SUFFIX__VERSION_1_2;
1374 
1377  cl_semaphore_khr sema_object,
1378  cl_device_id device,
1379  cl_external_semaphore_handle_type_khr handle_type,
1380  size_t handle_size,
1381  void* handle_ptr,
1382  size_t* handle_size_ret) CL_API_SUFFIX__VERSION_1_2;
1383 
1384 /***************************************************************
1385 * cl_khr_external_semaphore_dx_fence
1386 ***************************************************************/
1387 #define cl_khr_external_semaphore_dx_fence 1
1388 
1389 /* cl_external_semaphore_handle_type_khr */
1390 #define CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR 0x2059
1391 
1392 /***************************************************************
1393 * cl_khr_external_semaphore_opaque_fd
1394 ***************************************************************/
1395 #define cl_khr_external_semaphore_opaque_fd 1
1396 
1397 /* cl_external_semaphore_handle_type_khr */
1398 #define CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR 0x2055
1399 
1400 /***************************************************************
1401 * cl_khr_external_semaphore_sync_fd
1402 ***************************************************************/
1403 #define cl_khr_external_semaphore_sync_fd 1
1404 
1405 /* cl_external_semaphore_handle_type_khr */
1406 #define CL_SEMAPHORE_HANDLE_SYNC_FD_KHR 0x2058
1407 
1408 /***************************************************************
1409 * cl_khr_external_semaphore_win32
1410 ***************************************************************/
1411 #define cl_khr_external_semaphore_win32 1
1412 
1413 /* cl_external_semaphore_handle_type_khr */
1414 #define CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KHR 0x2056
1415 #define CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KMT_KHR 0x2057
1416 
1417 /***************************************************************
1418 * cl_khr_semaphore
1419 ***************************************************************/
1420 #define cl_khr_semaphore 1
1421 
1422 /* type cl_semaphore_khr */
1427 
1428 /* cl_semaphore_type */
1429 #define CL_SEMAPHORE_TYPE_BINARY_KHR 1
1430 
1431 /* cl_platform_info */
1432 #define CL_PLATFORM_SEMAPHORE_TYPES_KHR 0x2036
1433 
1434 /* cl_device_info */
1435 #define CL_DEVICE_SEMAPHORE_TYPES_KHR 0x204C
1436 
1437 /* cl_semaphore_info_khr */
1438 #define CL_SEMAPHORE_CONTEXT_KHR 0x2039
1439 #define CL_SEMAPHORE_REFERENCE_COUNT_KHR 0x203A
1440 #define CL_SEMAPHORE_PROPERTIES_KHR 0x203B
1441 #define CL_SEMAPHORE_PAYLOAD_KHR 0x203C
1442 
1443 /* cl_semaphore_info_khr or cl_semaphore_properties_khr */
1444 #define CL_SEMAPHORE_TYPE_KHR 0x203D
1445 /* enum CL_DEVICE_HANDLE_LIST_KHR */
1446 /* enum CL_DEVICE_HANDLE_LIST_END_KHR */
1447 
1448 /* cl_command_type */
1449 #define CL_COMMAND_SEMAPHORE_WAIT_KHR 0x2042
1450 #define CL_COMMAND_SEMAPHORE_SIGNAL_KHR 0x2043
1451 
1452 /* Error codes */
1453 #define CL_INVALID_SEMAPHORE_KHR -1142
1454 
1455 
1456 typedef cl_semaphore_khr (CL_API_CALL *
1458  cl_context context,
1459  const cl_semaphore_properties_khr* sema_props,
1460  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1461 
1462 typedef cl_int (CL_API_CALL *
1464  cl_command_queue command_queue,
1465  cl_uint num_sema_objects,
1466  const cl_semaphore_khr* sema_objects,
1467  const cl_semaphore_payload_khr* sema_payload_list,
1468  cl_uint num_events_in_wait_list,
1469  const cl_event* event_wait_list,
1470  cl_event* event) CL_API_SUFFIX__VERSION_1_2;
1471 
1472 typedef cl_int (CL_API_CALL *
1474  cl_command_queue command_queue,
1475  cl_uint num_sema_objects,
1476  const cl_semaphore_khr* sema_objects,
1477  const cl_semaphore_payload_khr* sema_payload_list,
1478  cl_uint num_events_in_wait_list,
1479  const cl_event* event_wait_list,
1480  cl_event* event) CL_API_SUFFIX__VERSION_1_2;
1481 
1482 typedef cl_int (CL_API_CALL *
1484  cl_semaphore_khr sema_object,
1485  cl_semaphore_info_khr param_name,
1486  size_t param_value_size,
1487  void* param_value,
1488  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
1489 
1490 typedef cl_int (CL_API_CALL *
1492  cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
1493 
1494 typedef cl_int (CL_API_CALL *
1496  cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
1497 
1498 extern CL_API_ENTRY cl_semaphore_khr CL_API_CALL
1500  cl_context context,
1501  const cl_semaphore_properties_khr* sema_props,
1502  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1503 
1506  cl_command_queue command_queue,
1507  cl_uint num_sema_objects,
1508  const cl_semaphore_khr* sema_objects,
1509  const cl_semaphore_payload_khr* sema_payload_list,
1510  cl_uint num_events_in_wait_list,
1511  const cl_event* event_wait_list,
1513 
1516  cl_command_queue command_queue,
1517  cl_uint num_sema_objects,
1518  const cl_semaphore_khr* sema_objects,
1519  const cl_semaphore_payload_khr* sema_payload_list,
1520  cl_uint num_events_in_wait_list,
1521  const cl_event* event_wait_list,
1523 
1526  cl_semaphore_khr sema_object,
1527  cl_semaphore_info_khr param_name,
1528  size_t param_value_size,
1529  void* param_value,
1530  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
1531 
1534  cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
1535 
1538  cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2;
1539 
1540 /**********************************
1541  * cl_arm_import_memory extension *
1542  **********************************/
1543 #define cl_arm_import_memory 1
1544 
1545 typedef intptr_t cl_import_properties_arm;
1546 
1547 /* Default and valid proporties name for cl_arm_import_memory */
1548 #define CL_IMPORT_TYPE_ARM 0x40B2
1549 
1550 /* Host process memory type default value for CL_IMPORT_TYPE_ARM property */
1551 #define CL_IMPORT_TYPE_HOST_ARM 0x40B3
1552 
1553 /* DMA BUF memory type value for CL_IMPORT_TYPE_ARM property */
1554 #define CL_IMPORT_TYPE_DMA_BUF_ARM 0x40B4
1555 
1556 /* Protected memory property */
1557 #define CL_IMPORT_TYPE_PROTECTED_ARM 0x40B5
1558 
1559 /* Android hardware buffer type value for CL_IMPORT_TYPE_ARM property */
1560 #define CL_IMPORT_TYPE_ANDROID_HARDWARE_BUFFER_ARM 0x41E2
1561 
1562 /* Data consistency with host property */
1563 #define CL_IMPORT_DMA_BUF_DATA_CONSISTENCY_WITH_HOST_ARM 0x41E3
1564 
1565 /* Index of plane in a multiplanar hardware buffer */
1566 #define CL_IMPORT_ANDROID_HARDWARE_BUFFER_PLANE_INDEX_ARM 0x41EF
1567 
1568 /* Index of layer in a multilayer hardware buffer */
1569 #define CL_IMPORT_ANDROID_HARDWARE_BUFFER_LAYER_INDEX_ARM 0x41F0
1570 
1571 /* Import memory size value to indicate a size for the whole buffer */
1572 #define CL_IMPORT_MEMORY_WHOLE_ALLOCATION_ARM SIZE_MAX
1573 
1574 /* This extension adds a new function that allows for direct memory import into
1575  * OpenCL via the clImportMemoryARM function.
1576  *
1577  * Memory imported through this interface will be mapped into the device's page
1578  * tables directly, providing zero copy access. It will never fall back to copy
1579  * operations and aliased buffers.
1580  *
1581  * Types of memory supported for import are specified as additional extension
1582  * strings.
1583  *
1584  * This extension produces cl_mem allocations which are compatible with all other
1585  * users of cl_mem in the standard API.
1586  *
1587  * This extension maps pages with the same properties as the normal buffer creation
1588  * function clCreateBuffer.
1589  */
1591 clImportMemoryARM( cl_context context,
1592  cl_mem_flags flags,
1593  const cl_import_properties_arm *properties,
1594  void *memory,
1595  size_t size,
1596  cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1597 
1598 
1599 /******************************************
1600  * cl_arm_shared_virtual_memory extension *
1601  ******************************************/
1602 #define cl_arm_shared_virtual_memory 1
1603 
1604 /* Used by clGetDeviceInfo */
1605 #define CL_DEVICE_SVM_CAPABILITIES_ARM 0x40B6
1606 
1607 /* Used by clGetMemObjectInfo */
1608 #define CL_MEM_USES_SVM_POINTER_ARM 0x40B7
1609 
1610 /* Used by clSetKernelExecInfoARM: */
1611 #define CL_KERNEL_EXEC_INFO_SVM_PTRS_ARM 0x40B8
1612 #define CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM_ARM 0x40B9
1613 
1614 /* To be used by clGetEventInfo: */
1615 #define CL_COMMAND_SVM_FREE_ARM 0x40BA
1616 #define CL_COMMAND_SVM_MEMCPY_ARM 0x40BB
1617 #define CL_COMMAND_SVM_MEMFILL_ARM 0x40BC
1618 #define CL_COMMAND_SVM_MAP_ARM 0x40BD
1619 #define CL_COMMAND_SVM_UNMAP_ARM 0x40BE
1620 
1621 /* Flag values returned by clGetDeviceInfo with CL_DEVICE_SVM_CAPABILITIES_ARM as the param_name. */
1622 #define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER_ARM (1 << 0)
1623 #define CL_DEVICE_SVM_FINE_GRAIN_BUFFER_ARM (1 << 1)
1624 #define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM_ARM (1 << 2)
1625 #define CL_DEVICE_SVM_ATOMICS_ARM (1 << 3)
1626 
1627 /* Flag values used by clSVMAllocARM: */
1628 #define CL_MEM_SVM_FINE_GRAIN_BUFFER_ARM (1 << 10)
1629 #define CL_MEM_SVM_ATOMICS_ARM (1 << 11)
1630 
1634 
1635 extern CL_API_ENTRY void * CL_API_CALL
1636 clSVMAllocARM(cl_context context,
1637  cl_svm_mem_flags_arm flags,
1638  size_t size,
1640 
1641 extern CL_API_ENTRY void CL_API_CALL
1642 clSVMFreeARM(cl_context context,
1643  void * svm_pointer) CL_API_SUFFIX__VERSION_1_2;
1644 
1647  cl_uint num_svm_pointers,
1648  void * svm_pointers[],
1649  void (CL_CALLBACK * pfn_free_func)(cl_command_queue queue,
1650  cl_uint num_svm_pointers,
1651  void * svm_pointers[],
1652  void * user_data),
1653  void * user_data,
1654  cl_uint num_events_in_wait_list,
1655  const cl_event * event_wait_list,
1657 
1660  cl_bool blocking_copy,
1661  void * dst_ptr,
1662  const void * src_ptr,
1663  size_t size,
1664  cl_uint num_events_in_wait_list,
1665  const cl_event * event_wait_list,
1667 
1670  void * svm_ptr,
1671  const void * pattern,
1672  size_t pattern_size,
1673  size_t size,
1674  cl_uint num_events_in_wait_list,
1675  const cl_event * event_wait_list,
1677 
1679 clEnqueueSVMMapARM(cl_command_queue command_queue,
1680  cl_bool blocking_map,
1681  cl_map_flags flags,
1682  void * svm_ptr,
1683  size_t size,
1684  cl_uint num_events_in_wait_list,
1685  const cl_event * event_wait_list,
1687 
1690  void * svm_ptr,
1691  cl_uint num_events_in_wait_list,
1692  const cl_event * event_wait_list,
1694 
1697  cl_uint arg_index,
1698  const void * arg_value) CL_API_SUFFIX__VERSION_1_2;
1699 
1702  cl_kernel_exec_info_arm param_name,
1703  size_t param_value_size,
1704  const void * param_value) CL_API_SUFFIX__VERSION_1_2;
1705 
1706 /********************************
1707  * cl_arm_get_core_id extension *
1708  ********************************/
1709 
1710 #ifdef CL_VERSION_1_2
1711 
1712 #define cl_arm_get_core_id 1
1713 
1714 /* Device info property for bitfield of cores present */
1715 #define CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM 0x40BF
1716 
1717 #endif /* CL_VERSION_1_2 */
1718 
1719 /*********************************
1720 * cl_arm_job_slot_selection
1721 *********************************/
1722 
1723 #define cl_arm_job_slot_selection 1
1724 
1725 /* cl_device_info */
1726 #define CL_DEVICE_JOB_SLOTS_ARM 0x41E0
1727 
1728 /* cl_command_queue_properties */
1729 #define CL_QUEUE_JOB_SLOT_ARM 0x41E1
1730 
1731 /*********************************
1732 * cl_arm_scheduling_controls
1733 *********************************/
1734 
1735 #define cl_arm_scheduling_controls 1
1736 
1738 
1739 /* cl_device_info */
1740 #define CL_DEVICE_SCHEDULING_CONTROLS_CAPABILITIES_ARM 0x41E4
1741 
1742 #define CL_DEVICE_SCHEDULING_KERNEL_BATCHING_ARM (1 << 0)
1743 #define CL_DEVICE_SCHEDULING_WORKGROUP_BATCH_SIZE_ARM (1 << 1)
1744 #define CL_DEVICE_SCHEDULING_WORKGROUP_BATCH_SIZE_MODIFIER_ARM (1 << 2)
1745 #define CL_DEVICE_SCHEDULING_DEFERRED_FLUSH_ARM (1 << 3)
1746 #define CL_DEVICE_SCHEDULING_REGISTER_ALLOCATION_ARM (1 << 4)
1747 #define CL_DEVICE_SCHEDULING_WARP_THROTTLING_ARM (1 << 5)
1748 #define CL_DEVICE_SCHEDULING_COMPUTE_UNIT_BATCH_QUEUE_SIZE_ARM (1 << 6)
1749 
1750 #define CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM 0x41EB
1751 #define CL_DEVICE_MAX_WARP_COUNT_ARM 0x41EA
1752 
1753 /* cl_kernel_info */
1754 #define CL_KERNEL_MAX_WARP_COUNT_ARM 0x41E9
1755 
1756 /* cl_kernel_exec_info */
1757 #define CL_KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_ARM 0x41E5
1758 #define CL_KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_MODIFIER_ARM 0x41E6
1759 #define CL_KERNEL_EXEC_INFO_WARP_COUNT_LIMIT_ARM 0x41E8
1760 #define CL_KERNEL_EXEC_INFO_COMPUTE_UNIT_MAX_QUEUED_BATCHES_ARM 0x41F1
1761 
1762 /* cl_queue_properties */
1763 #define CL_QUEUE_KERNEL_BATCHING_ARM 0x41E7
1764 #define CL_QUEUE_DEFERRED_FLUSH_ARM 0x41EC
1765 
1766 /**************************************
1767 * cl_arm_controlled_kernel_termination
1768 ***************************************/
1769 
1770 #define cl_arm_controlled_kernel_termination 1
1771 
1772 /* Error code to indicate kernel terminated with failure */
1773 #define CL_COMMAND_TERMINATED_ITSELF_WITH_FAILURE_ARM -1108
1774 
1775 /* cl_device_info */
1776 #define CL_DEVICE_CONTROLLED_TERMINATION_CAPABILITIES_ARM 0x41EE
1777 
1778 /* Bit fields for controlled termination feature query */
1780 
1781 #define CL_DEVICE_CONTROLLED_TERMINATION_SUCCESS_ARM (1 << 0)
1782 #define CL_DEVICE_CONTROLLED_TERMINATION_FAILURE_ARM (1 << 1)
1783 #define CL_DEVICE_CONTROLLED_TERMINATION_QUERY_ARM (1 << 2)
1784 
1785 /* cl_event_info */
1786 #define CL_EVENT_COMMAND_TERMINATION_REASON_ARM 0x41ED
1787 
1788 /* Values returned for event termination reason query */
1790 
1791 #define CL_COMMAND_TERMINATION_COMPLETION_ARM 0
1792 #define CL_COMMAND_TERMINATION_CONTROLLED_SUCCESS_ARM 1
1793 #define CL_COMMAND_TERMINATION_CONTROLLED_FAILURE_ARM 2
1794 #define CL_COMMAND_TERMINATION_ERROR_ARM 3
1795 
1796 /*************************************
1797 * cl_arm_protected_memory_allocation *
1798 *************************************/
1799 
1800 #define cl_arm_protected_memory_allocation 1
1801 
1802 #define CL_MEM_PROTECTED_ALLOC_ARM (1ULL << 36)
1803 
1804 /******************************************
1805 * cl_intel_exec_by_local_thread extension *
1806 ******************************************/
1807 
1808 #define cl_intel_exec_by_local_thread 1
1809 
1810 #define CL_QUEUE_THREAD_LOCAL_EXEC_ENABLE_INTEL (((cl_bitfield)1) << 31)
1811 
1812 /***************************************************************
1813 * cl_intel_device_attribute_query
1814 ***************************************************************/
1815 
1816 #define cl_intel_device_attribute_query 1
1817 
1819 
1820 /* cl_device_feature_capabilities_intel */
1821 #define CL_DEVICE_FEATURE_FLAG_DP4A_INTEL (1 << 0)
1822 #define CL_DEVICE_FEATURE_FLAG_DPAS_INTEL (1 << 1)
1823 
1824 /* cl_device_info */
1825 #define CL_DEVICE_IP_VERSION_INTEL 0x4250
1826 #define CL_DEVICE_ID_INTEL 0x4251
1827 #define CL_DEVICE_NUM_SLICES_INTEL 0x4252
1828 #define CL_DEVICE_NUM_SUB_SLICES_PER_SLICE_INTEL 0x4253
1829 #define CL_DEVICE_NUM_EUS_PER_SUB_SLICE_INTEL 0x4254
1830 #define CL_DEVICE_NUM_THREADS_PER_EU_INTEL 0x4255
1831 #define CL_DEVICE_FEATURE_CAPABILITIES_INTEL 0x4256
1832 
1833 /***********************************************
1834 * cl_intel_device_partition_by_names extension *
1835 ************************************************/
1836 
1837 #define cl_intel_device_partition_by_names 1
1838 
1839 #define CL_DEVICE_PARTITION_BY_NAMES_INTEL 0x4052
1840 #define CL_PARTITION_BY_NAMES_LIST_END_INTEL -1
1841 
1842 /************************************************
1843 * cl_intel_accelerator extension *
1844 * cl_intel_motion_estimation extension *
1845 * cl_intel_advanced_motion_estimation extension *
1846 *************************************************/
1847 
1848 #define cl_intel_accelerator 1
1849 #define cl_intel_motion_estimation 1
1850 #define cl_intel_advanced_motion_estimation 1
1851 
1852 typedef struct _cl_accelerator_intel* cl_accelerator_intel;
1855 
1862 
1863 /* error codes */
1864 #define CL_INVALID_ACCELERATOR_INTEL -1094
1865 #define CL_INVALID_ACCELERATOR_TYPE_INTEL -1095
1866 #define CL_INVALID_ACCELERATOR_DESCRIPTOR_INTEL -1096
1867 #define CL_ACCELERATOR_TYPE_NOT_SUPPORTED_INTEL -1097
1868 
1869 /* cl_accelerator_type_intel */
1870 #define CL_ACCELERATOR_TYPE_MOTION_ESTIMATION_INTEL 0x0
1871 
1872 /* cl_accelerator_info_intel */
1873 #define CL_ACCELERATOR_DESCRIPTOR_INTEL 0x4090
1874 #define CL_ACCELERATOR_REFERENCE_COUNT_INTEL 0x4091
1875 #define CL_ACCELERATOR_CONTEXT_INTEL 0x4092
1876 #define CL_ACCELERATOR_TYPE_INTEL 0x4093
1877 
1878 /* cl_motion_detect_desc_intel flags */
1879 #define CL_ME_MB_TYPE_16x16_INTEL 0x0
1880 #define CL_ME_MB_TYPE_8x8_INTEL 0x1
1881 #define CL_ME_MB_TYPE_4x4_INTEL 0x2
1882 
1883 #define CL_ME_SUBPIXEL_MODE_INTEGER_INTEL 0x0
1884 #define CL_ME_SUBPIXEL_MODE_HPEL_INTEL 0x1
1885 #define CL_ME_SUBPIXEL_MODE_QPEL_INTEL 0x2
1886 
1887 #define CL_ME_SAD_ADJUST_MODE_NONE_INTEL 0x0
1888 #define CL_ME_SAD_ADJUST_MODE_HAAR_INTEL 0x1
1889 
1890 #define CL_ME_SEARCH_PATH_RADIUS_2_2_INTEL 0x0
1891 #define CL_ME_SEARCH_PATH_RADIUS_4_4_INTEL 0x1
1892 #define CL_ME_SEARCH_PATH_RADIUS_16_12_INTEL 0x5
1893 
1894 #define CL_ME_SKIP_BLOCK_TYPE_16x16_INTEL 0x0
1895 #define CL_ME_CHROMA_INTRA_PREDICT_ENABLED_INTEL 0x1
1896 #define CL_ME_LUMA_INTRA_PREDICT_ENABLED_INTEL 0x2
1897 #define CL_ME_SKIP_BLOCK_TYPE_8x8_INTEL 0x4
1898 
1899 #define CL_ME_FORWARD_INPUT_MODE_INTEL 0x1
1900 #define CL_ME_BACKWARD_INPUT_MODE_INTEL 0x2
1901 #define CL_ME_BIDIRECTION_INPUT_MODE_INTEL 0x3
1902 
1903 #define CL_ME_BIDIR_WEIGHT_QUARTER_INTEL 16
1904 #define CL_ME_BIDIR_WEIGHT_THIRD_INTEL 21
1905 #define CL_ME_BIDIR_WEIGHT_HALF_INTEL 32
1906 #define CL_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL 43
1907 #define CL_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL 48
1908 
1909 #define CL_ME_COST_PENALTY_NONE_INTEL 0x0
1910 #define CL_ME_COST_PENALTY_LOW_INTEL 0x1
1911 #define CL_ME_COST_PENALTY_NORMAL_INTEL 0x2
1912 #define CL_ME_COST_PENALTY_HIGH_INTEL 0x3
1913 
1914 #define CL_ME_COST_PRECISION_QPEL_INTEL 0x0
1915 #define CL_ME_COST_PRECISION_HPEL_INTEL 0x1
1916 #define CL_ME_COST_PRECISION_PEL_INTEL 0x2
1917 #define CL_ME_COST_PRECISION_DPEL_INTEL 0x3
1918 
1919 #define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL 0x0
1920 #define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
1921 #define CL_ME_LUMA_PREDICTOR_MODE_DC_INTEL 0x2
1922 #define CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL 0x3
1923 
1924 #define CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL 0x4
1925 #define CL_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL 0x4
1926 #define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL 0x5
1927 #define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL 0x6
1928 #define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL 0x7
1929 #define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL 0x8
1930 
1931 #define CL_ME_CHROMA_PREDICTOR_MODE_DC_INTEL 0x0
1932 #define CL_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
1933 #define CL_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL 0x2
1934 #define CL_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL 0x3
1935 
1936 /* cl_device_info */
1937 #define CL_DEVICE_ME_VERSION_INTEL 0x407E
1938 
1939 #define CL_ME_VERSION_LEGACY_INTEL 0x0
1940 #define CL_ME_VERSION_ADVANCED_VER_1_INTEL 0x1
1941 #define CL_ME_VERSION_ADVANCED_VER_2_INTEL 0x2
1942 
1943 extern CL_API_ENTRY cl_accelerator_intel CL_API_CALL
1945  cl_context context,
1946  cl_accelerator_type_intel accelerator_type,
1947  size_t descriptor_size,
1948  const void* descriptor,
1949  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1950 
1952  cl_context context,
1953  cl_accelerator_type_intel accelerator_type,
1954  size_t descriptor_size,
1955  const void* descriptor,
1956  cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1957 
1960  cl_accelerator_intel accelerator,
1961  cl_accelerator_info_intel param_name,
1962  size_t param_value_size,
1963  void* param_value,
1964  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
1965 
1967  cl_accelerator_intel accelerator,
1968  cl_accelerator_info_intel param_name,
1969  size_t param_value_size,
1970  void* param_value,
1971  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
1972 
1975  cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
1976 
1978  cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
1979 
1982  cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
1983 
1985  cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2;
1986 
1987 /******************************************
1988 * cl_intel_simultaneous_sharing extension *
1989 *******************************************/
1990 
1991 #define cl_intel_simultaneous_sharing 1
1992 
1993 #define CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL 0x4104
1994 #define CL_DEVICE_NUM_SIMULTANEOUS_INTEROPS_INTEL 0x4105
1995 
1996 /***********************************
1997 * cl_intel_egl_image_yuv extension *
1998 ************************************/
1999 
2000 #define cl_intel_egl_image_yuv 1
2001 
2002 #define CL_EGL_YUV_PLANE_INTEL 0x4107
2003 
2004 /********************************
2005 * cl_intel_packed_yuv extension *
2006 *********************************/
2007 
2008 #define cl_intel_packed_yuv 1
2009 
2010 #define CL_YUYV_INTEL 0x4076
2011 #define CL_UYVY_INTEL 0x4077
2012 #define CL_YVYU_INTEL 0x4078
2013 #define CL_VYUY_INTEL 0x4079
2014 
2015 /********************************************
2016 * cl_intel_required_subgroup_size extension *
2017 *********************************************/
2018 
2019 #define cl_intel_required_subgroup_size 1
2020 
2021 #define CL_DEVICE_SUB_GROUP_SIZES_INTEL 0x4108
2022 #define CL_KERNEL_SPILL_MEM_SIZE_INTEL 0x4109
2023 #define CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL 0x410A
2024 
2025 /****************************************
2026 * cl_intel_driver_diagnostics extension *
2027 *****************************************/
2028 
2029 #define cl_intel_driver_diagnostics 1
2030 
2032 
2033 #define CL_CONTEXT_SHOW_DIAGNOSTICS_INTEL 0x4106
2034 
2035 #define CL_CONTEXT_DIAGNOSTICS_LEVEL_ALL_INTEL ( 0xff )
2036 #define CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL ( 1 )
2037 #define CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL ( 1 << 1 )
2038 #define CL_CONTEXT_DIAGNOSTICS_LEVEL_NEUTRAL_INTEL ( 1 << 2 )
2039 
2040 /********************************
2041 * cl_intel_planar_yuv extension *
2042 *********************************/
2043 
2044 #define CL_NV12_INTEL 0x410E
2045 
2046 #define CL_MEM_NO_ACCESS_INTEL ( 1 << 24 )
2047 #define CL_MEM_ACCESS_FLAGS_UNRESTRICTED_INTEL ( 1 << 25 )
2048 
2049 #define CL_DEVICE_PLANAR_YUV_MAX_WIDTH_INTEL 0x417E
2050 #define CL_DEVICE_PLANAR_YUV_MAX_HEIGHT_INTEL 0x417F
2051 
2052 /*******************************************************
2053 * cl_intel_device_side_avc_motion_estimation extension *
2054 ********************************************************/
2055 
2056 #define CL_DEVICE_AVC_ME_VERSION_INTEL 0x410B
2057 #define CL_DEVICE_AVC_ME_SUPPORTS_TEXTURE_SAMPLER_USE_INTEL 0x410C
2058 #define CL_DEVICE_AVC_ME_SUPPORTS_PREEMPTION_INTEL 0x410D
2059 
2060 #define CL_AVC_ME_VERSION_0_INTEL 0x0 /* No support. */
2061 #define CL_AVC_ME_VERSION_1_INTEL 0x1 /* First supported version. */
2062 
2063 #define CL_AVC_ME_MAJOR_16x16_INTEL 0x0
2064 #define CL_AVC_ME_MAJOR_16x8_INTEL 0x1
2065 #define CL_AVC_ME_MAJOR_8x16_INTEL 0x2
2066 #define CL_AVC_ME_MAJOR_8x8_INTEL 0x3
2067 
2068 #define CL_AVC_ME_MINOR_8x8_INTEL 0x0
2069 #define CL_AVC_ME_MINOR_8x4_INTEL 0x1
2070 #define CL_AVC_ME_MINOR_4x8_INTEL 0x2
2071 #define CL_AVC_ME_MINOR_4x4_INTEL 0x3
2072 
2073 #define CL_AVC_ME_MAJOR_FORWARD_INTEL 0x0
2074 #define CL_AVC_ME_MAJOR_BACKWARD_INTEL 0x1
2075 #define CL_AVC_ME_MAJOR_BIDIRECTIONAL_INTEL 0x2
2076 
2077 #define CL_AVC_ME_PARTITION_MASK_ALL_INTEL 0x0
2078 #define CL_AVC_ME_PARTITION_MASK_16x16_INTEL 0x7E
2079 #define CL_AVC_ME_PARTITION_MASK_16x8_INTEL 0x7D
2080 #define CL_AVC_ME_PARTITION_MASK_8x16_INTEL 0x7B
2081 #define CL_AVC_ME_PARTITION_MASK_8x8_INTEL 0x77
2082 #define CL_AVC_ME_PARTITION_MASK_8x4_INTEL 0x6F
2083 #define CL_AVC_ME_PARTITION_MASK_4x8_INTEL 0x5F
2084 #define CL_AVC_ME_PARTITION_MASK_4x4_INTEL 0x3F
2085 
2086 #define CL_AVC_ME_SEARCH_WINDOW_EXHAUSTIVE_INTEL 0x0
2087 #define CL_AVC_ME_SEARCH_WINDOW_SMALL_INTEL 0x1
2088 #define CL_AVC_ME_SEARCH_WINDOW_TINY_INTEL 0x2
2089 #define CL_AVC_ME_SEARCH_WINDOW_EXTRA_TINY_INTEL 0x3
2090 #define CL_AVC_ME_SEARCH_WINDOW_DIAMOND_INTEL 0x4
2091 #define CL_AVC_ME_SEARCH_WINDOW_LARGE_DIAMOND_INTEL 0x5
2092 #define CL_AVC_ME_SEARCH_WINDOW_RESERVED0_INTEL 0x6
2093 #define CL_AVC_ME_SEARCH_WINDOW_RESERVED1_INTEL 0x7
2094 #define CL_AVC_ME_SEARCH_WINDOW_CUSTOM_INTEL 0x8
2095 #define CL_AVC_ME_SEARCH_WINDOW_16x12_RADIUS_INTEL 0x9
2096 #define CL_AVC_ME_SEARCH_WINDOW_4x4_RADIUS_INTEL 0x2
2097 #define CL_AVC_ME_SEARCH_WINDOW_2x2_RADIUS_INTEL 0xa
2098 
2099 #define CL_AVC_ME_SAD_ADJUST_MODE_NONE_INTEL 0x0
2100 #define CL_AVC_ME_SAD_ADJUST_MODE_HAAR_INTEL 0x2
2101 
2102 #define CL_AVC_ME_SUBPIXEL_MODE_INTEGER_INTEL 0x0
2103 #define CL_AVC_ME_SUBPIXEL_MODE_HPEL_INTEL 0x1
2104 #define CL_AVC_ME_SUBPIXEL_MODE_QPEL_INTEL 0x3
2105 
2106 #define CL_AVC_ME_COST_PRECISION_QPEL_INTEL 0x0
2107 #define CL_AVC_ME_COST_PRECISION_HPEL_INTEL 0x1
2108 #define CL_AVC_ME_COST_PRECISION_PEL_INTEL 0x2
2109 #define CL_AVC_ME_COST_PRECISION_DPEL_INTEL 0x3
2110 
2111 #define CL_AVC_ME_BIDIR_WEIGHT_QUARTER_INTEL 0x10
2112 #define CL_AVC_ME_BIDIR_WEIGHT_THIRD_INTEL 0x15
2113 #define CL_AVC_ME_BIDIR_WEIGHT_HALF_INTEL 0x20
2114 #define CL_AVC_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL 0x2B
2115 #define CL_AVC_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL 0x30
2116 
2117 #define CL_AVC_ME_BORDER_REACHED_LEFT_INTEL 0x0
2118 #define CL_AVC_ME_BORDER_REACHED_RIGHT_INTEL 0x2
2119 #define CL_AVC_ME_BORDER_REACHED_TOP_INTEL 0x4
2120 #define CL_AVC_ME_BORDER_REACHED_BOTTOM_INTEL 0x8
2121 
2122 #define CL_AVC_ME_SKIP_BLOCK_PARTITION_16x16_INTEL 0x0
2123 #define CL_AVC_ME_SKIP_BLOCK_PARTITION_8x8_INTEL 0x4000
2124 
2125 #define CL_AVC_ME_SKIP_BLOCK_16x16_FORWARD_ENABLE_INTEL ( 0x1 << 24 )
2126 #define CL_AVC_ME_SKIP_BLOCK_16x16_BACKWARD_ENABLE_INTEL ( 0x2 << 24 )
2127 #define CL_AVC_ME_SKIP_BLOCK_16x16_DUAL_ENABLE_INTEL ( 0x3 << 24 )
2128 #define CL_AVC_ME_SKIP_BLOCK_8x8_FORWARD_ENABLE_INTEL ( 0x55 << 24 )
2129 #define CL_AVC_ME_SKIP_BLOCK_8x8_BACKWARD_ENABLE_INTEL ( 0xAA << 24 )
2130 #define CL_AVC_ME_SKIP_BLOCK_8x8_DUAL_ENABLE_INTEL ( 0xFF << 24 )
2131 #define CL_AVC_ME_SKIP_BLOCK_8x8_0_FORWARD_ENABLE_INTEL ( 0x1 << 24 )
2132 #define CL_AVC_ME_SKIP_BLOCK_8x8_0_BACKWARD_ENABLE_INTEL ( 0x2 << 24 )
2133 #define CL_AVC_ME_SKIP_BLOCK_8x8_1_FORWARD_ENABLE_INTEL ( 0x1 << 26 )
2134 #define CL_AVC_ME_SKIP_BLOCK_8x8_1_BACKWARD_ENABLE_INTEL ( 0x2 << 26 )
2135 #define CL_AVC_ME_SKIP_BLOCK_8x8_2_FORWARD_ENABLE_INTEL ( 0x1 << 28 )
2136 #define CL_AVC_ME_SKIP_BLOCK_8x8_2_BACKWARD_ENABLE_INTEL ( 0x2 << 28 )
2137 #define CL_AVC_ME_SKIP_BLOCK_8x8_3_FORWARD_ENABLE_INTEL ( 0x1 << 30 )
2138 #define CL_AVC_ME_SKIP_BLOCK_8x8_3_BACKWARD_ENABLE_INTEL ( 0x2 << 30 )
2139 
2140 #define CL_AVC_ME_BLOCK_BASED_SKIP_4x4_INTEL 0x00
2141 #define CL_AVC_ME_BLOCK_BASED_SKIP_8x8_INTEL 0x80
2142 
2143 #define CL_AVC_ME_INTRA_16x16_INTEL 0x0
2144 #define CL_AVC_ME_INTRA_8x8_INTEL 0x1
2145 #define CL_AVC_ME_INTRA_4x4_INTEL 0x2
2146 
2147 #define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_16x16_INTEL 0x6
2148 #define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_8x8_INTEL 0x5
2149 #define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_4x4_INTEL 0x3
2150 
2151 #define CL_AVC_ME_INTRA_NEIGHBOR_LEFT_MASK_ENABLE_INTEL 0x60
2152 #define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_MASK_ENABLE_INTEL 0x10
2153 #define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_RIGHT_MASK_ENABLE_INTEL 0x8
2154 #define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_LEFT_MASK_ENABLE_INTEL 0x4
2155 
2156 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL 0x0
2157 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
2158 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_DC_INTEL 0x2
2159 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL 0x3
2160 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL 0x4
2161 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL 0x4
2162 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL 0x5
2163 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL 0x6
2164 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL 0x7
2165 #define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL 0x8
2166 #define CL_AVC_ME_CHROMA_PREDICTOR_MODE_DC_INTEL 0x0
2167 #define CL_AVC_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
2168 #define CL_AVC_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL 0x2
2169 #define CL_AVC_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL 0x3
2170 
2171 #define CL_AVC_ME_FRAME_FORWARD_INTEL 0x1
2172 #define CL_AVC_ME_FRAME_BACKWARD_INTEL 0x2
2173 #define CL_AVC_ME_FRAME_DUAL_INTEL 0x3
2174 
2175 #define CL_AVC_ME_SLICE_TYPE_PRED_INTEL 0x0
2176 #define CL_AVC_ME_SLICE_TYPE_BPRED_INTEL 0x1
2177 #define CL_AVC_ME_SLICE_TYPE_INTRA_INTEL 0x2
2178 
2179 #define CL_AVC_ME_INTERLACED_SCAN_TOP_FIELD_INTEL 0x0
2180 #define CL_AVC_ME_INTERLACED_SCAN_BOTTOM_FIELD_INTEL 0x1
2181 
2182 /*******************************************
2183 * cl_intel_unified_shared_memory extension *
2184 ********************************************/
2185 #define cl_intel_unified_shared_memory 1
2186 
2193 
2194 /* cl_device_info */
2195 #define CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL 0x4190
2196 #define CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL 0x4191
2197 #define CL_DEVICE_SINGLE_DEVICE_SHARED_MEM_CAPABILITIES_INTEL 0x4192
2198 #define CL_DEVICE_CROSS_DEVICE_SHARED_MEM_CAPABILITIES_INTEL 0x4193
2199 #define CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL 0x4194
2200 
2201 /* cl_device_unified_shared_memory_capabilities_intel - bitfield */
2202 #define CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL (1 << 0)
2203 #define CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL (1 << 1)
2204 #define CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL (1 << 2)
2205 #define CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL (1 << 3)
2206 
2207 /* cl_mem_properties_intel */
2208 #define CL_MEM_ALLOC_FLAGS_INTEL 0x4195
2209 
2210 /* cl_mem_alloc_flags_intel - bitfield */
2211 #define CL_MEM_ALLOC_WRITE_COMBINED_INTEL (1 << 0)
2212 #define CL_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE_INTEL (1 << 1)
2213 #define CL_MEM_ALLOC_INITIAL_PLACEMENT_HOST_INTEL (1 << 2)
2214 
2215 /* cl_mem_alloc_info_intel */
2216 #define CL_MEM_ALLOC_TYPE_INTEL 0x419A
2217 #define CL_MEM_ALLOC_BASE_PTR_INTEL 0x419B
2218 #define CL_MEM_ALLOC_SIZE_INTEL 0x419C
2219 #define CL_MEM_ALLOC_DEVICE_INTEL 0x419D
2220 
2221 /* cl_unified_shared_memory_type_intel */
2222 #define CL_MEM_TYPE_UNKNOWN_INTEL 0x4196
2223 #define CL_MEM_TYPE_HOST_INTEL 0x4197
2224 #define CL_MEM_TYPE_DEVICE_INTEL 0x4198
2225 #define CL_MEM_TYPE_SHARED_INTEL 0x4199
2226 
2227 /* cl_kernel_exec_info */
2228 #define CL_KERNEL_EXEC_INFO_INDIRECT_HOST_ACCESS_INTEL 0x4200
2229 #define CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL 0x4201
2230 #define CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL 0x4202
2231 #define CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL 0x4203
2232 
2233 /* cl_command_type */
2234 #define CL_COMMAND_MEMFILL_INTEL 0x4204
2235 #define CL_COMMAND_MEMCPY_INTEL 0x4205
2236 #define CL_COMMAND_MIGRATEMEM_INTEL 0x4206
2237 #define CL_COMMAND_MEMADVISE_INTEL 0x4207
2238 
2239 
2240 typedef void* (CL_API_CALL *
2242  cl_context context,
2243  const cl_mem_properties_intel* properties,
2244  size_t size,
2245  cl_uint alignment,
2246  cl_int* errcode_ret) ;
2247 
2248 typedef void* (CL_API_CALL *
2250  cl_context context,
2251  cl_device_id device,
2252  const cl_mem_properties_intel* properties,
2253  size_t size,
2254  cl_uint alignment,
2255  cl_int* errcode_ret) ;
2256 
2257 typedef void* (CL_API_CALL *
2259  cl_context context,
2260  cl_device_id device,
2261  const cl_mem_properties_intel* properties,
2262  size_t size,
2263  cl_uint alignment,
2264  cl_int* errcode_ret) ;
2265 
2266 typedef cl_int (CL_API_CALL *
2268  cl_context context,
2269  void* ptr) ;
2270 
2271 typedef cl_int (CL_API_CALL *
2273  cl_context context,
2274  void* ptr) ;
2275 
2276 typedef cl_int (CL_API_CALL *
2278  cl_context context,
2279  const void* ptr,
2280  cl_mem_info_intel param_name,
2281  size_t param_value_size,
2282  void* param_value,
2283  size_t* param_value_size_ret) ;
2284 
2285 typedef cl_int (CL_API_CALL *
2287  cl_kernel kernel,
2288  cl_uint arg_index,
2289  const void* arg_value) ;
2290 
2291 typedef cl_int (CL_API_CALL *
2293  cl_command_queue command_queue,
2294  void* dst_ptr,
2295  const void* pattern,
2296  size_t pattern_size,
2297  size_t size,
2298  cl_uint num_events_in_wait_list,
2299  const cl_event* event_wait_list,
2300  cl_event* event) ;
2301 
2302 typedef cl_int (CL_API_CALL *
2304  cl_command_queue command_queue,
2305  cl_bool blocking,
2306  void* dst_ptr,
2307  const void* src_ptr,
2308  size_t size,
2309  cl_uint num_events_in_wait_list,
2310  const cl_event* event_wait_list,
2311  cl_event* event) ;
2312 
2313 typedef cl_int (CL_API_CALL *
2315  cl_command_queue command_queue,
2316  const void* ptr,
2317  size_t size,
2318  cl_mem_advice_intel advice,
2319  cl_uint num_events_in_wait_list,
2320  const cl_event* event_wait_list,
2321  cl_event* event) ;
2322 
2323 #ifndef CL_NO_PROTOTYPES
2324 
2325 extern CL_API_ENTRY void* CL_API_CALL
2327  cl_context context,
2328  const cl_mem_properties_intel* properties,
2329  size_t size,
2330  cl_uint alignment,
2331  cl_int* errcode_ret) ;
2332 
2333 extern CL_API_ENTRY void* CL_API_CALL
2335  cl_context context,
2336  cl_device_id device,
2337  const cl_mem_properties_intel* properties,
2338  size_t size,
2339  cl_uint alignment,
2340  cl_int* errcode_ret) ;
2341 
2342 extern CL_API_ENTRY void* CL_API_CALL
2344  cl_context context,
2345  cl_device_id device,
2346  const cl_mem_properties_intel* properties,
2347  size_t size,
2348  cl_uint alignment,
2349  cl_int* errcode_ret) ;
2350 
2353  cl_context context,
2354  void* ptr) ;
2355 
2358  cl_context context,
2359  void* ptr) ;
2360 
2363  cl_context context,
2364  const void* ptr,
2365  cl_mem_info_intel param_name,
2366  size_t param_value_size,
2367  void* param_value,
2368  size_t* param_value_size_ret) ;
2369 
2372  cl_kernel kernel,
2373  cl_uint arg_index,
2374  const void* arg_value) ;
2375 
2378  cl_command_queue command_queue,
2379  void* dst_ptr,
2380  const void* pattern,
2381  size_t pattern_size,
2382  size_t size,
2383  cl_uint num_events_in_wait_list,
2384  const cl_event* event_wait_list,
2385  cl_event* event) ;
2386 
2389  cl_command_queue command_queue,
2390  cl_bool blocking,
2391  void* dst_ptr,
2392  const void* src_ptr,
2393  size_t size,
2394  cl_uint num_events_in_wait_list,
2395  const cl_event* event_wait_list,
2396  cl_event* event) ;
2397 
2400  cl_command_queue command_queue,
2401  const void* ptr,
2402  size_t size,
2403  cl_mem_advice_intel advice,
2404  cl_uint num_events_in_wait_list,
2405  const cl_event* event_wait_list,
2406  cl_event* event) ;
2407 
2408 #endif /* CL_NO_PROTOTYPES */
2409 
2410 #if defined(CL_VERSION_1_2)
2411 /* Requires OpenCL 1.2 for cl_mem_migration_flags: */
2412 
2413 typedef cl_int (CL_API_CALL *
2414 clEnqueueMigrateMemINTEL_fn)(
2415  cl_command_queue command_queue,
2416  const void* ptr,
2417  size_t size,
2418  cl_mem_migration_flags flags,
2419  cl_uint num_events_in_wait_list,
2420  const cl_event* event_wait_list,
2421  cl_event* event) ;
2422 
2423 #ifndef CL_NO_PROTOTYPES
2424 
2426 clEnqueueMigrateMemINTEL(
2427  cl_command_queue command_queue,
2428  const void* ptr,
2429  size_t size,
2430  cl_mem_migration_flags flags,
2431  cl_uint num_events_in_wait_list,
2432  const cl_event* event_wait_list,
2433  cl_event* event) ;
2434 
2435 #endif /* CL_NO_PROTOTYPES */
2436 
2437 #endif /* defined(CL_VERSION_1_2) */
2438 
2439 /* deprecated, use clEnqueueMemFillINTEL instead */
2440 
2441 typedef cl_int (CL_API_CALL *
2443  cl_command_queue command_queue,
2444  void* dst_ptr,
2445  cl_int value,
2446  size_t size,
2447  cl_uint num_events_in_wait_list,
2448  const cl_event* event_wait_list,
2449  cl_event* event) ;
2450 
2451 #ifndef CL_NO_PROTOTYPES
2452 
2455  cl_command_queue command_queue,
2456  void* dst_ptr,
2457  cl_int value,
2458  size_t size,
2459  cl_uint num_events_in_wait_list,
2460  const cl_event* event_wait_list,
2461  cl_event* event) ;
2462 
2463 #endif /* CL_NO_PROTOTYPES */
2464 
2465 /***************************************************************
2466 * cl_intel_mem_alloc_buffer_location
2467 ***************************************************************/
2468 #define cl_intel_mem_alloc_buffer_location 1
2469 #define CL_INTEL_MEM_ALLOC_BUFFER_LOCATION_EXTENSION_NAME \
2470  "cl_intel_mem_alloc_buffer_location"
2471 
2472 /* cl_mem_properties_intel */
2473 #define CL_MEM_ALLOC_BUFFER_LOCATION_INTEL 0x419E
2474 
2475 /* cl_mem_alloc_info_intel */
2476 /* enum CL_MEM_ALLOC_BUFFER_LOCATION_INTEL */
2477 
2478 /***************************************************
2479 * cl_intel_create_buffer_with_properties extension *
2480 ****************************************************/
2481 
2482 #define cl_intel_create_buffer_with_properties 1
2483 
2486  cl_context context,
2487  const cl_mem_properties_intel* properties,
2488  cl_mem_flags flags,
2489  size_t size,
2490  void * host_ptr,
2491  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
2492 
2493 typedef cl_mem (CL_API_CALL *
2495  cl_context context,
2496  const cl_mem_properties_intel* properties,
2498  size_t size,
2499  void * host_ptr,
2500  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
2501 
2502 /******************************************
2503 * cl_intel_mem_channel_property extension *
2504 *******************************************/
2505 
2506 #define CL_MEM_CHANNEL_INTEL 0x4213
2507 
2508 /*********************************
2509 * cl_intel_mem_force_host_memory *
2510 **********************************/
2511 
2512 #define cl_intel_mem_force_host_memory 1
2513 
2514 /* cl_mem_flags */
2515 #define CL_MEM_FORCE_HOST_MEMORY_INTEL (1 << 20)
2516 
2517 /***************************************************************
2518 * cl_intel_command_queue_families
2519 ***************************************************************/
2520 #define cl_intel_command_queue_families 1
2521 
2523 
2524 #define CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL 64
2525 
2528  cl_command_queue_capabilities_intel capabilities;
2532 
2533 /* cl_device_info */
2534 #define CL_DEVICE_QUEUE_FAMILY_PROPERTIES_INTEL 0x418B
2535 
2536 /* cl_queue_properties */
2537 #define CL_QUEUE_FAMILY_INTEL 0x418C
2538 #define CL_QUEUE_INDEX_INTEL 0x418D
2539 
2540 /* cl_command_queue_capabilities_intel */
2541 #define CL_QUEUE_DEFAULT_CAPABILITIES_INTEL 0
2542 #define CL_QUEUE_CAPABILITY_CREATE_SINGLE_QUEUE_EVENTS_INTEL (1 << 0)
2543 #define CL_QUEUE_CAPABILITY_CREATE_CROSS_QUEUE_EVENTS_INTEL (1 << 1)
2544 #define CL_QUEUE_CAPABILITY_SINGLE_QUEUE_EVENT_WAIT_LIST_INTEL (1 << 2)
2545 #define CL_QUEUE_CAPABILITY_CROSS_QUEUE_EVENT_WAIT_LIST_INTEL (1 << 3)
2546 #define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_INTEL (1 << 8)
2547 #define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_RECT_INTEL (1 << 9)
2548 #define CL_QUEUE_CAPABILITY_MAP_BUFFER_INTEL (1 << 10)
2549 #define CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL (1 << 11)
2550 #define CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL (1 << 12)
2551 #define CL_QUEUE_CAPABILITY_MAP_IMAGE_INTEL (1 << 13)
2552 #define CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL (1 << 14)
2553 #define CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL (1 << 15)
2554 #define CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL (1 << 16)
2555 #define CL_QUEUE_CAPABILITY_MARKER_INTEL (1 << 24)
2556 #define CL_QUEUE_CAPABILITY_BARRIER_INTEL (1 << 25)
2557 #define CL_QUEUE_CAPABILITY_KERNEL_INTEL (1 << 26)
2558 
2559 /***************************************************************
2560 * cl_intel_queue_no_sync_operations
2561 ***************************************************************/
2562 
2563 #define cl_intel_queue_no_sync_operations 1
2564 
2565 /* addition to cl_command_queue_properties */
2566 #define CL_QUEUE_NO_SYNC_OPERATIONS_INTEL (1 << 29)
2567 
2568 /***************************************************************
2569 * cl_intel_sharing_format_query
2570 ***************************************************************/
2571 #define cl_intel_sharing_format_query 1
2572 
2573 /***************************************************************
2574 * cl_ext_image_requirements_info
2575 ***************************************************************/
2576 
2577 #ifdef CL_VERSION_3_0
2578 
2579 #define cl_ext_image_requirements_info 1
2580 
2581 typedef cl_uint cl_image_requirements_info_ext;
2582 
2583 #define CL_IMAGE_REQUIREMENTS_ROW_PITCH_ALIGNMENT_EXT 0x1290
2584 #define CL_IMAGE_REQUIREMENTS_BASE_ADDRESS_ALIGNMENT_EXT 0x1292
2585 #define CL_IMAGE_REQUIREMENTS_SIZE_EXT 0x12B2
2586 #define CL_IMAGE_REQUIREMENTS_MAX_WIDTH_EXT 0x12B3
2587 #define CL_IMAGE_REQUIREMENTS_MAX_HEIGHT_EXT 0x12B4
2588 #define CL_IMAGE_REQUIREMENTS_MAX_DEPTH_EXT 0x12B5
2589 #define CL_IMAGE_REQUIREMENTS_MAX_ARRAY_SIZE_EXT 0x12B6
2590 
2592 clGetImageRequirementsInfoEXT(
2593  cl_context context,
2594  const cl_mem_properties* properties,
2595  cl_mem_flags flags,
2596  const cl_image_format* image_format,
2597  const cl_image_desc* image_desc,
2598  cl_image_requirements_info_ext param_name,
2599  size_t param_value_size,
2600  void* param_value,
2601  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_3_0;
2602 
2603 typedef cl_int (CL_API_CALL *
2604 clGetImageRequirementsInfoEXT_fn)(
2605  cl_context context,
2606  const cl_mem_properties* properties,
2608  const cl_image_format* image_format,
2609  const cl_image_desc* image_desc,
2610  cl_image_requirements_info_ext param_name,
2611  size_t param_value_size,
2612  void* param_value,
2613  size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_3_0;
2614 
2615 #endif
2616 
2617 /***************************************************************
2618 * cl_ext_image_from_buffer
2619 ***************************************************************/
2620 
2621 #ifdef CL_VERSION_3_0
2622 
2623 #define cl_ext_image_from_buffer 1
2624 
2625 #define CL_IMAGE_REQUIREMENTS_SLICE_PITCH_ALIGNMENT_EXT 0x1291
2626 
2627 #endif
2628 
2629 #ifdef __cplusplus
2630 }
2631 #endif
2632 
2633 
2634 #endif /* __CL_EXT_H */
GLsizei GLenum GLsizei GLsizei GLuint memory
Definition: RE_OGL.h:202
cl_int(CL_API_CALL * clReleaseCommandBufferKHR_fn)(cl_command_buffer_khr command_buffer)
Definition: cl_ext.h:100
struct _cl_device_id * cl_device_id
Definition: cl.h:30
cl_int(CL_API_CALL * clEnqueueWaitSemaphoresKHR_fn)(cl_command_queue command_queue, cl_uint num_sema_objects, const cl_semaphore_khr *sema_objects, const cl_semaphore_payload_khr *sema_payload_list, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1463
struct _cl_mutable_base_config_khr cl_mutable_base_config_khr
cl_int(CL_API_CALL * clGetKernelSuggestedLocalWorkSizeKHR_fn)(cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, size_t *suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0
Definition: cl_ext.h:1216
uint32_t cl_uint
Definition: cl_platform.h:261
cl_int(CL_API_CALL * clCommandCopyImageToBufferKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer, const size_t *src_origin, const size_t *region, size_t dst_offset, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:182
cl_int(CL_API_CALL * clMemFreeINTEL_fn)(cl_context context, void *ptr)
Definition: cl_ext.h:2267
cl_int(CL_API_CALL * clCommandCopyBufferToImageKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image, size_t src_offset, const size_t *dst_origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:154
cl_int(CL_API_CALL * clEnqueueReleaseExternalMemObjectsKHR_fn)(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_3_0
Definition: cl_ext.h:1283
cl_uint cl_image_pitch_info_qcom
Definition: cl_ext.h:870
cl_int(CL_API_CALL * clTerminateContextKHR_fn)(cl_context context) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:670
GLbitfield flags
Definition: glcorearb.h:1596
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMemsetINTEL(cl_command_queue command_queue, void *dst_ptr, cl_int value, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
cl_uint cl_kernel_sub_group_info
Definition: cl_ext.h:1040
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseExternalMemObjectsKHR(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_3_0
struct _cl_context * cl_context
Definition: cl.h:31
cl_properties cl_semaphore_properties_khr
Definition: cl_ext.h:1423
cl_command_buffer_khr(CL_API_CALL * clCreateCommandBufferKHR_fn)(cl_uint num_queues, const cl_command_queue *queues, const cl_command_buffer_properties_khr *properties, cl_int *errcode_ret)
Definition: cl_ext.h:85
cl_uint cl_queue_throttle_khr
Definition: cl_ext.h:1103
CL_API_ENTRY cl_int CL_API_CALL clCommandCopyBufferRectKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, const size_t *src_origin, const size_t *dst_origin, const size_t *region, size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch, size_t dst_slice_pitch, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_uint cl_diagnostics_verbose_level
Definition: cl_ext.h:2031
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMemFillARM(cl_command_queue command_queue, void *svm_ptr, const void *pattern, size_t pattern_size, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clRetainDeviceEXT(cl_device_id device) CL_API_SUFFIX__VERSION_1_1
struct _cl_mutable_dispatch_config_khr cl_mutable_dispatch_config_khr
struct _cl_mutable_dispatch_exec_info_khr cl_mutable_dispatch_exec_info_khr
cl_uint cl_accelerator_info_intel
Definition: cl_ext.h:1854
cl_ulong cl_device_partition_property_ext
Definition: cl_ext.h:770
cl_accelerator_intel(CL_API_CALL * clCreateAcceleratorINTEL_fn)(cl_context context, cl_accelerator_type_intel accelerator_type, size_t descriptor_size, const void *descriptor, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1951
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireGrallocObjectsIMG(cl_command_queue command_queue, cl_uint num_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
cl_int(CL_API_CALL * clCreateSubDevicesEXT_fn)(cl_device_id in_device, const cl_device_partition_property_ext *properties, cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_1
Definition: cl_ext.h:779
cl_int(CL_API_CALL * clCommandFillImageKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem image, const void *fill_color, const size_t *origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:210
cl_uint cl_mutable_command_info_khr
Definition: cl_ext.h:419
cl_bitfield cl_device_svm_capabilities_arm
Definition: cl_ext.h:1633
CL_API_ENTRY cl_int CL_API_CALL clRetainCommandBufferKHR(cl_command_buffer_khr command_buffer)
cl_uint cl_command_buffer_info_khr
Definition: cl_ext.h:39
cl_ulong cl_properties
Definition: cl.h:41
cl_int(CL_API_CALL * clGetCommandBufferInfoKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: cl_ext.h:238
CL_API_ENTRY cl_int CL_API_CALL clGetMutableCommandInfoKHR(cl_mutable_command_khr command, cl_mutable_command_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
CL_API_ENTRY cl_semaphore_khr CL_API_CALL clCreateSemaphoreWithPropertiesKHR(cl_context context, const cl_semaphore_properties_khr *sema_props, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
const cl_mutable_dispatch_arg_khr * arg_list
Definition: cl_ext.h:438
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCommandBufferKHR(cl_uint num_queues, cl_command_queue *queues, cl_command_buffer_khr command_buffer, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
CL_API_ENTRY cl_int CL_API_CALL clSetKernelArgSVMPointerARM(cl_kernel kernel, cl_uint arg_index, const void *arg_value) CL_API_SUFFIX__VERSION_1_2
cl_int(CL_API_CALL * clEnqueueSignalSemaphoresKHR_fn)(cl_command_queue command_queue, cl_uint num_sema_objects, const cl_semaphore_khr *sema_objects, const cl_semaphore_payload_khr *sema_payload_list, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1473
CL_API_ENTRY cl_int CL_API_CALL clGetKernelSubGroupInfoKHR(cl_kernel in_kernel, cl_device_id in_device, cl_kernel_sub_group_info param_name, size_t input_value_size, const void *input_value, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED
cl_int(CL_API_CALL * clRetainAcceleratorINTEL_fn)(cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1977
const size_t * global_work_size
Definition: cl_ext.h:442
GLsizei const GLfloat * value
Definition: glcorearb.h:824
cl_program(CL_API_CALL * clCreateProgramWithILKHR_fn)(cl_context context, const void *il, size_t length, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:621
CL_API_ENTRY cl_mem CL_API_CALL clCreateBufferWithPropertiesINTEL(cl_context context, const cl_mem_properties_intel *properties, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
cl_int(CL_API_CALL * clGetSemaphoreInfoKHR_fn)(cl_semaphore_khr sema_object, cl_semaphore_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1483
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseGrallocObjectsIMG(cl_command_queue command_queue, cl_uint num_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
cl_bitfield cl_map_flags
Definition: cl.h:82
cl_int(CL_API_CALL * clEnqueueAcquireExternalMemObjectsKHR_fn)(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_3_0
Definition: cl_ext.h:1274
CL_API_ENTRY cl_int CL_API_CALL clRetainAcceleratorINTEL(cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2
cl_command_queue_capabilities_intel capabilities
Definition: cl_ext.h:2528
cl_uint cl_mem_info_intel
Definition: cl_ext.h:2190
cl_properties cl_mem_properties_intel
Definition: cl_ext.h:2188
cl_int(CL_API_CALL * clCommandBarrierWithWaitListKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:113
#define CL_API_SUFFIX__VERSION_2_0_DEPRECATED
Definition: cl_platform.h:116
CL_API_ENTRY void CL_API_CALL clLogMessagesToStderrAPPLE(const char *errstr, const void *private_info, size_t cb, void *user_data) CL_API_SUFFIX__VERSION_1_0
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:795
int32_t cl_int
Definition: cl_platform.h:260
CL_API_ENTRY cl_accelerator_intel CL_API_CALL clCreateAcceleratorINTEL(cl_context context, cl_accelerator_type_intel accelerator_type, size_t descriptor_size, const void *descriptor, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
struct _cl_device_pci_bus_info_khr cl_device_pci_bus_info_khr
CL_API_ENTRY void *CL_API_CALL clDeviceMemAllocINTEL(cl_context context, cl_device_id device, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
CL_API_ENTRY cl_int CL_API_CALL clCommandCopyImageKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, const size_t *src_origin, const size_t *dst_origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_int(CL_API_CALL * clGetKernelSubGroupInfoKHR_fn)(cl_kernel in_kernel, cl_device_id in_device, cl_kernel_sub_group_info param_name, size_t input_value_size, const void *input_value, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_2_0_DEPRECATED
Definition: cl_ext.h:1058
cl_ulong cl_bitfield
Definition: cl.h:40
cl_int(CL_API_CALL * clEnqueueMemsetINTEL_fn)(cl_command_queue command_queue, void *dst_ptr, cl_int value, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:2442
GLenum GLenum GLsizei void * image
Definition: glad.h:5132
CL_API_ENTRY cl_command_queue CL_API_CALL clCreateCommandQueueWithPropertiesKHR(cl_context context, cl_device_id device, const cl_queue_properties_khr *properties, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMemFillINTEL(cl_command_queue command_queue, void *dst_ptr, const void *pattern, size_t pattern_size, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
cl_uint host_cache_policy
Definition: cl_ext.h:889
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMapARM(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags flags, void *svm_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
struct _cl_semaphore_khr * cl_semaphore_khr
Definition: cl_ext.h:1350
CL_API_ENTRY cl_int CL_API_CALL clReleaseDeviceEXT(cl_device_id device) CL_API_SUFFIX__VERSION_1_1
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMFreeARM(cl_command_queue command_queue, cl_uint num_svm_pointers, void *svm_pointers[], void(CL_CALLBACK *pfn_free_func)(cl_command_queue queue, cl_uintnum_svm_pointers, void *svm_pointers[], void *user_data), void *user_data, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
#define CL_API_SUFFIX__VERSION_1_2
Definition: cl_platform.h:69
GLuint buffer
Definition: glcorearb.h:660
cl_uint cl_semaphore_info_khr
Definition: cl_ext.h:1424
cl_int(CL_API_CALL * clIcdGetPlatformIDsKHR_fn)(cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms)
Definition: cl_ext.h:594
CL_API_ENTRY cl_int CL_API_CALL clCreateSubDevicesEXT(cl_device_id in_device, const cl_device_partition_property_ext *properties, cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_1
struct _cl_mem_ext_host_ptr cl_mem_ext_host_ptr
const size_t * local_work_size
Definition: cl_ext.h:443
cl_int(CL_API_CALL * clGetAcceleratorInfoINTEL_fn)(cl_accelerator_intel accelerator, cl_accelerator_info_intel param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1966
cl_bitfield cl_mem_alloc_flags_img
Definition: cl_ext.h:1025
cl_int(CL_API_CALL * clMemBlockingFreeINTEL_fn)(cl_context context, void *ptr)
Definition: cl_ext.h:2272
CL_API_ENTRY void *CL_API_CALL clSVMAllocARM(cl_context context, cl_svm_mem_flags_arm flags, size_t size, cl_uint alignment) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMemcpyINTEL(cl_command_queue command_queue, cl_bool blocking, void *dst_ptr, const void *src_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
cl_int(CL_API_CALL * clCommandNDRangeKernelKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, const cl_ndrange_kernel_command_properties_khr *properties, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:223
struct _cl_platform_id * cl_platform_id
Definition: cl.h:29
cl_bitfield cl_mutable_dispatch_fields_khr
Definition: cl_ext.h:418
CL_API_ENTRY cl_int CL_API_CALL clReleaseAcceleratorINTEL(cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2
cl_uint cl_command_termination_reason_arm
Definition: cl_ext.h:1789
struct _cl_device_integer_dot_product_acceleration_properties_khr cl_device_integer_dot_product_acceleration_properties_khr
cl_uint cl_external_memory_handle_type_khr
Definition: cl_ext.h:1256
cl_int(CL_API_CALL * clEnqueueMemcpyINTEL_fn)(cl_command_queue command_queue, cl_bool blocking, void *dst_ptr, const void *src_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:2303
#define CL_NAME_VERSION_MAX_NAME_SIZE_KHR
Definition: cl_ext.h:1150
struct _cl_event * event
Definition: glcorearb.h:2961
cl_int(CL_API_CALL * clCommandCopyBufferRectKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, const size_t *src_origin, const size_t *dst_origin, const size_t *region, size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch, size_t dst_slice_pitch, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:136
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithILKHR(cl_context context, const void *il, size_t length, cl_int *errcode_ret)
cl_bitfield cl_device_controlled_termination_capabilities_arm
Definition: cl_ext.h:1779
#define CL_API_ENTRY
Definition: cl_platform.h:38
cl_bitfield cl_mem_migration_flags_ext
Definition: cl_ext.h:822
cl_int(CL_API_CALL * clCommandCopyImageKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, const size_t *src_origin, const size_t *dst_origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:168
cl_uint cl_command_buffer_structure_type_khr
Definition: cl_ext.h:417
cl_bitfield cl_svm_mem_flags_arm
Definition: cl_ext.h:1631
cl_mutable_command_khr command
Definition: cl_ext.h:433
cl_int(CL_API_CALL * clGetSemaphoreHandleForTypeKHR_fn)(cl_semaphore_khr sema_object, cl_device_id device, cl_external_semaphore_handle_type_khr handle_type, size_t handle_size, void *handle_ptr, size_t *handle_size_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1367
cl_bitfield cl_device_integer_dot_product_capabilities_khr
Definition: cl_ext.h:1230
cl_command_buffer_structure_type_khr type
Definition: cl_ext.h:446
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceImageInfoQCOM(cl_device_id device, size_t image_width, size_t image_height, const cl_image_format *image_format, cl_image_pitch_info_qcom param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
CL_API_ENTRY cl_int CL_API_CALL clTerminateContextKHR(cl_context context) CL_API_SUFFIX__VERSION_1_2
GLintptr offset
Definition: glcorearb.h:665
CL_API_ENTRY cl_int CL_API_CALL clGetSemaphoreHandleForTypeKHR(cl_semaphore_khr sema_object, cl_device_id device, cl_external_semaphore_handle_type_khr handle_type, size_t handle_size, void *handle_ptr, size_t *handle_size_ret) CL_API_SUFFIX__VERSION_1_2
cl_uint cl_unified_shared_memory_type_intel
Definition: cl_ext.h:2191
const cl_mutable_dispatch_arg_khr * arg_svm_list
Definition: cl_ext.h:439
struct _cl_name_version_khr cl_name_version_khr
#define CL_CALLBACK
Definition: cl.hpp:170
cl_bitfield cl_device_unified_shared_memory_capabilities_intel
Definition: cl_ext.h:2187
CL_API_ENTRY cl_int CL_API_CALL clSetKernelExecInfoARM(cl_kernel kernel, cl_kernel_exec_info_arm param_name, size_t param_value_size, const void *param_value) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clEnqueueGenerateMipmapIMG(cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, cl_mipmap_filter_mode_img mipmap_filter_mode, const size_t *array_region, const size_t *mip_region, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
cl_bitfield cl_mem_alloc_flags_intel
Definition: cl_ext.h:2189
cl_int(CL_API_CALL * clEnqueueCommandBufferKHR_fn)(cl_uint num_queues, cl_command_queue *queues, cl_command_buffer_khr command_buffer, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:104
cl_int(CL_API_CALL * clUpdateMutableCommandsKHR_fn)(cl_command_buffer_khr command_buffer, const cl_mutable_base_config_khr *mutable_config)
Definition: cl_ext.h:488
intptr_t cl_import_properties_arm
Definition: cl_ext.h:1545
cl_int(CL_API_CALL * clRetainSemaphoreKHR_fn)(cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1495
cl_bitfield cl_device_feature_capabilities_intel
Definition: cl_ext.h:1818
struct _cl_kernel * cl_kernel
Definition: cl.h:35
struct _cl_mutable_command_khr * cl_mutable_command_khr
Definition: cl_ext.h:44
cl_uint cl_mipmap_filter_mode_img
Definition: cl_ext.h:996
CL_API_ENTRY void *CL_API_CALL clSharedMemAllocINTEL(cl_context context, cl_device_id device, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
cl_uint cl_semaphore_type_khr
Definition: cl_ext.h:1425
struct _cl_accelerator_intel * cl_accelerator_intel
Definition: cl_ext.h:1852
cl_properties cl_command_buffer_properties_khr
Definition: cl_ext.h:41
cl_bitfield cl_command_queue_properties
Definition: cl.h:52
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMemAdviseINTEL(cl_command_queue command_queue, const void *ptr, size_t size, cl_mem_advice_intel advice, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
CL_API_ENTRY cl_int CL_API_CALL clReleaseCommandBufferKHR(cl_command_buffer_khr command_buffer)
cl_uint cl_mem_advice_intel
Definition: cl_ext.h:2192
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the queue
Definition: thread.h:623
CL_API_ENTRY cl_int CL_API_CALL clIcdGetPlatformIDsKHR(cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms)
#define CL_API_SUFFIX__VERSION_3_0
Definition: cl_platform.h:73
CL_API_ENTRY cl_int CL_API_CALL clCommandCopyBufferKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, size_t src_offset, size_t dst_offset, size_t size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_int(CL_API_CALL * clReleaseDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1
Definition: cl_ext.h:762
struct _cl_command_buffer_khr * cl_command_buffer_khr
Definition: cl_ext.h:37
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMUnmapARM(cl_command_queue command_queue, void *svm_ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
struct _cl_mem * cl_mem
Definition: cl.h:33
cl_int(CL_API_CALL * clSetKernelArgMemPointerINTEL_fn)(cl_kernel kernel, cl_uint arg_index, const void *arg_value)
Definition: cl_ext.h:2286
GLuint const GLchar * name
Definition: glcorearb.h:786
cl_uint cl_external_semaphore_handle_type_khr
Definition: cl_ext.h:1351
#define CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL
Definition: cl_ext.h:2524
CL_API_ENTRY cl_int CL_API_CALL clSetKernelArgMemPointerINTEL(cl_kernel kernel, cl_uint arg_index, const void *arg_value)
GLushort pattern
Definition: glad.h:2583
CL_API_ENTRY cl_int CL_API_CALL clGetMemAllocInfoINTEL(cl_context context, const void *ptr, cl_mem_info_intel param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
struct _cl_motion_estimation_desc_intel cl_motion_estimation_desc_intel
CL_API_ENTRY cl_int CL_API_CALL clGetAcceleratorInfoINTEL(cl_accelerator_intel accelerator, cl_accelerator_info_intel param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2
void *(CL_API_CALL * clHostMemAllocINTEL_fn)(cl_context context, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
Definition: cl_ext.h:2241
cl_command_queue(CL_API_CALL * clCreateCommandQueueWithPropertiesKHR_fn)(cl_context context, cl_device_id device, const cl_queue_properties_khr *properties, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:698
cl_version_khr version
Definition: cl_ext.h:1154
cl_command_queue_properties properties
Definition: cl_ext.h:2527
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMemcpyARM(cl_command_queue command_queue, cl_bool blocking_copy, void *dst_ptr, const void *src_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
struct _cl_mem_android_native_buffer_host_ptr cl_mem_android_native_buffer_host_ptr
cl_int(CL_API_CALL * clEnqueueMemFillINTEL_fn)(cl_command_queue command_queue, void *dst_ptr, const void *pattern, size_t pattern_size, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:2292
const size_t * global_work_offset
Definition: cl_ext.h:441
void * ion_hostptr
Definition: cl_ext.h:918
CL_API_ENTRY cl_int CL_API_CALL clGetKernelSuggestedLocalWorkSizeKHR(cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, size_t *suggested_local_work_size) CL_API_SUFFIX__VERSION_3_0
GLsizeiptr size
Definition: glcorearb.h:664
cl_mem_ext_host_ptr ext_host_ptr
Definition: cl_ext.h:933
CL_API_ENTRY cl_int CL_API_CALL clCommandCopyImageToBufferKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer, const size_t *src_origin, const size_t *region, size_t dst_offset, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_properties cl_queue_properties_khr
Definition: cl_ext.h:689
struct _cl_mutable_dispatch_arg_khr cl_mutable_dispatch_arg_khr
CL_API_ENTRY cl_int CL_API_CALL clFinalizeCommandBufferKHR(cl_command_buffer_khr command_buffer)
CL_API_ENTRY cl_int CL_API_CALL clCommandBarrierWithWaitListKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_ulong cl_semaphore_payload_khr
Definition: cl_ext.h:1426
const void * arg_value
Definition: cl_ext.h:423
void *(CL_API_CALL * clDeviceMemAllocINTEL_fn)(cl_context context, cl_device_id device, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
Definition: cl_ext.h:2249
cl_semaphore_khr(CL_API_CALL * clCreateSemaphoreWithPropertiesKHR_fn)(cl_context context, const cl_semaphore_properties_khr *sema_props, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1457
cl_int(CL_API_CALL * clRetainDeviceEXT_fn)(cl_device_id device) CL_API_SUFFIX__VERSION_1_1
Definition: cl_ext.h:768
struct _cl_queue_family_properties_intel cl_queue_family_properties_intel
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWaitSemaphoresKHR(cl_command_queue command_queue, cl_uint num_sema_objects, const cl_semaphore_khr *sema_objects, const cl_semaphore_payload_khr *sema_payload_list, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
struct _cl_event * cl_event
Definition: cl.h:36
CL_API_ENTRY cl_int CL_API_CALL clGetSemaphoreInfoKHR(cl_semaphore_khr sema_object, cl_semaphore_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2
cl_mem(CL_API_CALL * clCreateBufferWithPropertiesINTEL_fn)(cl_context context, const cl_mem_properties_intel *properties, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
Definition: cl_ext.h:2494
cl_int(CL_API_CALL * clEnqueueMigrateMemObjectEXT_fn)(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_mem_migration_flags_ext flags, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:838
cl_uint cl_sync_point_khr
Definition: cl_ext.h:38
cl_bitfield cl_device_command_buffer_capabilities_khr
Definition: cl_ext.h:36
struct _cl_command_queue * cl_command_queue
Definition: cl.h:32
cl_bitfield cl_command_buffer_flags_khr
Definition: cl_ext.h:42
cl_int(CL_API_CALL * clReleaseAcceleratorINTEL_fn)(cl_accelerator_intel accelerator) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1984
cl_bitfield cl_command_queue_capabilities_intel
Definition: cl_ext.h:2522
cl_uint cl_kernel_exec_info_arm
Definition: cl_ext.h:1632
auto ptr(T p) -> const void *
Definition: format.h:2448
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireExternalMemObjectsKHR(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_3_0
cl_uint cl_command_buffer_state_khr
Definition: cl_ext.h:40
cl_uint cl_accelerator_type_intel
Definition: cl_ext.h:1853
cl_uint cl_version_khr
Definition: cl_ext.h:1148
#define CL_API_SUFFIX__VERSION_1_1
Definition: cl_platform.h:68
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSignalSemaphoresKHR(cl_command_queue command_queue, cl_uint num_sema_objects, const cl_semaphore_khr *sema_objects, const cl_semaphore_payload_khr *sema_payload_list, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_2
cl_int(CL_API_CALL * clGetMutableCommandInfoKHR_fn)(cl_mutable_command_khr command, cl_mutable_command_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: cl_ext.h:493
#define CL_API_SUFFIX__VERSION_1_0
Definition: cl_platform.h:67
cl_uint allocation_type
Definition: cl_ext.h:886
#define CL_API_CALL
Definition: cl_platform.h:41
CL_API_ENTRY cl_int CL_API_CALL clMemFreeINTEL(cl_context context, void *ptr)
CL_API_ENTRY cl_int CL_API_CALL clMemBlockingFreeINTEL(cl_context context, void *ptr)
struct _cl_program * cl_program
Definition: cl.h:34
const cl_mutable_dispatch_exec_info_khr * exec_info_list
Definition: cl_ext.h:440
cl_int(CL_API_CALL * clReleaseSemaphoreKHR_fn)(cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2
Definition: cl_ext.h:1491
const cl_mutable_dispatch_config_khr * mutable_dispatch_list
Definition: cl_ext.h:449
CL_API_ENTRY cl_mem CL_API_CALL clImportMemoryARM(cl_context context, cl_mem_flags flags, const cl_import_properties_arm *properties, void *memory, size_t size, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetCommandBufferInfoKHR(cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMigrateMemObjectEXT(cl_command_queue command_queue, cl_uint num_mem_objects, const cl_mem *mem_objects, cl_mem_migration_flags_ext flags, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
CL_API_ENTRY void CL_API_CALL clLogMessagesToStdoutAPPLE(const char *errstr, const void *private_info, size_t cb, void *user_data) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clCommandCopyBufferToImageKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image, size_t src_offset, const size_t *dst_origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_int(CL_API_CALL * clEnqueueMemAdviseINTEL_fn)(cl_command_queue command_queue, const void *ptr, size_t size, cl_mem_advice_intel advice, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: cl_ext.h:2314
CL_API_ENTRY cl_int CL_API_CALL clCommandNDRangeKernelKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, const cl_ndrange_kernel_command_properties_khr *properties, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
cl_int(CL_API_CALL * clCommandFillBufferKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem buffer, const void *pattern, size_t pattern_size, size_t offset, size_t size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:196
uint64_t cl_ulong
Definition: cl_platform.h:263
cl_mem_ext_host_ptr ext_host_ptr
Definition: cl_ext.h:912
cl_properties cl_ndrange_kernel_command_properties_khr
Definition: cl_ext.h:43
cl_bitfield cl_device_scheduling_controls_capabilities_arm
Definition: cl_ext.h:1737
cl_command_buffer_structure_type_khr type
Definition: cl_ext.h:431
struct _cl_mem_ion_host_ptr cl_mem_ion_host_ptr
cl_int(CL_API_CALL * clGetMemAllocInfoINTEL_fn)(cl_context context, const void *ptr, cl_mem_info_intel param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: cl_ext.h:2277
CL_API_ENTRY cl_int CL_API_CALL clReleaseSemaphoreKHR(cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clUpdateMutableCommandsKHR(cl_command_buffer_khr command_buffer, const cl_mutable_base_config_khr *mutable_config)
cl_uint cl_bool
Definition: cl.h:39
cl_int(CL_API_CALL * clCommandCopyBufferKHR_fn)(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, size_t src_offset, size_t dst_offset, size_t size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
Definition: cl_ext.h:122
CL_API_ENTRY void CL_API_CALL clLogMessagesToSystemLogAPPLE(const char *errstr, const void *private_info, size_t cb, void *user_data) CL_API_SUFFIX__VERSION_1_0
cl_bitfield cl_mem_flags
Definition: cl.h:66
void *(CL_API_CALL * clSharedMemAllocINTEL_fn)(cl_context context, cl_device_id device, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
Definition: cl_ext.h:2258
cl_int(CL_API_CALL * clRetainCommandBufferKHR_fn)(cl_command_buffer_khr command_buffer)
Definition: cl_ext.h:96
CL_API_ENTRY void *CL_API_CALL clHostMemAllocINTEL(cl_context context, const cl_mem_properties_intel *properties, size_t size, cl_uint alignment, cl_int *errcode_ret)
cl_uint cl_queue_priority_khr
Definition: cl_ext.h:1085
CL_API_ENTRY cl_int CL_API_CALL clCommandFillImageKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem image, const void *fill_color, const size_t *origin, const size_t *region, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
CL_API_ENTRY cl_int CL_API_CALL clCommandFillBufferKHR(cl_command_buffer_khr command_buffer, cl_command_queue command_queue, cl_mem buffer, const void *pattern, size_t pattern_size, size_t offset, size_t size, cl_uint num_sync_points_in_wait_list, const cl_sync_point_khr *sync_point_wait_list, cl_sync_point_khr *sync_point, cl_mutable_command_khr *mutable_handle)
CL_API_ENTRY cl_int CL_API_CALL clSetMemObjectDestructorAPPLE(cl_mem memobj, void(*pfn_notify)(cl_mem memobj, void *user_data), void *user_data) CL_API_SUFFIX__VERSION_1_0
cl_int(CL_API_CALL * clFinalizeCommandBufferKHR_fn)(cl_command_buffer_khr command_buffer)
Definition: cl_ext.h:92
CL_API_ENTRY void CL_API_CALL clSVMFreeARM(cl_context context, void *svm_pointer) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_int CL_API_CALL clRetainSemaphoreKHR(cl_semaphore_khr sema_object) CL_API_SUFFIX__VERSION_1_2
CL_API_ENTRY cl_command_buffer_khr CL_API_CALL clCreateCommandBufferKHR(cl_uint num_queues, const cl_command_queue *queues, const cl_command_buffer_properties_khr *properties, cl_int *errcode_ret)