Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
cl_ext.h3323 linesDownload Raw Back to CL
1/*******************************************************************************
2 * Copyright (c) 2008-2023 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#ifndef OPENCL_CL_EXT_H_
18#define OPENCL_CL_EXT_H_
19
20/*
21** This header is generated from the Khronos OpenCL XML API Registry.
22*/
23
24#include <CL/cl.h>
25
26/* CL_NO_PROTOTYPES implies CL_NO_EXTENSION_PROTOTYPES: */
27#if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_EXTENSION_PROTOTYPES)
28#define CL_NO_EXTENSION_PROTOTYPES
29#endif
30
31/* CL_NO_EXTENSION_PROTOTYPES implies
32   CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES and
33   CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES: */
34#if defined(CL_NO_EXTENSION_PROTOTYPES) && \
35    !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
36#define CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES
37#endif
38#if defined(CL_NO_EXTENSION_PROTOTYPES) && \
39    !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
40#define CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES
41#endif
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
47/***************************************************************
48* cl_khr_command_buffer
49***************************************************************/
50#define cl_khr_command_buffer 1
51#define CL_KHR_COMMAND_BUFFER_EXTENSION_NAME \
52    "cl_khr_command_buffer"
53
54typedef cl_bitfield         cl_device_command_buffer_capabilities_khr;
55typedef struct _cl_command_buffer_khr* cl_command_buffer_khr;
56typedef cl_uint             cl_sync_point_khr;
57typedef cl_uint             cl_command_buffer_info_khr;
58typedef cl_uint             cl_command_buffer_state_khr;
59typedef cl_properties       cl_command_buffer_properties_khr;
60typedef cl_bitfield         cl_command_buffer_flags_khr;
61typedef cl_properties       cl_ndrange_kernel_command_properties_khr;
62typedef struct _cl_mutable_command_khr* cl_mutable_command_khr;
63
64/* cl_device_info */
65#define CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR           0x12A9
66#define CL_DEVICE_COMMAND_BUFFER_REQUIRED_QUEUE_PROPERTIES_KHR 0x12AA
67
68/* cl_device_command_buffer_capabilities_khr - bitfield */
69#define CL_COMMAND_BUFFER_CAPABILITY_KERNEL_PRINTF_KHR      (1 << 0)
70#define CL_COMMAND_BUFFER_CAPABILITY_DEVICE_SIDE_ENQUEUE_KHR (1 << 1)
71#define CL_COMMAND_BUFFER_CAPABILITY_SIMULTANEOUS_USE_KHR   (1 << 2)
72#define CL_COMMAND_BUFFER_CAPABILITY_OUT_OF_ORDER_KHR       (1 << 3)
73
74/* cl_command_buffer_properties_khr */
75#define CL_COMMAND_BUFFER_FLAGS_KHR                         0x1293
76
77/* cl_command_buffer_flags_khr - bitfield */
78#define CL_COMMAND_BUFFER_SIMULTANEOUS_USE_KHR              (1 << 0)
79
80/* Error codes */
81#define CL_INVALID_COMMAND_BUFFER_KHR                       -1138
82#define CL_INVALID_SYNC_POINT_WAIT_LIST_KHR                 -1139
83#define CL_INCOMPATIBLE_COMMAND_QUEUE_KHR                   -1140
84
85/* cl_command_buffer_info_khr */
86#define CL_COMMAND_BUFFER_QUEUES_KHR                        0x1294
87#define CL_COMMAND_BUFFER_NUM_QUEUES_KHR                    0x1295
88#define CL_COMMAND_BUFFER_REFERENCE_COUNT_KHR               0x1296
89#define CL_COMMAND_BUFFER_STATE_KHR                         0x1297
90#define CL_COMMAND_BUFFER_PROPERTIES_ARRAY_KHR              0x1298
91#define CL_COMMAND_BUFFER_CONTEXT_KHR                       0x1299
92
93/* cl_command_buffer_state_khr */
94#define CL_COMMAND_BUFFER_STATE_RECORDING_KHR               0
95#define CL_COMMAND_BUFFER_STATE_EXECUTABLE_KHR              1
96#define CL_COMMAND_BUFFER_STATE_PENDING_KHR                 2
97#define CL_COMMAND_BUFFER_STATE_INVALID_KHR                 3
98
99/* cl_command_type */
100#define CL_COMMAND_COMMAND_BUFFER_KHR                       0x12A8
101
102
103typedef cl_command_buffer_khr (CL_API_CALL *
104clCreateCommandBufferKHR_fn)(
105    cl_uint num_queues,
106    const cl_command_queue* queues,
107    const cl_command_buffer_properties_khr* properties,
108    cl_int* errcode_ret) ;
109
110typedef cl_int (CL_API_CALL *
111clFinalizeCommandBufferKHR_fn)(
112    cl_command_buffer_khr command_buffer) ;
113
114typedef cl_int (CL_API_CALL *
115clRetainCommandBufferKHR_fn)(
116    cl_command_buffer_khr command_buffer) ;
117
118typedef cl_int (CL_API_CALL *
119clReleaseCommandBufferKHR_fn)(
120    cl_command_buffer_khr command_buffer) ;
121
122typedef cl_int (CL_API_CALL *
123clEnqueueCommandBufferKHR_fn)(
124    cl_uint num_queues,
125    cl_command_queue* queues,
126    cl_command_buffer_khr command_buffer,
127    cl_uint num_events_in_wait_list,
128    const cl_event* event_wait_list,
129    cl_event* event) ;
130
131typedef cl_int (CL_API_CALL *
132clCommandBarrierWithWaitListKHR_fn)(
133    cl_command_buffer_khr command_buffer,
134    cl_command_queue command_queue,
135    cl_uint num_sync_points_in_wait_list,
136    const cl_sync_point_khr* sync_point_wait_list,
137    cl_sync_point_khr* sync_point,
138    cl_mutable_command_khr* mutable_handle) ;
139
140typedef cl_int (CL_API_CALL *
141clCommandCopyBufferKHR_fn)(
142    cl_command_buffer_khr command_buffer,
143    cl_command_queue command_queue,
144    cl_mem src_buffer,
145    cl_mem dst_buffer,
146    size_t src_offset,
147    size_t dst_offset,
148    size_t size,
149    cl_uint num_sync_points_in_wait_list,
150    const cl_sync_point_khr* sync_point_wait_list,
151    cl_sync_point_khr* sync_point,
152    cl_mutable_command_khr* mutable_handle) ;
153
154typedef cl_int (CL_API_CALL *
155clCommandCopyBufferRectKHR_fn)(
156    cl_command_buffer_khr command_buffer,
157    cl_command_queue command_queue,
158    cl_mem src_buffer,
159    cl_mem dst_buffer,
160    const size_t* src_origin,
161    const size_t* dst_origin,
162    const size_t* region,
163    size_t src_row_pitch,
164    size_t src_slice_pitch,
165    size_t dst_row_pitch,
166    size_t dst_slice_pitch,
167    cl_uint num_sync_points_in_wait_list,
168    const cl_sync_point_khr* sync_point_wait_list,
169    cl_sync_point_khr* sync_point,
170    cl_mutable_command_khr* mutable_handle) ;
171
172typedef cl_int (CL_API_CALL *
173clCommandCopyBufferToImageKHR_fn)(
174    cl_command_buffer_khr command_buffer,
175    cl_command_queue command_queue,
176    cl_mem src_buffer,
177    cl_mem dst_image,
178    size_t src_offset,
179    const size_t* dst_origin,
180    const size_t* region,
181    cl_uint num_sync_points_in_wait_list,
182    const cl_sync_point_khr* sync_point_wait_list,
183    cl_sync_point_khr* sync_point,
184    cl_mutable_command_khr* mutable_handle) ;
185
186typedef cl_int (CL_API_CALL *
187clCommandCopyImageKHR_fn)(
188    cl_command_buffer_khr command_buffer,
189    cl_command_queue command_queue,
190    cl_mem src_image,
191    cl_mem dst_image,
192    const size_t* src_origin,
193    const size_t* dst_origin,
194    const size_t* region,
195    cl_uint num_sync_points_in_wait_list,
196    const cl_sync_point_khr* sync_point_wait_list,
197    cl_sync_point_khr* sync_point,
198    cl_mutable_command_khr* mutable_handle) ;
199
200typedef cl_int (CL_API_CALL *
201clCommandCopyImageToBufferKHR_fn)(
202    cl_command_buffer_khr command_buffer,
203    cl_command_queue command_queue,
204    cl_mem src_image,
205    cl_mem dst_buffer,
206    const size_t* src_origin,
207    const size_t* region,
208    size_t dst_offset,
209    cl_uint num_sync_points_in_wait_list,
210    const cl_sync_point_khr* sync_point_wait_list,
211    cl_sync_point_khr* sync_point,
212    cl_mutable_command_khr* mutable_handle) ;
213
214typedef cl_int (CL_API_CALL *
215clCommandFillBufferKHR_fn)(
216    cl_command_buffer_khr command_buffer,
217    cl_command_queue command_queue,
218    cl_mem buffer,
219    const void* pattern,
220    size_t pattern_size,
221    size_t offset,
222    size_t size,
223    cl_uint num_sync_points_in_wait_list,
224    const cl_sync_point_khr* sync_point_wait_list,
225    cl_sync_point_khr* sync_point,
226    cl_mutable_command_khr* mutable_handle) ;
227
228typedef cl_int (CL_API_CALL *
229clCommandFillImageKHR_fn)(
230    cl_command_buffer_khr command_buffer,
231    cl_command_queue command_queue,
232    cl_mem image,
233    const void* fill_color,
234    const size_t* origin,
235    const size_t* region,
236    cl_uint num_sync_points_in_wait_list,
237    const cl_sync_point_khr* sync_point_wait_list,
238    cl_sync_point_khr* sync_point,
239    cl_mutable_command_khr* mutable_handle) ;
240
241typedef cl_int (CL_API_CALL *
242clCommandNDRangeKernelKHR_fn)(
243    cl_command_buffer_khr command_buffer,
244    cl_command_queue command_queue,
245    const cl_ndrange_kernel_command_properties_khr* properties,
246    cl_kernel kernel,
247    cl_uint work_dim,
248    const size_t* global_work_offset,
249    const size_t* global_work_size,
250    const size_t* local_work_size,
251    cl_uint num_sync_points_in_wait_list,
252    const cl_sync_point_khr* sync_point_wait_list,
253    cl_sync_point_khr* sync_point,
254    cl_mutable_command_khr* mutable_handle) ;
255
256typedef cl_int (CL_API_CALL *
257clGetCommandBufferInfoKHR_fn)(
258    cl_command_buffer_khr command_buffer,
259    cl_command_buffer_info_khr param_name,
260    size_t param_value_size,
261    void* param_value,
262    size_t* param_value_size_ret) ;
263
264#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
265
266extern CL_API_ENTRY cl_command_buffer_khr CL_API_CALL
267clCreateCommandBufferKHR(
268    cl_uint num_queues,
269    const cl_command_queue* queues,
270    const cl_command_buffer_properties_khr* properties,
271    cl_int* errcode_ret) ;
272
273extern CL_API_ENTRY cl_int CL_API_CALL
274clFinalizeCommandBufferKHR(
275    cl_command_buffer_khr command_buffer) ;
276
277extern CL_API_ENTRY cl_int CL_API_CALL
278clRetainCommandBufferKHR(
279    cl_command_buffer_khr command_buffer) ;
280
281extern CL_API_ENTRY cl_int CL_API_CALL
282clReleaseCommandBufferKHR(
283    cl_command_buffer_khr command_buffer) ;
284
285extern CL_API_ENTRY cl_int CL_API_CALL
286clEnqueueCommandBufferKHR(
287    cl_uint num_queues,
288    cl_command_queue* queues,
289    cl_command_buffer_khr command_buffer,
290    cl_uint num_events_in_wait_list,
291    const cl_event* event_wait_list,
292    cl_event* event) ;
293
294extern CL_API_ENTRY cl_int CL_API_CALL
295clCommandBarrierWithWaitListKHR(
296    cl_command_buffer_khr command_buffer,
297    cl_command_queue command_queue,
298    cl_uint num_sync_points_in_wait_list,
299    const cl_sync_point_khr* sync_point_wait_list,
300    cl_sync_point_khr* sync_point,
301    cl_mutable_command_khr* mutable_handle) ;
302
303extern CL_API_ENTRY cl_int CL_API_CALL
304clCommandCopyBufferKHR(
305    cl_command_buffer_khr command_buffer,
306    cl_command_queue command_queue,
307    cl_mem src_buffer,
308    cl_mem dst_buffer,
309    size_t src_offset,
310    size_t dst_offset,
311    size_t size,
312    cl_uint num_sync_points_in_wait_list,
313    const cl_sync_point_khr* sync_point_wait_list,
314    cl_sync_point_khr* sync_point,
315    cl_mutable_command_khr* mutable_handle) ;
316
317extern CL_API_ENTRY cl_int CL_API_CALL
318clCommandCopyBufferRectKHR(
319    cl_command_buffer_khr command_buffer,
320    cl_command_queue command_queue,
321    cl_mem src_buffer,
322    cl_mem dst_buffer,
323    const size_t* src_origin,
324    const size_t* dst_origin,
325    const size_t* region,
326    size_t src_row_pitch,
327    size_t src_slice_pitch,
328    size_t dst_row_pitch,
329    size_t dst_slice_pitch,
330    cl_uint num_sync_points_in_wait_list,
331    const cl_sync_point_khr* sync_point_wait_list,
332    cl_sync_point_khr* sync_point,
333    cl_mutable_command_khr* mutable_handle) ;
334
335extern CL_API_ENTRY cl_int CL_API_CALL
336clCommandCopyBufferToImageKHR(
337    cl_command_buffer_khr command_buffer,
338    cl_command_queue command_queue,
339    cl_mem src_buffer,
340    cl_mem dst_image,
341    size_t src_offset,
342    const size_t* dst_origin,
343    const size_t* region,
344    cl_uint num_sync_points_in_wait_list,
345    const cl_sync_point_khr* sync_point_wait_list,
346    cl_sync_point_khr* sync_point,
347    cl_mutable_command_khr* mutable_handle) ;
348
349extern CL_API_ENTRY cl_int CL_API_CALL
350clCommandCopyImageKHR(
351    cl_command_buffer_khr command_buffer,
352    cl_command_queue command_queue,
353    cl_mem src_image,
354    cl_mem dst_image,
355    const size_t* src_origin,
356    const size_t* dst_origin,
357    const size_t* region,
358    cl_uint num_sync_points_in_wait_list,
359    const cl_sync_point_khr* sync_point_wait_list,
360    cl_sync_point_khr* sync_point,
361    cl_mutable_command_khr* mutable_handle) ;
362
363extern CL_API_ENTRY cl_int CL_API_CALL
364clCommandCopyImageToBufferKHR(
365    cl_command_buffer_khr command_buffer,
366    cl_command_queue command_queue,
367    cl_mem src_image,
368    cl_mem dst_buffer,
369    const size_t* src_origin,
370    const size_t* region,
371    size_t dst_offset,
372    cl_uint num_sync_points_in_wait_list,
373    const cl_sync_point_khr* sync_point_wait_list,
374    cl_sync_point_khr* sync_point,
375    cl_mutable_command_khr* mutable_handle) ;
376
377extern CL_API_ENTRY cl_int CL_API_CALL
378clCommandFillBufferKHR(
379    cl_command_buffer_khr command_buffer,
380    cl_command_queue command_queue,
381    cl_mem buffer,
382    const void* pattern,
383    size_t pattern_size,
384    size_t offset,
385    size_t size,
386    cl_uint num_sync_points_in_wait_list,
387    const cl_sync_point_khr* sync_point_wait_list,
388    cl_sync_point_khr* sync_point,
389    cl_mutable_command_khr* mutable_handle) ;
390
391extern CL_API_ENTRY cl_int CL_API_CALL
392clCommandFillImageKHR(
393    cl_command_buffer_khr command_buffer,
394    cl_command_queue command_queue,
395    cl_mem image,
396    const void* fill_color,
397    const size_t* origin,
398    const size_t* region,
399    cl_uint num_sync_points_in_wait_list,
400    const cl_sync_point_khr* sync_point_wait_list,
401    cl_sync_point_khr* sync_point,
402    cl_mutable_command_khr* mutable_handle) ;
403
404extern CL_API_ENTRY cl_int CL_API_CALL
405clCommandNDRangeKernelKHR(
406    cl_command_buffer_khr command_buffer,
407    cl_command_queue command_queue,
408    const cl_ndrange_kernel_command_properties_khr* properties,
409    cl_kernel kernel,
410    cl_uint work_dim,
411    const size_t* global_work_offset,
412    const size_t* global_work_size,
413    const size_t* local_work_size,
414    cl_uint num_sync_points_in_wait_list,
415    const cl_sync_point_khr* sync_point_wait_list,
416    cl_sync_point_khr* sync_point,
417    cl_mutable_command_khr* mutable_handle) ;
418
419extern CL_API_ENTRY cl_int CL_API_CALL
420clGetCommandBufferInfoKHR(
421    cl_command_buffer_khr command_buffer,
422    cl_command_buffer_info_khr param_name,
423    size_t param_value_size,
424    void* param_value,
425    size_t* param_value_size_ret) ;
426
427#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
428
429/***************************************************************
430* cl_khr_command_buffer_multi_device
431***************************************************************/
432#define cl_khr_command_buffer_multi_device 1
433#define CL_KHR_COMMAND_BUFFER_MULTI_DEVICE_EXTENSION_NAME \
434    "cl_khr_command_buffer_multi_device"
435
436typedef cl_bitfield         cl_platform_command_buffer_capabilities_khr;
437
438/* cl_platform_info */
439#define CL_PLATFORM_COMMAND_BUFFER_CAPABILITIES_KHR         0x0908
440
441/* cl_platform_command_buffer_capabilities_khr - bitfield */
442#define CL_COMMAND_BUFFER_PLATFORM_UNIVERSAL_SYNC_KHR       (1 << 0)
443#define CL_COMMAND_BUFFER_PLATFORM_REMAP_QUEUES_KHR         (1 << 1)
444#define CL_COMMAND_BUFFER_PLATFORM_AUTOMATIC_REMAP_KHR      (1 << 2)
445
446/* cl_device_info */
447#define CL_DEVICE_COMMAND_BUFFER_NUM_SYNC_DEVICES_KHR       0x12AB
448#define CL_DEVICE_COMMAND_BUFFER_SYNC_DEVICES_KHR           0x12AC
449
450/* cl_device_command_buffer_capabilities_khr - bitfield */
451#define CL_COMMAND_BUFFER_CAPABILITY_MULTIPLE_QUEUE_KHR     (1 << 4)
452
453/* cl_command_buffer_flags_khr - bitfield */
454#define CL_COMMAND_BUFFER_DEVICE_SIDE_SYNC_KHR              (1 << 2)
455
456
457typedef cl_command_buffer_khr (CL_API_CALL *
458clRemapCommandBufferKHR_fn)(
459    cl_command_buffer_khr command_buffer,
460    cl_bool automatic,
461    cl_uint num_queues,
462    const cl_command_queue* queues,
463    cl_uint num_handles,
464    const cl_mutable_command_khr* handles,
465    cl_mutable_command_khr* handles_ret,
466    cl_int* errcode_ret) ;
467
468#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
469
470extern CL_API_ENTRY cl_command_buffer_khr CL_API_CALL
471clRemapCommandBufferKHR(
472    cl_command_buffer_khr command_buffer,
473    cl_bool automatic,
474    cl_uint num_queues,
475    const cl_command_queue* queues,
476    cl_uint num_handles,
477    const cl_mutable_command_khr* handles,
478    cl_mutable_command_khr* handles_ret,
479    cl_int* errcode_ret) ;
480
481#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
482
483/***************************************************************
484* cl_khr_command_buffer_mutable_dispatch
485***************************************************************/
486#define cl_khr_command_buffer_mutable_dispatch 1
487#define CL_KHR_COMMAND_BUFFER_MUTABLE_DISPATCH_EXTENSION_NAME \
488    "cl_khr_command_buffer_mutable_dispatch"
489
490typedef cl_uint             cl_command_buffer_structure_type_khr;
491typedef cl_bitfield         cl_mutable_dispatch_fields_khr;
492typedef cl_uint             cl_mutable_command_info_khr;
493typedef struct _cl_mutable_dispatch_arg_khr {
494    cl_uint arg_index;
495    size_t arg_size;
496    const void* arg_value;
497} cl_mutable_dispatch_arg_khr;
498typedef struct _cl_mutable_dispatch_exec_info_khr {
499    cl_uint param_name;
500    size_t param_value_size;
501    const void* param_value;
502} cl_mutable_dispatch_exec_info_khr;
503typedef struct _cl_mutable_dispatch_config_khr {
504    cl_command_buffer_structure_type_khr type;
505    const void* next;
506    cl_mutable_command_khr command;
507    cl_uint num_args;
508    cl_uint num_svm_args;
509    cl_uint num_exec_infos;
510    cl_uint work_dim;
511    const cl_mutable_dispatch_arg_khr* arg_list;
512    const cl_mutable_dispatch_arg_khr* arg_svm_list;
513    const cl_mutable_dispatch_exec_info_khr* exec_info_list;
514    const size_t* global_work_offset;
515    const size_t* global_work_size;
516    const size_t* local_work_size;
517} cl_mutable_dispatch_config_khr;
518typedef struct _cl_mutable_base_config_khr {
519    cl_command_buffer_structure_type_khr type;
520    const void* next;
521    cl_uint num_mutable_dispatch;
522    const cl_mutable_dispatch_config_khr* mutable_dispatch_list;
523} cl_mutable_base_config_khr;
524
525/* cl_command_buffer_flags_khr - bitfield */
526#define CL_COMMAND_BUFFER_MUTABLE_KHR                       (1 << 1)
527
528/* Error codes */
529#define CL_INVALID_MUTABLE_COMMAND_KHR                      -1141
530
531/* cl_device_info */
532#define CL_DEVICE_MUTABLE_DISPATCH_CAPABILITIES_KHR         0x12B0
533
534/* cl_ndrange_kernel_command_properties_khr */
535#define CL_MUTABLE_DISPATCH_UPDATABLE_FIELDS_KHR            0x12B1
536
537/* cl_mutable_dispatch_fields_khr - bitfield */
538#define CL_MUTABLE_DISPATCH_GLOBAL_OFFSET_KHR               (1 << 0)
539#define CL_MUTABLE_DISPATCH_GLOBAL_SIZE_KHR                 (1 << 1)
540#define CL_MUTABLE_DISPATCH_LOCAL_SIZE_KHR                  (1 << 2)
541#define CL_MUTABLE_DISPATCH_ARGUMENTS_KHR                   (1 << 3)
542#define CL_MUTABLE_DISPATCH_EXEC_INFO_KHR                   (1 << 4)
543
544/* cl_mutable_command_info_khr */
545#define CL_MUTABLE_COMMAND_COMMAND_QUEUE_KHR                0x12A0
546#define CL_MUTABLE_COMMAND_COMMAND_BUFFER_KHR               0x12A1
547#define CL_MUTABLE_COMMAND_COMMAND_TYPE_KHR                 0x12AD
548#define CL_MUTABLE_DISPATCH_PROPERTIES_ARRAY_KHR            0x12A2
549#define CL_MUTABLE_DISPATCH_KERNEL_KHR                      0x12A3
550#define CL_MUTABLE_DISPATCH_DIMENSIONS_KHR                  0x12A4
551#define CL_MUTABLE_DISPATCH_GLOBAL_WORK_OFFSET_KHR          0x12A5
552#define CL_MUTABLE_DISPATCH_GLOBAL_WORK_SIZE_KHR            0x12A6
553#define CL_MUTABLE_DISPATCH_LOCAL_WORK_SIZE_KHR             0x12A7
554
555/* cl_command_buffer_structure_type_khr */
556#define CL_STRUCTURE_TYPE_MUTABLE_BASE_CONFIG_KHR           0
557#define CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR       1
558
559
560typedef cl_int (CL_API_CALL *
561clUpdateMutableCommandsKHR_fn)(
562    cl_command_buffer_khr command_buffer,
563    const cl_mutable_base_config_khr* mutable_config) ;
564
565typedef cl_int (CL_API_CALL *
566clGetMutableCommandInfoKHR_fn)(
567    cl_mutable_command_khr command,
568    cl_mutable_command_info_khr param_name,
569    size_t param_value_size,
570    void* param_value,
571    size_t* param_value_size_ret) ;
572
573#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
574
575extern CL_API_ENTRY cl_int CL_API_CALL
576clUpdateMutableCommandsKHR(
577    cl_command_buffer_khr command_buffer,
578    const cl_mutable_base_config_khr* mutable_config) ;
579
580extern CL_API_ENTRY cl_int CL_API_CALL
581clGetMutableCommandInfoKHR(
582    cl_mutable_command_khr command,
583    cl_mutable_command_info_khr param_name,
584    size_t param_value_size,
585    void* param_value,
586    size_t* param_value_size_ret) ;
587
588#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
589
590/***************************************************************
591* cl_khr_fp64
592***************************************************************/
593#define cl_khr_fp64 1
594#define CL_KHR_FP64_EXTENSION_NAME \
595    "cl_khr_fp64"
596
597#if !defined(CL_VERSION_1_2)
598/* cl_device_info - defined in CL.h for OpenCL 1.2 and newer */
599#define CL_DEVICE_DOUBLE_FP_CONFIG                          0x1032
600
601#endif /* !defined(CL_VERSION_1_2) */
602
603/***************************************************************
604* cl_khr_fp16
605***************************************************************/
606#define cl_khr_fp16 1
607#define CL_KHR_FP16_EXTENSION_NAME \
608    "cl_khr_fp16"
609
610/* cl_device_info */
611#define CL_DEVICE_HALF_FP_CONFIG                            0x1033
612
613/***************************************************************
614* cl_APPLE_SetMemObjectDestructor
615***************************************************************/
616#define cl_APPLE_SetMemObjectDestructor 1
617#define CL_APPLE_SETMEMOBJECTDESTRUCTOR_EXTENSION_NAME \
618    "cl_APPLE_SetMemObjectDestructor"
619
620
621typedef cl_int (CL_API_CALL *
622clSetMemObjectDestructorAPPLE_fn)(
623    cl_mem memobj,
624    void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
625    void* user_data) CL_API_SUFFIX__VERSION_1_0;
626
627#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
628
629extern CL_API_ENTRY cl_int CL_API_CALL
630clSetMemObjectDestructorAPPLE(
631    cl_mem memobj,
632    void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
633    void* user_data) CL_API_SUFFIX__VERSION_1_0;
634
635#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
636
637/***************************************************************
638* cl_APPLE_ContextLoggingFunctions
639***************************************************************/
640#define cl_APPLE_ContextLoggingFunctions 1
641#define CL_APPLE_CONTEXTLOGGINGFUNCTIONS_EXTENSION_NAME \
642    "cl_APPLE_ContextLoggingFunctions"
643
644
645typedef void (CL_API_CALL *
646clLogMessagesToSystemLogAPPLE_fn)(
647    const char* errstr,
648    const void* private_info,
649    size_t cb,
650    void* user_data) CL_API_SUFFIX__VERSION_1_0;
651
652typedef void (CL_API_CALL *
653clLogMessagesToStdoutAPPLE_fn)(
654    const char* errstr,
655    const void* private_info,
656    size_t cb,
657    void* user_data) CL_API_SUFFIX__VERSION_1_0;
658
659typedef void (CL_API_CALL *
660clLogMessagesToStderrAPPLE_fn)(
661    const char* errstr,
662    const void* private_info,
663    size_t cb,
664    void* user_data) CL_API_SUFFIX__VERSION_1_0;
665
666#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
667
668extern CL_API_ENTRY void CL_API_CALL
669clLogMessagesToSystemLogAPPLE(
670    const char* errstr,
671    const void* private_info,
672    size_t cb,
673    void* user_data) CL_API_SUFFIX__VERSION_1_0;
674
675extern CL_API_ENTRY void CL_API_CALL
676clLogMessagesToStdoutAPPLE(
677    const char* errstr,
678    const void* private_info,
679    size_t cb,
680    void* user_data) CL_API_SUFFIX__VERSION_1_0;
681
682extern CL_API_ENTRY void CL_API_CALL
683clLogMessagesToStderrAPPLE(
684    const char* errstr,
685    const void* private_info,
686    size_t cb,
687    void* user_data) CL_API_SUFFIX__VERSION_1_0;
688
689#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
690
691/***************************************************************
692* cl_khr_icd
693***************************************************************/
694#define cl_khr_icd 1
695#define CL_KHR_ICD_EXTENSION_NAME \
696    "cl_khr_icd"
697
698/* cl_platform_info */
699#define CL_PLATFORM_ICD_SUFFIX_KHR                          0x0920
700
701/* Error codes */
702#define CL_PLATFORM_NOT_FOUND_KHR                           -1001
703
704
705typedef cl_int (CL_API_CALL *
706clIcdGetPlatformIDsKHR_fn)(
707    cl_uint num_entries,
708    cl_platform_id* platforms,
709    cl_uint* num_platforms) ;
710
711#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
712
713extern CL_API_ENTRY cl_int CL_API_CALL
714clIcdGetPlatformIDsKHR(
715    cl_uint num_entries,
716    cl_platform_id* platforms,
717    cl_uint* num_platforms) ;
718
719#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
720
721/***************************************************************
722* cl_khr_il_program
723***************************************************************/
724#define cl_khr_il_program 1
725#define CL_KHR_IL_PROGRAM_EXTENSION_NAME \
726    "cl_khr_il_program"
727
728/* cl_device_info */
729#define CL_DEVICE_IL_VERSION_KHR                            0x105B
730
731/* cl_program_info */
732#define CL_PROGRAM_IL_KHR                                   0x1169
733
734
735typedef cl_program (CL_API_CALL *
736clCreateProgramWithILKHR_fn)(
737    cl_context context,
738    const void* il,
739    size_t length,
740    cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
741
742#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
743
744extern CL_API_ENTRY cl_program CL_API_CALL
745clCreateProgramWithILKHR(
746    cl_context context,
747    const void* il,
748    size_t length,
749    cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
750
751#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
752
753/***************************************************************
754* cl_khr_image2d_from_buffer
755***************************************************************/
756#define cl_khr_image2d_from_buffer 1
757#define CL_KHR_IMAGE2D_FROM_BUFFER_EXTENSION_NAME \
758    "cl_khr_image2d_from_buffer"
759
760/* cl_device_info */
761#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR                 0x104A
762#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR          0x104B
763
764/***************************************************************
765* cl_khr_initialize_memory
766***************************************************************/
767#define cl_khr_initialize_memory 1
768#define CL_KHR_INITIALIZE_MEMORY_EXTENSION_NAME \
769    "cl_khr_initialize_memory"
770
771/* Interop tokens */
772#define CL_CONTEXT_MEMORY_INITIALIZE_KHR                    0x2030
773
774/***************************************************************
775* cl_khr_terminate_context
776***************************************************************/
777#define cl_khr_terminate_context 1
778#define CL_KHR_TERMINATE_CONTEXT_EXTENSION_NAME \
779    "cl_khr_terminate_context"
780
781typedef cl_bitfield         cl_device_terminate_capability_khr;
782
783/* cl_device_info */
784#define CL_DEVICE_TERMINATE_CAPABILITY_KHR                  0x2031
785
786/* cl_context_properties */
787#define CL_CONTEXT_TERMINATE_KHR                            0x2032
788
789/* cl_device_terminate_capability_khr */
790#define CL_DEVICE_TERMINATE_CAPABILITY_CONTEXT_KHR          (1 << 0)
791
792/* Error codes */
793#define CL_CONTEXT_TERMINATED_KHR                           -1121
794
795
796typedef cl_int (CL_API_CALL *
797clTerminateContextKHR_fn)(
798    cl_context context) CL_API_SUFFIX__VERSION_1_2;
799
800#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
801
802extern CL_API_ENTRY cl_int CL_API_CALL
803clTerminateContextKHR(
804    cl_context context) CL_API_SUFFIX__VERSION_1_2;
805
806#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
807
808/***************************************************************
809* cl_khr_spir
810***************************************************************/
811#define cl_khr_spir 1
812#define CL_KHR_SPIR_EXTENSION_NAME \
813    "cl_khr_spir"
814
815/* cl_device_info */
816#define CL_DEVICE_SPIR_VERSIONS                             0x40E0
817
818/* cl_program_binary_type */
819#define CL_PROGRAM_BINARY_TYPE_INTERMEDIATE                 0x40E1
820
821/***************************************************************
822* cl_khr_create_command_queue
823***************************************************************/
824#define cl_khr_create_command_queue 1
825#define CL_KHR_CREATE_COMMAND_QUEUE_EXTENSION_NAME \
826    "cl_khr_create_command_queue"
827
828typedef cl_properties       cl_queue_properties_khr;
829
830
831typedef cl_command_queue (CL_API_CALL *
832clCreateCommandQueueWithPropertiesKHR_fn)(
833    cl_context context,
834    cl_device_id device,
835    const cl_queue_properties_khr* properties,
836    cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
837
838#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
839
840extern CL_API_ENTRY cl_command_queue CL_API_CALL
841clCreateCommandQueueWithPropertiesKHR(
842    cl_context context,
843    cl_device_id device,
844    const cl_queue_properties_khr* properties,
845    cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
846
847#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
848
849/***************************************************************
850* cl_nv_device_attribute_query
851***************************************************************/
852#define cl_nv_device_attribute_query 1
853#define CL_NV_DEVICE_ATTRIBUTE_QUERY_EXTENSION_NAME \
854    "cl_nv_device_attribute_query"
855
856/* cl_device_info */
857#define CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV               0x4000
858#define CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV               0x4001
859#define CL_DEVICE_REGISTERS_PER_BLOCK_NV                    0x4002
860#define CL_DEVICE_WARP_SIZE_NV                              0x4003
861#define CL_DEVICE_GPU_OVERLAP_NV                            0x4004
862#define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV                    0x4005
863#define CL_DEVICE_INTEGRATED_MEMORY_NV                      0x4006
864#define CL_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT_NV           0x4007
865#define CL_DEVICE_PCI_BUS_ID_NV                             0x4008
866#define CL_DEVICE_PCI_SLOT_ID_NV                            0x4009
867#define CL_DEVICE_PCI_DOMAIN_ID_NV                          0x400A
868#define CL_DEVICE_MAX_LOCAL_MEMORY_PER_SM_NV                0x400B
869
870/******************************************
871* cl_nv_create_buffer extension *
872******************************************/
873
874typedef cl_bitfield         cl_mem_flags_NV;
875CL_API_ENTRY cl_mem CL_API_CALL
876clCreateBufferNV(cl_context     context,
877               cl_mem_flags     flags,
878               cl_mem_flags_NV  flags_NV,
879               size_t           size,
880               void             *host_ptr,
881               cl_int           *errcode_ret);
882
883/******************************************
884* cl_kernel_attribute_nv extension *
885*******************************************/
886
887typedef enum kernel_attribute_enum {
888    CL_KERNEL_PREFERRED_LOCAL_MEMORY_SIZE_NV = 0,   /* setting preferred shared memory size */
889} cl_kernel_attribute_nv;
890
891CL_API_ENTRY cl_int CL_API_CALL
892clSetKernelAttributeNV(cl_kernel kernel,
893                       cl_device_id device,
894                       cl_kernel_attribute_nv k_attr,
895                       size_t param_value_size,
896                       const void *param_value);
897
898CL_API_ENTRY cl_int CL_API_CALL
899clGetKernelAttributeNV(cl_kernel kernel,
900                       cl_device_id device,
901                       cl_kernel_attribute_nv k_attr,
902                       size_t param_value_size,
903                       void *param_value,
904                       size_t *param_value_size_ret);
905
906#define CL_MEM_LOCATION_HOST_NV                     (1 << 0)
907#define CL_MEM_PINNED_NV                            (1 << 1)
908
909/***************************************************************
910* cl_amd_device_attribute_query
911***************************************************************/
912#define cl_amd_device_attribute_query 1
913#define CL_AMD_DEVICE_ATTRIBUTE_QUERY_EXTENSION_NAME \
914    "cl_amd_device_attribute_query"
915
916/* cl_device_info */
917#define CL_DEVICE_PROFILING_TIMER_OFFSET_AMD                0x4036
918#define CL_DEVICE_TOPOLOGY_AMD                              0x4037
919#define CL_DEVICE_BOARD_NAME_AMD                            0x4038
920#define CL_DEVICE_GLOBAL_FREE_MEMORY_AMD                    0x4039
921#define CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD                 0x4040
922#define CL_DEVICE_SIMD_WIDTH_AMD                            0x4041
923#define CL_DEVICE_SIMD_INSTRUCTION_WIDTH_AMD                0x4042
924#define CL_DEVICE_WAVEFRONT_WIDTH_AMD                       0x4043
925#define CL_DEVICE_GLOBAL_MEM_CHANNELS_AMD                   0x4044
926#define CL_DEVICE_GLOBAL_MEM_CHANNEL_BANKS_AMD              0x4045
927#define CL_DEVICE_GLOBAL_MEM_CHANNEL_BANK_WIDTH_AMD         0x4046
928#define CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_UNIT_AMD       0x4047
929#define CL_DEVICE_LOCAL_MEM_BANKS_AMD                       0x4048
930#define CL_DEVICE_THREAD_TRACE_SUPPORTED_AMD                0x4049
931#define CL_DEVICE_GFXIP_MAJOR_AMD                           0x404A
932#define CL_DEVICE_GFXIP_MINOR_AMD                           0x404B
933#define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD                0x404C
934#define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD             0x4030
935#define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD                   0x4031
936#define CL_DEVICE_PREFERRED_CONSTANT_BUFFER_SIZE_AMD        0x4033
937#define CL_DEVICE_PCIE_ID_AMD                               0x4034
938
939/***************************************************************
940* cl_arm_printf
941***************************************************************/
942#define cl_arm_printf 1
943#define CL_ARM_PRINTF_EXTENSION_NAME \
944    "cl_arm_printf"
945
946/* cl_context_properties */
947#define CL_PRINTF_CALLBACK_ARM                              0x40B0
948#define CL_PRINTF_BUFFERSIZE_ARM                            0x40B1
949
950/***************************************************************
951* cl_ext_device_fission
952***************************************************************/
953#define cl_ext_device_fission 1
954#define CL_EXT_DEVICE_FISSION_EXTENSION_NAME \
955    "cl_ext_device_fission"
956
957typedef cl_ulong            cl_device_partition_property_ext;
958
959/* Error codes */
960#define CL_DEVICE_PARTITION_FAILED_EXT                      -1057
961#define CL_INVALID_PARTITION_COUNT_EXT                      -1058
962#define CL_INVALID_PARTITION_NAME_EXT                       -1059
963
964/* cl_device_info */
965#define CL_DEVICE_PARENT_DEVICE_EXT                         0x4054
966#define CL_DEVICE_PARTITION_TYPES_EXT                       0x4055
967#define CL_DEVICE_AFFINITY_DOMAINS_EXT                      0x4056
968#define CL_DEVICE_REFERENCE_COUNT_EXT                       0x4057
969#define CL_DEVICE_PARTITION_STYLE_EXT                       0x4058
970
971/* cl_device_partition_property_ext */
972#define CL_DEVICE_PARTITION_EQUALLY_EXT                     0x4050
973#define CL_DEVICE_PARTITION_BY_COUNTS_EXT                   0x4051
974#define CL_DEVICE_PARTITION_BY_NAMES_EXT                    0x4052
975#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT          0x4053
976
977/* cl_device_partition_property_ext - affinity domains */
978#define CL_AFFINITY_DOMAIN_L1_CACHE_EXT                     0x1
979#define CL_AFFINITY_DOMAIN_L2_CACHE_EXT                     0x2
980#define CL_AFFINITY_DOMAIN_L3_CACHE_EXT                     0x3
981#define CL_AFFINITY_DOMAIN_L4_CACHE_EXT                     0x4
982#define CL_AFFINITY_DOMAIN_NUMA_EXT                         0x10
983#define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT             0x100
984
985/* cl_device_partition_property_ext - list terminators */
986#define CL_PROPERTIES_LIST_END_EXT                          ((cl_device_partition_property_ext)0)
987#define CL_PARTITION_BY_COUNTS_LIST_END_EXT                 ((cl_device_partition_property_ext)0)
988#define CL_PARTITION_BY_NAMES_LIST_END_EXT                  ((cl_device_partition_property_ext)0 - 1)
989
990
991typedef cl_int (CL_API_CALL *
992clReleaseDeviceEXT_fn)(
993    cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
994
995typedef cl_int (CL_API_CALL *
996clRetainDeviceEXT_fn)(
997    cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
998
999typedef cl_int (CL_API_CALL *
1000clCreateSubDevicesEXT_fn)(
1001    cl_device_id in_device,
1002    const cl_device_partition_property_ext* properties,
1003    cl_uint num_entries,
1004    cl_device_id* out_devices,
1005    cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_1;
1006
1007#if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
1008
1009extern CL_API_ENTRY cl_int CL_API_CALL
1010clReleaseDeviceEXT(
1011    cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
1012
1013extern CL_API_ENTRY cl_int CL_API_CALL
1014clRetainDeviceEXT(
1015    cl_device_id device) CL_API_SUFFIX__VERSION_1_1;
1016
1017extern CL_API_ENTRY cl_int CL_API_CALL
1018clCreateSubDevicesEXT(
1019    cl_device_id in_device,
1020    const cl_device_partition_property_ext* properties,
1021    cl_uint num_entries,
1022    cl_device_id* out_devices,
1023    cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_1;
1024
1025#endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
1026
1027/***************************************************************
1028* cl_ext_migrate_memobject
1029***************************************************************/
1030#define cl_ext_migrate_memobject 1
1031#define CL_EXT_MIGRATE_MEMOBJECT_EXTENSION_NAME \
1032    "cl_ext_migrate_memobject"
1033
1034typedef cl_bitfield         cl_mem_migration_flags_ext;
1035
1036/* cl_mem_migration_flags_ext */
1037#define CL_MIGRATE_MEM_OBJECT_HOST_EXT                      (1 << 0)
1038
1039/* cl_command_type */
1040#define CL_COMMAND_MIGRATE_MEM_OBJECT_EXT                   0x4040
1041
1042
1043typedef cl_int (CL_API_CALL *
1044clEnqueueMigrateMemObjectEXT_fn)(
1045    cl_command_queue command_queue,
1046    cl_uint num_mem_objects,
1047    const cl_mem* mem_objects,
1048    cl_mem_migration_flags_ext flags,
1049    cl_uint num_events_in_wait_list,
1050    const cl_event* event_wait_list,
1051    cl_event* event) ;
1052
1053#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
1054
1055extern CL_API_ENTRY cl_int CL_API_CALL
1056clEnqueueMigrateMemObjectEXT(
1057    cl_command_queue command_queue,
1058    cl_uint num_mem_objects,
1059    const cl_mem* mem_objects,
1060    cl_mem_migration_flags_ext flags,
1061    cl_uint num_events_in_wait_list,
1062    const cl_event* event_wait_list,
1063    cl_event* event) ;
1064
1065#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
1066
1067/***************************************************************
1068* cl_ext_cxx_for_opencl
1069***************************************************************/
1070#define cl_ext_cxx_for_opencl 1
1071#define CL_EXT_CXX_FOR_OPENCL_EXTENSION_NAME \
1072    "cl_ext_cxx_for_opencl"
1073
1074/* cl_device_info */
1075#define CL_DEVICE_CXX_FOR_OPENCL_NUMERIC_VERSION_EXT        0x4230
1076
1077/***************************************************************
1078* cl_qcom_ext_host_ptr
1079***************************************************************/
1080#define cl_qcom_ext_host_ptr 1
1081#define CL_QCOM_EXT_HOST_PTR_EXTENSION_NAME \
1082    "cl_qcom_ext_host_ptr"
1083
1084typedef cl_uint             cl_image_pitch_info_qcom;
1085typedef struct _cl_mem_ext_host_ptr {
1086    cl_uint allocation_type;
1087    cl_uint host_cache_policy;
1088} cl_mem_ext_host_ptr;
1089
1090/* cl_mem_flags */
1091#define CL_MEM_EXT_HOST_PTR_QCOM                            (1 << 29)
1092
1093/* cl_device_info */
1094#define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM             0x40A0
1095#define CL_DEVICE_PAGE_SIZE_QCOM                            0x40A1
1096
1097/* cl_image_pitch_info_qcom */
1098#define CL_IMAGE_ROW_ALIGNMENT_QCOM                         0x40A2
1099#define CL_IMAGE_SLICE_ALIGNMENT_QCOM                       0x40A3
1100
1101/* cl_uint host_cache_policy */
1102#define CL_MEM_HOST_UNCACHED_QCOM                           0x40A4
1103#define CL_MEM_HOST_WRITEBACK_QCOM                          0x40A5
1104#define CL_MEM_HOST_WRITETHROUGH_QCOM                       0x40A6
1105#define CL_MEM_HOST_WRITE_COMBINING_QCOM                    0x40A7
1106
1107
1108typedef cl_int (CL_API_CALL *
1109clGetDeviceImageInfoQCOM_fn)(
1110    cl_device_id device,
1111    size_t image_width,
1112    size_t image_height,
1113    const cl_image_format* image_format,
1114    cl_image_pitch_info_qcom param_name,
1115    size_t param_value_size,
1116    void* param_value,
1117    size_t* param_value_size_ret) ;
1118
1119#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
1120
1121extern CL_API_ENTRY cl_int CL_API_CALL
1122clGetDeviceImageInfoQCOM(
1123    cl_device_id device,
1124    size_t image_width,
1125    size_t image_height,
1126    const cl_image_format* image_format,
1127    cl_image_pitch_info_qcom param_name,
1128    size_t param_value_size,
1129    void* param_value,
1130    size_t* param_value_size_ret) ;
1131
1132#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
1133
1134/***************************************************************
1135* cl_qcom_ext_host_ptr_iocoherent
1136***************************************************************/
1137#define cl_qcom_ext_host_ptr_iocoherent 1
1138#define CL_QCOM_EXT_HOST_PTR_IOCOHERENT_EXTENSION_NAME \
1139    "cl_qcom_ext_host_ptr_iocoherent"
1140
1141/* cl_uint host_cache_policy */
1142#define CL_MEM_HOST_IOCOHERENT_QCOM                         0x40A9
1143
1144/***************************************************************
1145* cl_qcom_ion_host_ptr
1146***************************************************************/
1147#define cl_qcom_ion_host_ptr 1
1148#define CL_QCOM_ION_HOST_PTR_EXTENSION_NAME \
1149    "cl_qcom_ion_host_ptr"
1150
1151/* type cl_mem_ext_host_ptr */
1152typedef struct _cl_mem_ion_host_ptr {
1153    cl_mem_ext_host_ptr ext_host_ptr;
1154    int ion_filedesc;
1155    void* ion_hostptr;
1156} cl_mem_ion_host_ptr;
1157
1158/* cl_uint allocation_type */
1159#define CL_MEM_ION_HOST_PTR_QCOM                            0x40A8
1160
1161/***************************************************************
1162* cl_qcom_android_native_buffer_host_ptr
1163***************************************************************/
1164#define cl_qcom_android_native_buffer_host_ptr 1
1165#define CL_QCOM_ANDROID_NATIVE_BUFFER_HOST_PTR_EXTENSION_NAME \
1166    "cl_qcom_android_native_buffer_host_ptr"
1167
1168/* type cl_mem_ext_host_ptr */
1169typedef struct _cl_mem_android_native_buffer_host_ptr {
1170    cl_mem_ext_host_ptr ext_host_ptr;
1171    void* anb_ptr;
1172} cl_mem_android_native_buffer_host_ptr;
1173
1174/* cl_uint allocation_type */
1175#define CL_MEM_ANDROID_NATIVE_BUFFER_HOST_PTR_QCOM          0x40C6
1176
1177/***************************************************************
1178* cl_img_yuv_image
1179***************************************************************/
1180#define cl_img_yuv_image 1
1181#define CL_IMG_YUV_IMAGE_EXTENSION_NAME \
1182    "cl_img_yuv_image"
1183
1184/* cl_channel_order */
1185#define CL_NV21_IMG                                         0x40D0
1186#define CL_YV12_IMG                                         0x40D1
1187
1188/***************************************************************
1189* cl_img_cached_allocations
1190***************************************************************/
1191#define cl_img_cached_allocations 1
1192#define CL_IMG_CACHED_ALLOCATIONS_EXTENSION_NAME \
1193    "cl_img_cached_allocations"
1194
1195/* cl_mem_flags */
1196#define CL_MEM_USE_UNCACHED_CPU_MEMORY_IMG                  (1 << 26)
1197#define CL_MEM_USE_CACHED_CPU_MEMORY_IMG                    (1 << 27)
1198
1199/***************************************************************
1200* cl_img_use_gralloc_ptr

Showing the first 1,200 of 3323 lines. Download the file for the rest.

codekingpro/portable-devtools · Team Ai