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