xref: /aosp_15_r20/external/mesa3d/include/CL/cl_icd.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*******************************************************************************
2*61046927SAndroid Build Coastguard Worker  * Copyright (c) 2019-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 #ifndef OPENCL_CL_ICD_H
18*61046927SAndroid Build Coastguard Worker #define OPENCL_CL_ICD_H
19*61046927SAndroid Build Coastguard Worker 
20*61046927SAndroid Build Coastguard Worker #include <CL/cl.h>
21*61046927SAndroid Build Coastguard Worker #include <CL/cl_egl.h>
22*61046927SAndroid Build Coastguard Worker #include <CL/cl_ext.h>
23*61046927SAndroid Build Coastguard Worker #include <CL/cl_gl.h>
24*61046927SAndroid Build Coastguard Worker 
25*61046927SAndroid Build Coastguard Worker #if defined(_WIN32)
26*61046927SAndroid Build Coastguard Worker #include <CL/cl_d3d11.h>
27*61046927SAndroid Build Coastguard Worker #include <CL/cl_d3d10.h>
28*61046927SAndroid Build Coastguard Worker #include <CL/cl_dx9_media_sharing.h>
29*61046927SAndroid Build Coastguard Worker #endif
30*61046927SAndroid Build Coastguard Worker 
31*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
32*61046927SAndroid Build Coastguard Worker extern "C" {
33*61046927SAndroid Build Coastguard Worker #endif
34*61046927SAndroid Build Coastguard Worker 
35*61046927SAndroid Build Coastguard Worker /*
36*61046927SAndroid Build Coastguard Worker  * This file contains pointer type definitions for each of the CL API calls as
37*61046927SAndroid Build Coastguard Worker  * well as a type definition for the dispatch table used by the Khronos ICD
38*61046927SAndroid Build Coastguard Worker  * loader (see cl_khr_icd extension specification for background).
39*61046927SAndroid Build Coastguard Worker  */
40*61046927SAndroid Build Coastguard Worker 
41*61046927SAndroid Build Coastguard Worker /* API function pointer definitions */
42*61046927SAndroid Build Coastguard Worker 
43*61046927SAndroid Build Coastguard Worker // Platform APIs
44*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetPlatformIDs)(
45*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_platform_id *platforms,
46*61046927SAndroid Build Coastguard Worker     cl_uint *num_platforms) CL_API_SUFFIX__VERSION_1_0;
47*61046927SAndroid Build Coastguard Worker 
48*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetPlatformInfo)(
49*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_platform_info param_name,
50*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value,
51*61046927SAndroid Build Coastguard Worker     size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
52*61046927SAndroid Build Coastguard Worker 
53*61046927SAndroid Build Coastguard Worker // Device APIs
54*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDs)(
55*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_device_type device_type, cl_uint num_entries,
56*61046927SAndroid Build Coastguard Worker     cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
57*61046927SAndroid Build Coastguard Worker 
58*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetDeviceInfo)(
59*61046927SAndroid Build Coastguard Worker     cl_device_id device, cl_device_info param_name, size_t param_value_size,
60*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
61*61046927SAndroid Build Coastguard Worker 
62*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
63*61046927SAndroid Build Coastguard Worker 
64*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clCreateSubDevices)(
65*61046927SAndroid Build Coastguard Worker     cl_device_id in_device,
66*61046927SAndroid Build Coastguard Worker     const cl_device_partition_property *partition_properties,
67*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
68*61046927SAndroid Build Coastguard Worker 
69*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainDevice)(
70*61046927SAndroid Build Coastguard Worker     cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
71*61046927SAndroid Build Coastguard Worker 
72*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseDevice)(
73*61046927SAndroid Build Coastguard Worker     cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
74*61046927SAndroid Build Coastguard Worker 
75*61046927SAndroid Build Coastguard Worker #else
76*61046927SAndroid Build Coastguard Worker 
77*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateSubDevices;
78*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clRetainDevice;
79*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clReleaseDevice;
80*61046927SAndroid Build Coastguard Worker 
81*61046927SAndroid Build Coastguard Worker #endif
82*61046927SAndroid Build Coastguard Worker 
83*61046927SAndroid Build Coastguard Worker // Context APIs
84*61046927SAndroid Build Coastguard Worker typedef cl_context(CL_API_CALL *cl_api_clCreateContext)(
85*61046927SAndroid Build Coastguard Worker     const cl_context_properties *properties, cl_uint num_devices,
86*61046927SAndroid Build Coastguard Worker     const cl_device_id *devices,
87*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *),
88*61046927SAndroid Build Coastguard Worker     void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
89*61046927SAndroid Build Coastguard Worker 
90*61046927SAndroid Build Coastguard Worker typedef cl_context(CL_API_CALL *cl_api_clCreateContextFromType)(
91*61046927SAndroid Build Coastguard Worker     const cl_context_properties *properties, cl_device_type device_type,
92*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *),
93*61046927SAndroid Build Coastguard Worker     void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
94*61046927SAndroid Build Coastguard Worker 
95*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainContext)(
96*61046927SAndroid Build Coastguard Worker     cl_context context) CL_API_SUFFIX__VERSION_1_0;
97*61046927SAndroid Build Coastguard Worker 
98*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseContext)(
99*61046927SAndroid Build Coastguard Worker     cl_context context) CL_API_SUFFIX__VERSION_1_0;
100*61046927SAndroid Build Coastguard Worker 
101*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetContextInfo)(
102*61046927SAndroid Build Coastguard Worker     cl_context context, cl_context_info param_name, size_t param_value_size,
103*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
104*61046927SAndroid Build Coastguard Worker 
105*61046927SAndroid Build Coastguard Worker // Command Queue APIs
106*61046927SAndroid Build Coastguard Worker typedef cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueue)(
107*61046927SAndroid Build Coastguard Worker     cl_context context, cl_device_id device,
108*61046927SAndroid Build Coastguard Worker     cl_command_queue_properties properties,
109*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
110*61046927SAndroid Build Coastguard Worker 
111*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0
112*61046927SAndroid Build Coastguard Worker 
113*61046927SAndroid Build Coastguard Worker typedef
114*61046927SAndroid Build Coastguard Worker cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueueWithProperties)(
115*61046927SAndroid Build Coastguard Worker     cl_context /* context */, cl_device_id /* device */,
116*61046927SAndroid Build Coastguard Worker     const cl_queue_properties * /* properties */,
117*61046927SAndroid Build Coastguard Worker     cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
118*61046927SAndroid Build Coastguard Worker 
119*61046927SAndroid Build Coastguard Worker #else
120*61046927SAndroid Build Coastguard Worker 
121*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateCommandQueueWithProperties;
122*61046927SAndroid Build Coastguard Worker 
123*61046927SAndroid Build Coastguard Worker #endif
124*61046927SAndroid Build Coastguard Worker 
125*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)(
126*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
127*61046927SAndroid Build Coastguard Worker 
128*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)(
129*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
130*61046927SAndroid Build Coastguard Worker 
131*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetCommandQueueInfo)(
132*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_command_queue_info param_name,
133*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value,
134*61046927SAndroid Build Coastguard Worker     size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
135*61046927SAndroid Build Coastguard Worker 
136*61046927SAndroid Build Coastguard Worker // Memory Object APIs
137*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateBuffer)(
138*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, size_t size, void *host_ptr,
139*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
140*61046927SAndroid Build Coastguard Worker 
141*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
142*61046927SAndroid Build Coastguard Worker 
143*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateImage)(
144*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
145*61046927SAndroid Build Coastguard Worker     const cl_image_desc *image_desc, void *host_ptr,
146*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
147*61046927SAndroid Build Coastguard Worker 
148*61046927SAndroid Build Coastguard Worker #else
149*61046927SAndroid Build Coastguard Worker 
150*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateImage;
151*61046927SAndroid Build Coastguard Worker 
152*61046927SAndroid Build Coastguard Worker #endif
153*61046927SAndroid Build Coastguard Worker 
154*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_3_0
155*61046927SAndroid Build Coastguard Worker 
156*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateBufferWithProperties)(
157*61046927SAndroid Build Coastguard Worker     cl_context context, const cl_mem_properties *properties, cl_mem_flags flags,
158*61046927SAndroid Build Coastguard Worker     size_t size, void *host_ptr,
159*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
160*61046927SAndroid Build Coastguard Worker 
161*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateImageWithProperties)(
162*61046927SAndroid Build Coastguard Worker     cl_context context, const cl_mem_properties *properties, cl_mem_flags flags,
163*61046927SAndroid Build Coastguard Worker     const cl_image_format *image_format, const cl_image_desc *image_desc,
164*61046927SAndroid Build Coastguard Worker     void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0;
165*61046927SAndroid Build Coastguard Worker 
166*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL* cl_api_clSetContextDestructorCallback)(
167*61046927SAndroid Build Coastguard Worker     cl_context context,
168*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
169*61046927SAndroid Build Coastguard Worker     void* user_data) CL_API_SUFFIX__VERSION_3_0;
170*61046927SAndroid Build Coastguard Worker 
171*61046927SAndroid Build Coastguard Worker #else
172*61046927SAndroid Build Coastguard Worker 
173*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateBufferWithProperties;
174*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateImageWithProperties;
175*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetContextDestructorCallback;
176*61046927SAndroid Build Coastguard Worker 
177*61046927SAndroid Build Coastguard Worker #endif
178*61046927SAndroid Build Coastguard Worker 
179*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainMemObject)(
180*61046927SAndroid Build Coastguard Worker     cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
181*61046927SAndroid Build Coastguard Worker 
182*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseMemObject)(
183*61046927SAndroid Build Coastguard Worker     cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
184*61046927SAndroid Build Coastguard Worker 
185*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetSupportedImageFormats)(
186*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_mem_object_type image_type,
187*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_image_format *image_formats,
188*61046927SAndroid Build Coastguard Worker     cl_uint *num_image_formats) CL_API_SUFFIX__VERSION_1_0;
189*61046927SAndroid Build Coastguard Worker 
190*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetMemObjectInfo)(
191*61046927SAndroid Build Coastguard Worker     cl_mem memobj, cl_mem_info param_name, size_t param_value_size,
192*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
193*61046927SAndroid Build Coastguard Worker 
194*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetImageInfo)(
195*61046927SAndroid Build Coastguard Worker     cl_mem image, cl_image_info param_name, size_t param_value_size,
196*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
197*61046927SAndroid Build Coastguard Worker 
198*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0
199*61046927SAndroid Build Coastguard Worker 
200*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreatePipe)(
201*61046927SAndroid Build Coastguard Worker     cl_context /* context */, cl_mem_flags /* flags */,
202*61046927SAndroid Build Coastguard Worker     cl_uint /* pipe_packet_size */, cl_uint /* pipe_max_packets */,
203*61046927SAndroid Build Coastguard Worker     const cl_pipe_properties * /* properties */,
204*61046927SAndroid Build Coastguard Worker     cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
205*61046927SAndroid Build Coastguard Worker 
206*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetPipeInfo)(
207*61046927SAndroid Build Coastguard Worker     cl_mem /* pipe */, cl_pipe_info /* param_name */,
208*61046927SAndroid Build Coastguard Worker     size_t /* param_value_size */, void * /* param_value */,
209*61046927SAndroid Build Coastguard Worker     size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
210*61046927SAndroid Build Coastguard Worker 
211*61046927SAndroid Build Coastguard Worker typedef void *(CL_API_CALL *cl_api_clSVMAlloc)(
212*61046927SAndroid Build Coastguard Worker     cl_context /* context */, cl_svm_mem_flags /* flags */, size_t /* size */,
213*61046927SAndroid Build Coastguard Worker     unsigned int /* alignment */)CL_API_SUFFIX__VERSION_2_0;
214*61046927SAndroid Build Coastguard Worker 
215*61046927SAndroid Build Coastguard Worker typedef void(CL_API_CALL *cl_api_clSVMFree)(
216*61046927SAndroid Build Coastguard Worker     cl_context /* context */,
217*61046927SAndroid Build Coastguard Worker     void * /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0;
218*61046927SAndroid Build Coastguard Worker 
219*61046927SAndroid Build Coastguard Worker #else
220*61046927SAndroid Build Coastguard Worker 
221*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreatePipe;
222*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetPipeInfo;
223*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSVMAlloc;
224*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSVMFree;
225*61046927SAndroid Build Coastguard Worker 
226*61046927SAndroid Build Coastguard Worker #endif
227*61046927SAndroid Build Coastguard Worker 
228*61046927SAndroid Build Coastguard Worker // Sampler APIs
229*61046927SAndroid Build Coastguard Worker typedef cl_sampler(CL_API_CALL *cl_api_clCreateSampler)(
230*61046927SAndroid Build Coastguard Worker     cl_context context, cl_bool normalized_coords,
231*61046927SAndroid Build Coastguard Worker     cl_addressing_mode addressing_mode, cl_filter_mode filter_mode,
232*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
233*61046927SAndroid Build Coastguard Worker 
234*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainSampler)(
235*61046927SAndroid Build Coastguard Worker     cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
236*61046927SAndroid Build Coastguard Worker 
237*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseSampler)(
238*61046927SAndroid Build Coastguard Worker     cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
239*61046927SAndroid Build Coastguard Worker 
240*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetSamplerInfo)(
241*61046927SAndroid Build Coastguard Worker     cl_sampler sampler, cl_sampler_info param_name, size_t param_value_size,
242*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
243*61046927SAndroid Build Coastguard Worker 
244*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0
245*61046927SAndroid Build Coastguard Worker 
246*61046927SAndroid Build Coastguard Worker typedef
247*61046927SAndroid Build Coastguard Worker cl_sampler(CL_API_CALL *cl_api_clCreateSamplerWithProperties)(
248*61046927SAndroid Build Coastguard Worker     cl_context /* context */,
249*61046927SAndroid Build Coastguard Worker     const cl_sampler_properties * /* sampler_properties */,
250*61046927SAndroid Build Coastguard Worker     cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
251*61046927SAndroid Build Coastguard Worker 
252*61046927SAndroid Build Coastguard Worker #else
253*61046927SAndroid Build Coastguard Worker 
254*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateSamplerWithProperties;
255*61046927SAndroid Build Coastguard Worker 
256*61046927SAndroid Build Coastguard Worker #endif
257*61046927SAndroid Build Coastguard Worker 
258*61046927SAndroid Build Coastguard Worker // Program Object APIs
259*61046927SAndroid Build Coastguard Worker typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithSource)(
260*61046927SAndroid Build Coastguard Worker     cl_context context, cl_uint count, const char **strings,
261*61046927SAndroid Build Coastguard Worker     const size_t *lengths, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
262*61046927SAndroid Build Coastguard Worker 
263*61046927SAndroid Build Coastguard Worker typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithBinary)(
264*61046927SAndroid Build Coastguard Worker     cl_context context, cl_uint num_devices, const cl_device_id *device_list,
265*61046927SAndroid Build Coastguard Worker     const size_t *lengths, const unsigned char **binaries,
266*61046927SAndroid Build Coastguard Worker     cl_int *binary_status, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
267*61046927SAndroid Build Coastguard Worker 
268*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
269*61046927SAndroid Build Coastguard Worker 
270*61046927SAndroid Build Coastguard Worker typedef
271*61046927SAndroid Build Coastguard Worker cl_program(CL_API_CALL *cl_api_clCreateProgramWithBuiltInKernels)(
272*61046927SAndroid Build Coastguard Worker     cl_context context, cl_uint num_devices, const cl_device_id *device_list,
273*61046927SAndroid Build Coastguard Worker     const char *kernel_names, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
274*61046927SAndroid Build Coastguard Worker 
275*61046927SAndroid Build Coastguard Worker #else
276*61046927SAndroid Build Coastguard Worker 
277*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateProgramWithBuiltInKernels;
278*61046927SAndroid Build Coastguard Worker 
279*61046927SAndroid Build Coastguard Worker #endif
280*61046927SAndroid Build Coastguard Worker 
281*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainProgram)(
282*61046927SAndroid Build Coastguard Worker     cl_program program) CL_API_SUFFIX__VERSION_1_0;
283*61046927SAndroid Build Coastguard Worker 
284*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseProgram)(
285*61046927SAndroid Build Coastguard Worker     cl_program program) CL_API_SUFFIX__VERSION_1_0;
286*61046927SAndroid Build Coastguard Worker 
287*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clBuildProgram)(
288*61046927SAndroid Build Coastguard Worker     cl_program program, cl_uint num_devices, const cl_device_id *device_list,
289*61046927SAndroid Build Coastguard Worker     const char *options,
290*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
291*61046927SAndroid Build Coastguard Worker     void *user_data) CL_API_SUFFIX__VERSION_1_0;
292*61046927SAndroid Build Coastguard Worker 
293*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
294*61046927SAndroid Build Coastguard Worker 
295*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clCompileProgram)(
296*61046927SAndroid Build Coastguard Worker     cl_program program, cl_uint num_devices, const cl_device_id *device_list,
297*61046927SAndroid Build Coastguard Worker     const char *options, cl_uint num_input_headers,
298*61046927SAndroid Build Coastguard Worker     const cl_program *input_headers, const char **header_include_names,
299*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
300*61046927SAndroid Build Coastguard Worker     void *user_data) CL_API_SUFFIX__VERSION_1_2;
301*61046927SAndroid Build Coastguard Worker 
302*61046927SAndroid Build Coastguard Worker typedef cl_program(CL_API_CALL *cl_api_clLinkProgram)(
303*61046927SAndroid Build Coastguard Worker     cl_context context, cl_uint num_devices, const cl_device_id *device_list,
304*61046927SAndroid Build Coastguard Worker     const char *options, cl_uint num_input_programs,
305*61046927SAndroid Build Coastguard Worker     const cl_program *input_programs,
306*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
307*61046927SAndroid Build Coastguard Worker     void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
308*61046927SAndroid Build Coastguard Worker 
309*61046927SAndroid Build Coastguard Worker #else
310*61046927SAndroid Build Coastguard Worker 
311*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCompileProgram;
312*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clLinkProgram;
313*61046927SAndroid Build Coastguard Worker 
314*61046927SAndroid Build Coastguard Worker #endif
315*61046927SAndroid Build Coastguard Worker 
316*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_2
317*61046927SAndroid Build Coastguard Worker 
318*61046927SAndroid Build Coastguard Worker typedef
319*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clSetProgramSpecializationConstant)(
320*61046927SAndroid Build Coastguard Worker     cl_program program, cl_uint spec_id, size_t spec_size,
321*61046927SAndroid Build Coastguard Worker     const void *spec_value) CL_API_SUFFIX__VERSION_2_2;
322*61046927SAndroid Build Coastguard Worker 
323*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetProgramReleaseCallback)(
324*61046927SAndroid Build Coastguard Worker     cl_program program,
325*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
326*61046927SAndroid Build Coastguard Worker     void *user_data) CL_API_SUFFIX__VERSION_2_2;
327*61046927SAndroid Build Coastguard Worker 
328*61046927SAndroid Build Coastguard Worker #else
329*61046927SAndroid Build Coastguard Worker 
330*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetProgramSpecializationConstant;
331*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetProgramReleaseCallback;
332*61046927SAndroid Build Coastguard Worker 
333*61046927SAndroid Build Coastguard Worker #endif
334*61046927SAndroid Build Coastguard Worker 
335*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
336*61046927SAndroid Build Coastguard Worker 
337*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)(
338*61046927SAndroid Build Coastguard Worker     cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2;
339*61046927SAndroid Build Coastguard Worker 
340*61046927SAndroid Build Coastguard Worker #else
341*61046927SAndroid Build Coastguard Worker 
342*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clUnloadPlatformCompiler;
343*61046927SAndroid Build Coastguard Worker 
344*61046927SAndroid Build Coastguard Worker #endif
345*61046927SAndroid Build Coastguard Worker 
346*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetProgramInfo)(
347*61046927SAndroid Build Coastguard Worker     cl_program program, cl_program_info param_name, size_t param_value_size,
348*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
349*61046927SAndroid Build Coastguard Worker 
350*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetProgramBuildInfo)(
351*61046927SAndroid Build Coastguard Worker     cl_program program, cl_device_id device, cl_program_build_info param_name,
352*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value,
353*61046927SAndroid Build Coastguard Worker     size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
354*61046927SAndroid Build Coastguard Worker 
355*61046927SAndroid Build Coastguard Worker // Kernel Object APIs
356*61046927SAndroid Build Coastguard Worker typedef cl_kernel(CL_API_CALL *cl_api_clCreateKernel)(
357*61046927SAndroid Build Coastguard Worker     cl_program program, const char *kernel_name,
358*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
359*61046927SAndroid Build Coastguard Worker 
360*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clCreateKernelsInProgram)(
361*61046927SAndroid Build Coastguard Worker     cl_program program, cl_uint num_kernels, cl_kernel *kernels,
362*61046927SAndroid Build Coastguard Worker     cl_uint *num_kernels_ret) CL_API_SUFFIX__VERSION_1_0;
363*61046927SAndroid Build Coastguard Worker 
364*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainKernel)(
365*61046927SAndroid Build Coastguard Worker     cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
366*61046927SAndroid Build Coastguard Worker 
367*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseKernel)(
368*61046927SAndroid Build Coastguard Worker     cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
369*61046927SAndroid Build Coastguard Worker 
370*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetKernelArg)(
371*61046927SAndroid Build Coastguard Worker     cl_kernel kernel, cl_uint arg_index, size_t arg_size,
372*61046927SAndroid Build Coastguard Worker     const void *arg_value) CL_API_SUFFIX__VERSION_1_0;
373*61046927SAndroid Build Coastguard Worker 
374*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetKernelInfo)(
375*61046927SAndroid Build Coastguard Worker     cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size,
376*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
377*61046927SAndroid Build Coastguard Worker 
378*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
379*61046927SAndroid Build Coastguard Worker 
380*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetKernelArgInfo)(
381*61046927SAndroid Build Coastguard Worker     cl_kernel kernel, cl_uint arg_indx, cl_kernel_arg_info param_name,
382*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value,
383*61046927SAndroid Build Coastguard Worker     size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
384*61046927SAndroid Build Coastguard Worker 
385*61046927SAndroid Build Coastguard Worker #else
386*61046927SAndroid Build Coastguard Worker 
387*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetKernelArgInfo;
388*61046927SAndroid Build Coastguard Worker 
389*61046927SAndroid Build Coastguard Worker #endif
390*61046927SAndroid Build Coastguard Worker 
391*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetKernelWorkGroupInfo)(
392*61046927SAndroid Build Coastguard Worker     cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name,
393*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value,
394*61046927SAndroid Build Coastguard Worker     size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
395*61046927SAndroid Build Coastguard Worker 
396*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0
397*61046927SAndroid Build Coastguard Worker 
398*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetKernelArgSVMPointer)(
399*61046927SAndroid Build Coastguard Worker     cl_kernel /* kernel */, cl_uint /* arg_index */,
400*61046927SAndroid Build Coastguard Worker     const void * /* arg_value */) CL_API_SUFFIX__VERSION_2_0;
401*61046927SAndroid Build Coastguard Worker 
402*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetKernelExecInfo)(
403*61046927SAndroid Build Coastguard Worker     cl_kernel /* kernel */, cl_kernel_exec_info /* param_name */,
404*61046927SAndroid Build Coastguard Worker     size_t /* param_value_size */,
405*61046927SAndroid Build Coastguard Worker     const void * /* param_value */) CL_API_SUFFIX__VERSION_2_0;
406*61046927SAndroid Build Coastguard Worker 
407*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfoKHR)(
408*61046927SAndroid Build Coastguard Worker     cl_kernel /* in_kernel */, cl_device_id /*in_device*/,
409*61046927SAndroid Build Coastguard Worker     cl_kernel_sub_group_info /* param_name */, size_t /*input_value_size*/,
410*61046927SAndroid Build Coastguard Worker     const void * /*input_value*/, size_t /*param_value_size*/,
411*61046927SAndroid Build Coastguard Worker     void * /*param_value*/,
412*61046927SAndroid Build Coastguard Worker     size_t * /*param_value_size_ret*/) CL_API_SUFFIX__VERSION_2_0;
413*61046927SAndroid Build Coastguard Worker 
414*61046927SAndroid Build Coastguard Worker #else
415*61046927SAndroid Build Coastguard Worker 
416*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetKernelArgSVMPointer;
417*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetKernelExecInfo;
418*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetKernelSubGroupInfoKHR;
419*61046927SAndroid Build Coastguard Worker 
420*61046927SAndroid Build Coastguard Worker #endif
421*61046927SAndroid Build Coastguard Worker 
422*61046927SAndroid Build Coastguard Worker // Event Object APIs
423*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clWaitForEvents)(
424*61046927SAndroid Build Coastguard Worker     cl_uint num_events, const cl_event *event_list) CL_API_SUFFIX__VERSION_1_0;
425*61046927SAndroid Build Coastguard Worker 
426*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetEventInfo)(
427*61046927SAndroid Build Coastguard Worker     cl_event event, cl_event_info param_name, size_t param_value_size,
428*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
429*61046927SAndroid Build Coastguard Worker 
430*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event)
431*61046927SAndroid Build Coastguard Worker     CL_API_SUFFIX__VERSION_1_0;
432*61046927SAndroid Build Coastguard Worker 
433*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event)
434*61046927SAndroid Build Coastguard Worker     CL_API_SUFFIX__VERSION_1_0;
435*61046927SAndroid Build Coastguard Worker 
436*61046927SAndroid Build Coastguard Worker // Profiling APIs
437*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetEventProfilingInfo)(
438*61046927SAndroid Build Coastguard Worker     cl_event event, cl_profiling_info param_name, size_t param_value_size,
439*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
440*61046927SAndroid Build Coastguard Worker 
441*61046927SAndroid Build Coastguard Worker // Flush and Finish APIs
442*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clFlush)(
443*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
444*61046927SAndroid Build Coastguard Worker 
445*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clFinish)(
446*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
447*61046927SAndroid Build Coastguard Worker 
448*61046927SAndroid Build Coastguard Worker // Enqueued Commands APIs
449*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)(
450*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
451*61046927SAndroid Build Coastguard Worker     size_t offset, size_t cb, void *ptr, cl_uint num_events_in_wait_list,
452*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
453*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
454*61046927SAndroid Build Coastguard Worker 
455*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_1
456*61046927SAndroid Build Coastguard Worker 
457*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadBufferRect)(
458*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
459*61046927SAndroid Build Coastguard Worker     const size_t *buffer_origin, const size_t *host_origin,
460*61046927SAndroid Build Coastguard Worker     const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch,
461*61046927SAndroid Build Coastguard Worker     size_t host_row_pitch, size_t host_slice_pitch, void *ptr,
462*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
463*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_1;
464*61046927SAndroid Build Coastguard Worker 
465*61046927SAndroid Build Coastguard Worker #else
466*61046927SAndroid Build Coastguard Worker 
467*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueReadBufferRect;
468*61046927SAndroid Build Coastguard Worker 
469*61046927SAndroid Build Coastguard Worker #endif
470*61046927SAndroid Build Coastguard Worker 
471*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)(
472*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write,
473*61046927SAndroid Build Coastguard Worker     size_t offset, size_t cb, const void *ptr, cl_uint num_events_in_wait_list,
474*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
475*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
476*61046927SAndroid Build Coastguard Worker 
477*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_1
478*61046927SAndroid Build Coastguard Worker 
479*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteBufferRect)(
480*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read,
481*61046927SAndroid Build Coastguard Worker     const size_t *buffer_origin, const size_t *host_origin,
482*61046927SAndroid Build Coastguard Worker     const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch,
483*61046927SAndroid Build Coastguard Worker     size_t host_row_pitch, size_t host_slice_pitch, const void *ptr,
484*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
485*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_1;
486*61046927SAndroid Build Coastguard Worker 
487*61046927SAndroid Build Coastguard Worker #else
488*61046927SAndroid Build Coastguard Worker 
489*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueWriteBufferRect;
490*61046927SAndroid Build Coastguard Worker 
491*61046927SAndroid Build Coastguard Worker #endif
492*61046927SAndroid Build Coastguard Worker 
493*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
494*61046927SAndroid Build Coastguard Worker 
495*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueFillBuffer)(
496*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, const void *pattern,
497*61046927SAndroid Build Coastguard Worker     size_t pattern_size, size_t offset, size_t cb,
498*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
499*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
500*61046927SAndroid Build Coastguard Worker 
501*61046927SAndroid Build Coastguard Worker #else
502*61046927SAndroid Build Coastguard Worker 
503*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueFillBuffer;
504*61046927SAndroid Build Coastguard Worker 
505*61046927SAndroid Build Coastguard Worker #endif
506*61046927SAndroid Build Coastguard Worker 
507*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)(
508*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
509*61046927SAndroid Build Coastguard Worker     size_t src_offset, size_t dst_offset, size_t cb,
510*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
511*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
512*61046927SAndroid Build Coastguard Worker 
513*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_1
514*61046927SAndroid Build Coastguard Worker 
515*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferRect)(
516*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer,
517*61046927SAndroid Build Coastguard Worker     const size_t *src_origin, const size_t *dst_origin, const size_t *region,
518*61046927SAndroid Build Coastguard Worker     size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch,
519*61046927SAndroid Build Coastguard Worker     size_t dst_slice_pitch, cl_uint num_events_in_wait_list,
520*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
521*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_1;
522*61046927SAndroid Build Coastguard Worker 
523*61046927SAndroid Build Coastguard Worker #else
524*61046927SAndroid Build Coastguard Worker 
525*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueCopyBufferRect;
526*61046927SAndroid Build Coastguard Worker 
527*61046927SAndroid Build Coastguard Worker #endif
528*61046927SAndroid Build Coastguard Worker 
529*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueReadImage)(
530*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem image, cl_bool blocking_read,
531*61046927SAndroid Build Coastguard Worker     const size_t *origin, const size_t *region, size_t row_pitch,
532*61046927SAndroid Build Coastguard Worker     size_t slice_pitch, void *ptr, cl_uint num_events_in_wait_list,
533*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
534*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
535*61046927SAndroid Build Coastguard Worker 
536*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)(
537*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem image, cl_bool blocking_write,
538*61046927SAndroid Build Coastguard Worker     const size_t *origin, const size_t *region, size_t input_row_pitch,
539*61046927SAndroid Build Coastguard Worker     size_t input_slice_pitch, const void *ptr, cl_uint num_events_in_wait_list,
540*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
541*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
542*61046927SAndroid Build Coastguard Worker 
543*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
544*61046927SAndroid Build Coastguard Worker 
545*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueFillImage)(
546*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem image, const void *fill_color,
547*61046927SAndroid Build Coastguard Worker     const size_t origin[3], const size_t region[3],
548*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
549*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
550*61046927SAndroid Build Coastguard Worker 
551*61046927SAndroid Build Coastguard Worker #else
552*61046927SAndroid Build Coastguard Worker 
553*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueFillImage;
554*61046927SAndroid Build Coastguard Worker 
555*61046927SAndroid Build Coastguard Worker #endif
556*61046927SAndroid Build Coastguard Worker 
557*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyImage)(
558*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image,
559*61046927SAndroid Build Coastguard Worker     const size_t *src_origin, const size_t *dst_origin, const size_t *region,
560*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
561*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
562*61046927SAndroid Build Coastguard Worker 
563*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyImageToBuffer)(
564*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer,
565*61046927SAndroid Build Coastguard Worker     const size_t *src_origin, const size_t *region, size_t dst_offset,
566*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
567*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
568*61046927SAndroid Build Coastguard Worker 
569*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferToImage)(
570*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image,
571*61046927SAndroid Build Coastguard Worker     size_t src_offset, const size_t *dst_origin, const size_t *region,
572*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
573*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
574*61046927SAndroid Build Coastguard Worker 
575*61046927SAndroid Build Coastguard Worker typedef void *(CL_API_CALL *cl_api_clEnqueueMapBuffer)(
576*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map,
577*61046927SAndroid Build Coastguard Worker     cl_map_flags map_flags, size_t offset, size_t cb,
578*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
579*61046927SAndroid Build Coastguard Worker     cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
580*61046927SAndroid Build Coastguard Worker 
581*61046927SAndroid Build Coastguard Worker typedef void *(CL_API_CALL *cl_api_clEnqueueMapImage)(
582*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem image, cl_bool blocking_map,
583*61046927SAndroid Build Coastguard Worker     cl_map_flags map_flags, const size_t *origin, const size_t *region,
584*61046927SAndroid Build Coastguard Worker     size_t *image_row_pitch, size_t *image_slice_pitch,
585*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
586*61046927SAndroid Build Coastguard Worker     cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0;
587*61046927SAndroid Build Coastguard Worker 
588*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueUnmapMemObject)(
589*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_mem memobj, void *mapped_ptr,
590*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
591*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
592*61046927SAndroid Build Coastguard Worker 
593*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
594*61046927SAndroid Build Coastguard Worker 
595*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueMigrateMemObjects)(
596*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_mem_objects,
597*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_mem_migration_flags flags,
598*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
599*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
600*61046927SAndroid Build Coastguard Worker 
601*61046927SAndroid Build Coastguard Worker #else
602*61046927SAndroid Build Coastguard Worker 
603*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueMigrateMemObjects;
604*61046927SAndroid Build Coastguard Worker 
605*61046927SAndroid Build Coastguard Worker #endif
606*61046927SAndroid Build Coastguard Worker 
607*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueNDRangeKernel)(
608*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim,
609*61046927SAndroid Build Coastguard Worker     const size_t *global_work_offset, const size_t *global_work_size,
610*61046927SAndroid Build Coastguard Worker     const size_t *local_work_size, cl_uint num_events_in_wait_list,
611*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
612*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
613*61046927SAndroid Build Coastguard Worker 
614*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueTask)(
615*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_kernel kernel,
616*61046927SAndroid Build Coastguard Worker     cl_uint num_events_in_wait_list, const cl_event *event_wait_list,
617*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
618*61046927SAndroid Build Coastguard Worker 
619*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)(
620*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, void(CL_CALLBACK *user_func)(void *),
621*61046927SAndroid Build Coastguard Worker     void *args, size_t cb_args, cl_uint num_mem_objects, const cl_mem *mem_list,
622*61046927SAndroid Build Coastguard Worker     const void **args_mem_loc, cl_uint num_events_in_wait_list,
623*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
624*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
625*61046927SAndroid Build Coastguard Worker 
626*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2
627*61046927SAndroid Build Coastguard Worker 
628*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueMarkerWithWaitList)(
629*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_events_in_wait_list,
630*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
631*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
632*61046927SAndroid Build Coastguard Worker 
633*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueBarrierWithWaitList)(
634*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_events_in_wait_list,
635*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
636*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
637*61046927SAndroid Build Coastguard Worker 
638*61046927SAndroid Build Coastguard Worker typedef void *(
639*61046927SAndroid Build Coastguard Worker     CL_API_CALL *cl_api_clGetExtensionFunctionAddressForPlatform)(
640*61046927SAndroid Build Coastguard Worker     cl_platform_id platform,
641*61046927SAndroid Build Coastguard Worker     const char *function_name)CL_API_SUFFIX__VERSION_1_2;
642*61046927SAndroid Build Coastguard Worker 
643*61046927SAndroid Build Coastguard Worker #else
644*61046927SAndroid Build Coastguard Worker 
645*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueMarkerWithWaitList;
646*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueBarrierWithWaitList;
647*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetExtensionFunctionAddressForPlatform;
648*61046927SAndroid Build Coastguard Worker 
649*61046927SAndroid Build Coastguard Worker #endif
650*61046927SAndroid Build Coastguard Worker 
651*61046927SAndroid Build Coastguard Worker // Shared Virtual Memory APIs
652*61046927SAndroid Build Coastguard Worker 
653*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0
654*61046927SAndroid Build Coastguard Worker 
655*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)(
656*61046927SAndroid Build Coastguard Worker     cl_command_queue /* command_queue */, cl_uint /* num_svm_pointers */,
657*61046927SAndroid Build Coastguard Worker     void ** /* svm_pointers */,
658*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK *pfn_free_func)(cl_command_queue /* queue */,
659*61046927SAndroid Build Coastguard Worker                                      cl_uint /* num_svm_pointers */,
660*61046927SAndroid Build Coastguard Worker                                      void ** /* svm_pointers[] */,
661*61046927SAndroid Build Coastguard Worker                                      void * /* user_data */),
662*61046927SAndroid Build Coastguard Worker     void * /* user_data */, cl_uint /* num_events_in_wait_list */,
663*61046927SAndroid Build Coastguard Worker     const cl_event * /* event_wait_list */,
664*61046927SAndroid Build Coastguard Worker     cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
665*61046927SAndroid Build Coastguard Worker 
666*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemcpy)(
667*61046927SAndroid Build Coastguard Worker     cl_command_queue /* command_queue */, cl_bool /* blocking_copy */,
668*61046927SAndroid Build Coastguard Worker     void * /* dst_ptr */, const void * /* src_ptr */, size_t /* size */,
669*61046927SAndroid Build Coastguard Worker     cl_uint /* num_events_in_wait_list */,
670*61046927SAndroid Build Coastguard Worker     const cl_event * /* event_wait_list */,
671*61046927SAndroid Build Coastguard Worker     cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
672*61046927SAndroid Build Coastguard Worker 
673*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemFill)(
674*61046927SAndroid Build Coastguard Worker     cl_command_queue /* command_queue */, void * /* svm_ptr */,
675*61046927SAndroid Build Coastguard Worker     const void * /* pattern */, size_t /* pattern_size */, size_t /* size */,
676*61046927SAndroid Build Coastguard Worker     cl_uint /* num_events_in_wait_list */,
677*61046927SAndroid Build Coastguard Worker     const cl_event * /* event_wait_list */,
678*61046927SAndroid Build Coastguard Worker     cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
679*61046927SAndroid Build Coastguard Worker 
680*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMap)(
681*61046927SAndroid Build Coastguard Worker     cl_command_queue /* command_queue */, cl_bool /* blocking_map */,
682*61046927SAndroid Build Coastguard Worker     cl_map_flags /* map_flags */, void * /* svm_ptr */, size_t /* size */,
683*61046927SAndroid Build Coastguard Worker     cl_uint /* num_events_in_wait_list */,
684*61046927SAndroid Build Coastguard Worker     const cl_event * /* event_wait_list */,
685*61046927SAndroid Build Coastguard Worker     cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
686*61046927SAndroid Build Coastguard Worker 
687*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMUnmap)(
688*61046927SAndroid Build Coastguard Worker     cl_command_queue /* command_queue */, void * /* svm_ptr */,
689*61046927SAndroid Build Coastguard Worker     cl_uint /* num_events_in_wait_list */,
690*61046927SAndroid Build Coastguard Worker     const cl_event * /* event_wait_list */,
691*61046927SAndroid Build Coastguard Worker     cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
692*61046927SAndroid Build Coastguard Worker 
693*61046927SAndroid Build Coastguard Worker #else
694*61046927SAndroid Build Coastguard Worker 
695*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMFree;
696*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMMemcpy;
697*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMMemFill;
698*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMMap;
699*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMUnmap;
700*61046927SAndroid Build Coastguard Worker 
701*61046927SAndroid Build Coastguard Worker #endif
702*61046927SAndroid Build Coastguard Worker 
703*61046927SAndroid Build Coastguard Worker // Deprecated APIs
704*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetCommandQueueProperty)(
705*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_command_queue_properties properties,
706*61046927SAndroid Build Coastguard Worker     cl_bool enable, cl_command_queue_properties *old_properties)
707*61046927SAndroid Build Coastguard Worker     CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
708*61046927SAndroid Build Coastguard Worker 
709*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateImage2D)(
710*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
711*61046927SAndroid Build Coastguard Worker     size_t image_width, size_t image_height, size_t image_row_pitch,
712*61046927SAndroid Build Coastguard Worker     void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
713*61046927SAndroid Build Coastguard Worker 
714*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateImage3D)(
715*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, const cl_image_format *image_format,
716*61046927SAndroid Build Coastguard Worker     size_t image_width, size_t image_height, size_t image_depth,
717*61046927SAndroid Build Coastguard Worker     size_t image_row_pitch, size_t image_slice_pitch, void *host_ptr,
718*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
719*61046927SAndroid Build Coastguard Worker 
720*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void)
721*61046927SAndroid Build Coastguard Worker     CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
722*61046927SAndroid Build Coastguard Worker 
723*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueMarker)(
724*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue,
725*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
726*61046927SAndroid Build Coastguard Worker 
727*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)(
728*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_events,
729*61046927SAndroid Build Coastguard Worker     const cl_event *event_list) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
730*61046927SAndroid Build Coastguard Worker 
731*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueBarrier)(
732*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
733*61046927SAndroid Build Coastguard Worker 
734*61046927SAndroid Build Coastguard Worker typedef void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)(
735*61046927SAndroid Build Coastguard Worker     const char *function_name)CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
736*61046927SAndroid Build Coastguard Worker 
737*61046927SAndroid Build Coastguard Worker // GL and other APIs
738*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLBuffer)(
739*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_GLuint bufobj,
740*61046927SAndroid Build Coastguard Worker     int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
741*61046927SAndroid Build Coastguard Worker 
742*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture)(
743*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
744*61046927SAndroid Build Coastguard Worker     cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
745*61046927SAndroid Build Coastguard Worker 
746*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture2D)(
747*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
748*61046927SAndroid Build Coastguard Worker     cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
749*61046927SAndroid Build Coastguard Worker 
750*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture3D)(
751*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel,
752*61046927SAndroid Build Coastguard Worker     cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
753*61046927SAndroid Build Coastguard Worker 
754*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromGLRenderbuffer)(
755*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, cl_GLuint renderbuffer,
756*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
757*61046927SAndroid Build Coastguard Worker 
758*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetGLObjectInfo)(
759*61046927SAndroid Build Coastguard Worker     cl_mem memobj, cl_gl_object_type *gl_object_type,
760*61046927SAndroid Build Coastguard Worker     cl_GLuint *gl_object_name) CL_API_SUFFIX__VERSION_1_0;
761*61046927SAndroid Build Coastguard Worker 
762*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetGLTextureInfo)(
763*61046927SAndroid Build Coastguard Worker     cl_mem memobj, cl_gl_texture_info param_name, size_t param_value_size,
764*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
765*61046927SAndroid Build Coastguard Worker 
766*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueAcquireGLObjects)(
767*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
768*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
769*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
770*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
771*61046927SAndroid Build Coastguard Worker 
772*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueReleaseGLObjects)(
773*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
774*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
775*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
776*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
777*61046927SAndroid Build Coastguard Worker 
778*61046927SAndroid Build Coastguard Worker /* cl_khr_gl_sharing */
779*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetGLContextInfoKHR)(
780*61046927SAndroid Build Coastguard Worker     const cl_context_properties *properties, cl_gl_context_info param_name,
781*61046927SAndroid Build Coastguard Worker     size_t param_value_size, void *param_value, size_t *param_value_size_ret);
782*61046927SAndroid Build Coastguard Worker 
783*61046927SAndroid Build Coastguard Worker /* cl_khr_gl_event */
784*61046927SAndroid Build Coastguard Worker typedef cl_event(CL_API_CALL *cl_api_clCreateEventFromGLsyncKHR)(
785*61046927SAndroid Build Coastguard Worker     cl_context context, cl_GLsync sync, cl_int *errcode_ret);
786*61046927SAndroid Build Coastguard Worker 
787*61046927SAndroid Build Coastguard Worker #if defined(_WIN32)
788*61046927SAndroid Build Coastguard Worker 
789*61046927SAndroid Build Coastguard Worker /* cl_khr_d3d10_sharing */
790*61046927SAndroid Build Coastguard Worker 
791*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D10KHR)(
792*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source,
793*61046927SAndroid Build Coastguard Worker     void *d3d_object, cl_d3d10_device_set_khr d3d_device_set,
794*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *devices,
795*61046927SAndroid Build Coastguard Worker     cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0;
796*61046927SAndroid Build Coastguard Worker 
797*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10BufferKHR)(
798*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D10Buffer *resource,
799*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
800*61046927SAndroid Build Coastguard Worker 
801*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture2DKHR)(
802*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
803*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
804*61046927SAndroid Build Coastguard Worker 
805*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture3DKHR)(
806*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
807*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0;
808*61046927SAndroid Build Coastguard Worker 
809*61046927SAndroid Build Coastguard Worker typedef
810*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D10ObjectsKHR)(
811*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
812*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
813*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
814*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
815*61046927SAndroid Build Coastguard Worker 
816*61046927SAndroid Build Coastguard Worker typedef
817*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D10ObjectsKHR)(
818*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
819*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
820*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
821*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_0;
822*61046927SAndroid Build Coastguard Worker 
823*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR(
824*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source,
825*61046927SAndroid Build Coastguard Worker     void *d3d_object, cl_d3d10_device_set_khr d3d_device_set,
826*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices);
827*61046927SAndroid Build Coastguard Worker 
828*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL
829*61046927SAndroid Build Coastguard Worker clCreateFromD3D10BufferKHR(cl_context context, cl_mem_flags flags,
830*61046927SAndroid Build Coastguard Worker                            ID3D10Buffer *resource, cl_int *errcode_ret);
831*61046927SAndroid Build Coastguard Worker 
832*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR(
833*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource,
834*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret);
835*61046927SAndroid Build Coastguard Worker 
836*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR(
837*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource,
838*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret);
839*61046927SAndroid Build Coastguard Worker 
840*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR(
841*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
842*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
843*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
844*61046927SAndroid Build Coastguard Worker 
845*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR(
846*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
847*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
848*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
849*61046927SAndroid Build Coastguard Worker 
850*61046927SAndroid Build Coastguard Worker /* cl_khr_d3d11_sharing */
851*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D11KHR)(
852*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source,
853*61046927SAndroid Build Coastguard Worker     void *d3d_object, cl_d3d11_device_set_khr d3d_device_set,
854*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *devices,
855*61046927SAndroid Build Coastguard Worker     cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
856*61046927SAndroid Build Coastguard Worker 
857*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11BufferKHR)(
858*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D11Buffer *resource,
859*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
860*61046927SAndroid Build Coastguard Worker 
861*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture2DKHR)(
862*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
863*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
864*61046927SAndroid Build Coastguard Worker 
865*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture3DKHR)(
866*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
867*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
868*61046927SAndroid Build Coastguard Worker 
869*61046927SAndroid Build Coastguard Worker typedef
870*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D11ObjectsKHR)(
871*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
872*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
873*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
874*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
875*61046927SAndroid Build Coastguard Worker 
876*61046927SAndroid Build Coastguard Worker typedef
877*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D11ObjectsKHR)(
878*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
879*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
880*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
881*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
882*61046927SAndroid Build Coastguard Worker 
883*61046927SAndroid Build Coastguard Worker /* cl_khr_dx9_media_sharing */
884*61046927SAndroid Build Coastguard Worker typedef
885*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR)(
886*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_uint num_media_adapters,
887*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_type_khr *media_adapters_type, void *media_adapters,
888*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries,
889*61046927SAndroid Build Coastguard Worker     cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2;
890*61046927SAndroid Build Coastguard Worker 
891*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromDX9MediaSurfaceKHR)(
892*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags,
893*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_type_khr adapter_type, void *surface_info,
894*61046927SAndroid Build Coastguard Worker     cl_uint plane, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2;
895*61046927SAndroid Build Coastguard Worker 
896*61046927SAndroid Build Coastguard Worker typedef
897*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR)(
898*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
899*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
900*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
901*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
902*61046927SAndroid Build Coastguard Worker 
903*61046927SAndroid Build Coastguard Worker typedef
904*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR)(
905*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
906*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
907*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
908*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_1_2;
909*61046927SAndroid Build Coastguard Worker 
910*61046927SAndroid Build Coastguard Worker /* cl_khr_d3d11_sharing */
911*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR(
912*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source,
913*61046927SAndroid Build Coastguard Worker     void *d3d_object, cl_d3d11_device_set_khr d3d_device_set,
914*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices);
915*61046927SAndroid Build Coastguard Worker 
916*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL
917*61046927SAndroid Build Coastguard Worker clCreateFromD3D11BufferKHR(cl_context context, cl_mem_flags flags,
918*61046927SAndroid Build Coastguard Worker                            ID3D11Buffer *resource, cl_int *errcode_ret);
919*61046927SAndroid Build Coastguard Worker 
920*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR(
921*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource,
922*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret);
923*61046927SAndroid Build Coastguard Worker 
924*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR(
925*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource,
926*61046927SAndroid Build Coastguard Worker     UINT subresource, cl_int *errcode_ret);
927*61046927SAndroid Build Coastguard Worker 
928*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR(
929*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
930*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
931*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
932*61046927SAndroid Build Coastguard Worker 
933*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR(
934*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
935*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
936*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
937*61046927SAndroid Build Coastguard Worker 
938*61046927SAndroid Build Coastguard Worker /* cl_khr_dx9_media_sharing */
939*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR(
940*61046927SAndroid Build Coastguard Worker     cl_platform_id platform, cl_uint num_media_adapters,
941*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_type_khr *media_adapter_type, void *media_adapters,
942*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries,
943*61046927SAndroid Build Coastguard Worker     cl_device_id *devices, cl_uint *num_devices);
944*61046927SAndroid Build Coastguard Worker 
945*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR(
946*61046927SAndroid Build Coastguard Worker     cl_context context, cl_mem_flags flags,
947*61046927SAndroid Build Coastguard Worker     cl_dx9_media_adapter_type_khr adapter_type, void *surface_info,
948*61046927SAndroid Build Coastguard Worker     cl_uint plane, cl_int *errcode_ret);
949*61046927SAndroid Build Coastguard Worker 
950*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR(
951*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
952*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
953*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
954*61046927SAndroid Build Coastguard Worker 
955*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR(
956*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
957*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
958*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
959*61046927SAndroid Build Coastguard Worker 
960*61046927SAndroid Build Coastguard Worker #else
961*61046927SAndroid Build Coastguard Worker 
962*61046927SAndroid Build Coastguard Worker /* cl_khr_d3d10_sharing */
963*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetDeviceIDsFromD3D10KHR;
964*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D10BufferKHR;
965*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D10Texture2DKHR;
966*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D10Texture3DKHR;
967*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueAcquireD3D10ObjectsKHR;
968*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueReleaseD3D10ObjectsKHR;
969*61046927SAndroid Build Coastguard Worker 
970*61046927SAndroid Build Coastguard Worker /* cl_khr_d3d11_sharing */
971*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetDeviceIDsFromD3D11KHR;
972*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D11BufferKHR;
973*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D11Texture2DKHR;
974*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromD3D11Texture3DKHR;
975*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueAcquireD3D11ObjectsKHR;
976*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueReleaseD3D11ObjectsKHR;
977*61046927SAndroid Build Coastguard Worker 
978*61046927SAndroid Build Coastguard Worker /* cl_khr_dx9_media_sharing */
979*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateFromDX9MediaSurfaceKHR;
980*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR;
981*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR;
982*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR;
983*61046927SAndroid Build Coastguard Worker 
984*61046927SAndroid Build Coastguard Worker #endif
985*61046927SAndroid Build Coastguard Worker 
986*61046927SAndroid Build Coastguard Worker /* OpenCL 1.1 */
987*61046927SAndroid Build Coastguard Worker 
988*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_1
989*61046927SAndroid Build Coastguard Worker 
990*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetEventCallback)(
991*61046927SAndroid Build Coastguard Worker     cl_event /* event */, cl_int /* command_exec_callback_type */,
992*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *),
993*61046927SAndroid Build Coastguard Worker     void * /* user_data */) CL_API_SUFFIX__VERSION_1_1;
994*61046927SAndroid Build Coastguard Worker 
995*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateSubBuffer)(
996*61046927SAndroid Build Coastguard Worker     cl_mem /* buffer */, cl_mem_flags /* flags */,
997*61046927SAndroid Build Coastguard Worker     cl_buffer_create_type /* buffer_create_type */,
998*61046927SAndroid Build Coastguard Worker     const void * /* buffer_create_info */,
999*61046927SAndroid Build Coastguard Worker     cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
1000*61046927SAndroid Build Coastguard Worker 
1001*61046927SAndroid Build Coastguard Worker typedef
1002*61046927SAndroid Build Coastguard Worker cl_int(CL_API_CALL *cl_api_clSetMemObjectDestructorCallback)(
1003*61046927SAndroid Build Coastguard Worker     cl_mem /* memobj */,
1004*61046927SAndroid Build Coastguard Worker     void(CL_CALLBACK * /*pfn_notify*/)(cl_mem /* memobj */,
1005*61046927SAndroid Build Coastguard Worker                                        void * /*user_data*/),
1006*61046927SAndroid Build Coastguard Worker     void * /*user_data */) CL_API_SUFFIX__VERSION_1_1;
1007*61046927SAndroid Build Coastguard Worker 
1008*61046927SAndroid Build Coastguard Worker typedef cl_event(CL_API_CALL *cl_api_clCreateUserEvent)(
1009*61046927SAndroid Build Coastguard Worker     cl_context /* context */,
1010*61046927SAndroid Build Coastguard Worker     cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
1011*61046927SAndroid Build Coastguard Worker 
1012*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)(
1013*61046927SAndroid Build Coastguard Worker     cl_event /* event */,
1014*61046927SAndroid Build Coastguard Worker     cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1;
1015*61046927SAndroid Build Coastguard Worker 
1016*61046927SAndroid Build Coastguard Worker #else
1017*61046927SAndroid Build Coastguard Worker 
1018*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetEventCallback;
1019*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateSubBuffer;
1020*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetMemObjectDestructorCallback;
1021*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateUserEvent;
1022*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetUserEventStatus;
1023*61046927SAndroid Build Coastguard Worker 
1024*61046927SAndroid Build Coastguard Worker #endif
1025*61046927SAndroid Build Coastguard Worker 
1026*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clCreateSubDevicesEXT)(
1027*61046927SAndroid Build Coastguard Worker     cl_device_id in_device,
1028*61046927SAndroid Build Coastguard Worker     const cl_device_partition_property_ext *partition_properties,
1029*61046927SAndroid Build Coastguard Worker     cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices);
1030*61046927SAndroid Build Coastguard Worker 
1031*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clRetainDeviceEXT)(
1032*61046927SAndroid Build Coastguard Worker     cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
1033*61046927SAndroid Build Coastguard Worker 
1034*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clReleaseDeviceEXT)(
1035*61046927SAndroid Build Coastguard Worker     cl_device_id device) CL_API_SUFFIX__VERSION_1_0;
1036*61046927SAndroid Build Coastguard Worker 
1037*61046927SAndroid Build Coastguard Worker /* cl_khr_egl_image */
1038*61046927SAndroid Build Coastguard Worker typedef cl_mem(CL_API_CALL *cl_api_clCreateFromEGLImageKHR)(
1039*61046927SAndroid Build Coastguard Worker     cl_context context, CLeglDisplayKHR display, CLeglImageKHR image,
1040*61046927SAndroid Build Coastguard Worker     cl_mem_flags flags, const cl_egl_image_properties_khr *properties,
1041*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret);
1042*61046927SAndroid Build Coastguard Worker 
1043*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueAcquireEGLObjectsKHR)(
1044*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
1045*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
1046*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
1047*61046927SAndroid Build Coastguard Worker 
1048*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueReleaseEGLObjectsKHR)(
1049*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_objects,
1050*61046927SAndroid Build Coastguard Worker     const cl_mem *mem_objects, cl_uint num_events_in_wait_list,
1051*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list, cl_event *event);
1052*61046927SAndroid Build Coastguard Worker 
1053*61046927SAndroid Build Coastguard Worker /* cl_khr_egl_event */
1054*61046927SAndroid Build Coastguard Worker typedef cl_event(CL_API_CALL *cl_api_clCreateEventFromEGLSyncKHR)(
1055*61046927SAndroid Build Coastguard Worker     cl_context context, CLeglSyncKHR sync, CLeglDisplayKHR display,
1056*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret);
1057*61046927SAndroid Build Coastguard Worker 
1058*61046927SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_1
1059*61046927SAndroid Build Coastguard Worker 
1060*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clSetDefaultDeviceCommandQueue)(
1061*61046927SAndroid Build Coastguard Worker     cl_context context, cl_device_id device,
1062*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue) CL_API_SUFFIX__VERSION_2_1;
1063*61046927SAndroid Build Coastguard Worker 
1064*61046927SAndroid Build Coastguard Worker typedef cl_program(CL_API_CALL *cl_api_clCreateProgramWithIL)(
1065*61046927SAndroid Build Coastguard Worker     cl_context context, const void *il, size_t length,
1066*61046927SAndroid Build Coastguard Worker     cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1067*61046927SAndroid Build Coastguard Worker 
1068*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfo)(
1069*61046927SAndroid Build Coastguard Worker     cl_kernel kernel, cl_device_id device, cl_kernel_sub_group_info param_name,
1070*61046927SAndroid Build Coastguard Worker     size_t input_value_size, const void *input_value, size_t param_value_size,
1071*61046927SAndroid Build Coastguard Worker     void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_2_1;
1072*61046927SAndroid Build Coastguard Worker 
1073*61046927SAndroid Build Coastguard Worker typedef cl_kernel(CL_API_CALL *cl_api_clCloneKernel)(
1074*61046927SAndroid Build Coastguard Worker     cl_kernel source_kernel, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1075*61046927SAndroid Build Coastguard Worker 
1076*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clEnqueueSVMMigrateMem)(
1077*61046927SAndroid Build Coastguard Worker     cl_command_queue command_queue, cl_uint num_svm_pointers,
1078*61046927SAndroid Build Coastguard Worker     const void **svm_pointers, const size_t *sizes,
1079*61046927SAndroid Build Coastguard Worker     cl_mem_migration_flags flags, cl_uint num_events_in_wait_list,
1080*61046927SAndroid Build Coastguard Worker     const cl_event *event_wait_list,
1081*61046927SAndroid Build Coastguard Worker     cl_event *event) CL_API_SUFFIX__VERSION_2_1;
1082*61046927SAndroid Build Coastguard Worker 
1083*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetDeviceAndHostTimer)(
1084*61046927SAndroid Build Coastguard Worker     cl_device_id device, cl_ulong *device_timestamp,
1085*61046927SAndroid Build Coastguard Worker     cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1086*61046927SAndroid Build Coastguard Worker 
1087*61046927SAndroid Build Coastguard Worker typedef cl_int(CL_API_CALL *cl_api_clGetHostTimer)(
1088*61046927SAndroid Build Coastguard Worker     cl_device_id device, cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1089*61046927SAndroid Build Coastguard Worker 
1090*61046927SAndroid Build Coastguard Worker #else
1091*61046927SAndroid Build Coastguard Worker 
1092*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clSetDefaultDeviceCommandQueue;
1093*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCreateProgramWithIL;
1094*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetKernelSubGroupInfo;
1095*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clCloneKernel;
1096*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clEnqueueSVMMigrateMem;
1097*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetDeviceAndHostTimer;
1098*61046927SAndroid Build Coastguard Worker typedef void *cl_api_clGetHostTimer;
1099*61046927SAndroid Build Coastguard Worker 
1100*61046927SAndroid Build Coastguard Worker #endif
1101*61046927SAndroid Build Coastguard Worker 
1102*61046927SAndroid Build Coastguard Worker /* Vendor dispatch table structure */
1103*61046927SAndroid Build Coastguard Worker 
1104*61046927SAndroid Build Coastguard Worker typedef struct _cl_icd_dispatch {
1105*61046927SAndroid Build Coastguard Worker   /* OpenCL 1.0 */
1106*61046927SAndroid Build Coastguard Worker   cl_api_clGetPlatformIDs clGetPlatformIDs;
1107*61046927SAndroid Build Coastguard Worker   cl_api_clGetPlatformInfo clGetPlatformInfo;
1108*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceIDs clGetDeviceIDs;
1109*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceInfo clGetDeviceInfo;
1110*61046927SAndroid Build Coastguard Worker   cl_api_clCreateContext clCreateContext;
1111*61046927SAndroid Build Coastguard Worker   cl_api_clCreateContextFromType clCreateContextFromType;
1112*61046927SAndroid Build Coastguard Worker   cl_api_clRetainContext clRetainContext;
1113*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseContext clReleaseContext;
1114*61046927SAndroid Build Coastguard Worker   cl_api_clGetContextInfo clGetContextInfo;
1115*61046927SAndroid Build Coastguard Worker   cl_api_clCreateCommandQueue clCreateCommandQueue;
1116*61046927SAndroid Build Coastguard Worker   cl_api_clRetainCommandQueue clRetainCommandQueue;
1117*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseCommandQueue clReleaseCommandQueue;
1118*61046927SAndroid Build Coastguard Worker   cl_api_clGetCommandQueueInfo clGetCommandQueueInfo;
1119*61046927SAndroid Build Coastguard Worker   cl_api_clSetCommandQueueProperty clSetCommandQueueProperty;
1120*61046927SAndroid Build Coastguard Worker   cl_api_clCreateBuffer clCreateBuffer;
1121*61046927SAndroid Build Coastguard Worker   cl_api_clCreateImage2D clCreateImage2D;
1122*61046927SAndroid Build Coastguard Worker   cl_api_clCreateImage3D clCreateImage3D;
1123*61046927SAndroid Build Coastguard Worker   cl_api_clRetainMemObject clRetainMemObject;
1124*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseMemObject clReleaseMemObject;
1125*61046927SAndroid Build Coastguard Worker   cl_api_clGetSupportedImageFormats clGetSupportedImageFormats;
1126*61046927SAndroid Build Coastguard Worker   cl_api_clGetMemObjectInfo clGetMemObjectInfo;
1127*61046927SAndroid Build Coastguard Worker   cl_api_clGetImageInfo clGetImageInfo;
1128*61046927SAndroid Build Coastguard Worker   cl_api_clCreateSampler clCreateSampler;
1129*61046927SAndroid Build Coastguard Worker   cl_api_clRetainSampler clRetainSampler;
1130*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseSampler clReleaseSampler;
1131*61046927SAndroid Build Coastguard Worker   cl_api_clGetSamplerInfo clGetSamplerInfo;
1132*61046927SAndroid Build Coastguard Worker   cl_api_clCreateProgramWithSource clCreateProgramWithSource;
1133*61046927SAndroid Build Coastguard Worker   cl_api_clCreateProgramWithBinary clCreateProgramWithBinary;
1134*61046927SAndroid Build Coastguard Worker   cl_api_clRetainProgram clRetainProgram;
1135*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseProgram clReleaseProgram;
1136*61046927SAndroid Build Coastguard Worker   cl_api_clBuildProgram clBuildProgram;
1137*61046927SAndroid Build Coastguard Worker   cl_api_clUnloadCompiler clUnloadCompiler;
1138*61046927SAndroid Build Coastguard Worker   cl_api_clGetProgramInfo clGetProgramInfo;
1139*61046927SAndroid Build Coastguard Worker   cl_api_clGetProgramBuildInfo clGetProgramBuildInfo;
1140*61046927SAndroid Build Coastguard Worker   cl_api_clCreateKernel clCreateKernel;
1141*61046927SAndroid Build Coastguard Worker   cl_api_clCreateKernelsInProgram clCreateKernelsInProgram;
1142*61046927SAndroid Build Coastguard Worker   cl_api_clRetainKernel clRetainKernel;
1143*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseKernel clReleaseKernel;
1144*61046927SAndroid Build Coastguard Worker   cl_api_clSetKernelArg clSetKernelArg;
1145*61046927SAndroid Build Coastguard Worker   cl_api_clGetKernelInfo clGetKernelInfo;
1146*61046927SAndroid Build Coastguard Worker   cl_api_clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo;
1147*61046927SAndroid Build Coastguard Worker   cl_api_clWaitForEvents clWaitForEvents;
1148*61046927SAndroid Build Coastguard Worker   cl_api_clGetEventInfo clGetEventInfo;
1149*61046927SAndroid Build Coastguard Worker   cl_api_clRetainEvent clRetainEvent;
1150*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseEvent clReleaseEvent;
1151*61046927SAndroid Build Coastguard Worker   cl_api_clGetEventProfilingInfo clGetEventProfilingInfo;
1152*61046927SAndroid Build Coastguard Worker   cl_api_clFlush clFlush;
1153*61046927SAndroid Build Coastguard Worker   cl_api_clFinish clFinish;
1154*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReadBuffer clEnqueueReadBuffer;
1155*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueWriteBuffer clEnqueueWriteBuffer;
1156*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueCopyBuffer clEnqueueCopyBuffer;
1157*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReadImage clEnqueueReadImage;
1158*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueWriteImage clEnqueueWriteImage;
1159*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueCopyImage clEnqueueCopyImage;
1160*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer;
1161*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage;
1162*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueMapBuffer clEnqueueMapBuffer;
1163*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueMapImage clEnqueueMapImage;
1164*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueUnmapMemObject clEnqueueUnmapMemObject;
1165*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueNDRangeKernel clEnqueueNDRangeKernel;
1166*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueTask clEnqueueTask;
1167*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueNativeKernel clEnqueueNativeKernel;
1168*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueMarker clEnqueueMarker;
1169*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueWaitForEvents clEnqueueWaitForEvents;
1170*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueBarrier clEnqueueBarrier;
1171*61046927SAndroid Build Coastguard Worker   cl_api_clGetExtensionFunctionAddress clGetExtensionFunctionAddress;
1172*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromGLBuffer clCreateFromGLBuffer;
1173*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromGLTexture2D clCreateFromGLTexture2D;
1174*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromGLTexture3D clCreateFromGLTexture3D;
1175*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer;
1176*61046927SAndroid Build Coastguard Worker   cl_api_clGetGLObjectInfo clGetGLObjectInfo;
1177*61046927SAndroid Build Coastguard Worker   cl_api_clGetGLTextureInfo clGetGLTextureInfo;
1178*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects;
1179*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects;
1180*61046927SAndroid Build Coastguard Worker   cl_api_clGetGLContextInfoKHR clGetGLContextInfoKHR;
1181*61046927SAndroid Build Coastguard Worker 
1182*61046927SAndroid Build Coastguard Worker   /* cl_khr_d3d10_sharing */
1183*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceIDsFromD3D10KHR clGetDeviceIDsFromD3D10KHR;
1184*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D10BufferKHR clCreateFromD3D10BufferKHR;
1185*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D10Texture2DKHR clCreateFromD3D10Texture2DKHR;
1186*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D10Texture3DKHR clCreateFromD3D10Texture3DKHR;
1187*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueAcquireD3D10ObjectsKHR clEnqueueAcquireD3D10ObjectsKHR;
1188*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReleaseD3D10ObjectsKHR clEnqueueReleaseD3D10ObjectsKHR;
1189*61046927SAndroid Build Coastguard Worker 
1190*61046927SAndroid Build Coastguard Worker   /* OpenCL 1.1 */
1191*61046927SAndroid Build Coastguard Worker   cl_api_clSetEventCallback clSetEventCallback;
1192*61046927SAndroid Build Coastguard Worker   cl_api_clCreateSubBuffer clCreateSubBuffer;
1193*61046927SAndroid Build Coastguard Worker   cl_api_clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback;
1194*61046927SAndroid Build Coastguard Worker   cl_api_clCreateUserEvent clCreateUserEvent;
1195*61046927SAndroid Build Coastguard Worker   cl_api_clSetUserEventStatus clSetUserEventStatus;
1196*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReadBufferRect clEnqueueReadBufferRect;
1197*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueWriteBufferRect clEnqueueWriteBufferRect;
1198*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueCopyBufferRect clEnqueueCopyBufferRect;
1199*61046927SAndroid Build Coastguard Worker 
1200*61046927SAndroid Build Coastguard Worker   /* cl_ext_device_fission */
1201*61046927SAndroid Build Coastguard Worker   cl_api_clCreateSubDevicesEXT clCreateSubDevicesEXT;
1202*61046927SAndroid Build Coastguard Worker   cl_api_clRetainDeviceEXT clRetainDeviceEXT;
1203*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseDeviceEXT clReleaseDeviceEXT;
1204*61046927SAndroid Build Coastguard Worker 
1205*61046927SAndroid Build Coastguard Worker   /* cl_khr_gl_event */
1206*61046927SAndroid Build Coastguard Worker   cl_api_clCreateEventFromGLsyncKHR clCreateEventFromGLsyncKHR;
1207*61046927SAndroid Build Coastguard Worker 
1208*61046927SAndroid Build Coastguard Worker   /* OpenCL 1.2 */
1209*61046927SAndroid Build Coastguard Worker   cl_api_clCreateSubDevices clCreateSubDevices;
1210*61046927SAndroid Build Coastguard Worker   cl_api_clRetainDevice clRetainDevice;
1211*61046927SAndroid Build Coastguard Worker   cl_api_clReleaseDevice clReleaseDevice;
1212*61046927SAndroid Build Coastguard Worker   cl_api_clCreateImage clCreateImage;
1213*61046927SAndroid Build Coastguard Worker   cl_api_clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels;
1214*61046927SAndroid Build Coastguard Worker   cl_api_clCompileProgram clCompileProgram;
1215*61046927SAndroid Build Coastguard Worker   cl_api_clLinkProgram clLinkProgram;
1216*61046927SAndroid Build Coastguard Worker   cl_api_clUnloadPlatformCompiler clUnloadPlatformCompiler;
1217*61046927SAndroid Build Coastguard Worker   cl_api_clGetKernelArgInfo clGetKernelArgInfo;
1218*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueFillBuffer clEnqueueFillBuffer;
1219*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueFillImage clEnqueueFillImage;
1220*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects;
1221*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList;
1222*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList;
1223*61046927SAndroid Build Coastguard Worker   cl_api_clGetExtensionFunctionAddressForPlatform
1224*61046927SAndroid Build Coastguard Worker       clGetExtensionFunctionAddressForPlatform;
1225*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromGLTexture clCreateFromGLTexture;
1226*61046927SAndroid Build Coastguard Worker 
1227*61046927SAndroid Build Coastguard Worker   /* cl_khr_d3d11_sharing */
1228*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceIDsFromD3D11KHR clGetDeviceIDsFromD3D11KHR;
1229*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D11BufferKHR clCreateFromD3D11BufferKHR;
1230*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D11Texture2DKHR clCreateFromD3D11Texture2DKHR;
1231*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromD3D11Texture3DKHR clCreateFromD3D11Texture3DKHR;
1232*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromDX9MediaSurfaceKHR clCreateFromDX9MediaSurfaceKHR;
1233*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueAcquireD3D11ObjectsKHR clEnqueueAcquireD3D11ObjectsKHR;
1234*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReleaseD3D11ObjectsKHR clEnqueueReleaseD3D11ObjectsKHR;
1235*61046927SAndroid Build Coastguard Worker 
1236*61046927SAndroid Build Coastguard Worker   /* cl_khr_dx9_media_sharing */
1237*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR
1238*61046927SAndroid Build Coastguard Worker       clGetDeviceIDsFromDX9MediaAdapterKHR;
1239*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueAcquireDX9MediaSurfacesKHR
1240*61046927SAndroid Build Coastguard Worker       clEnqueueAcquireDX9MediaSurfacesKHR;
1241*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReleaseDX9MediaSurfacesKHR
1242*61046927SAndroid Build Coastguard Worker       clEnqueueReleaseDX9MediaSurfacesKHR;
1243*61046927SAndroid Build Coastguard Worker 
1244*61046927SAndroid Build Coastguard Worker   /* cl_khr_egl_image */
1245*61046927SAndroid Build Coastguard Worker   cl_api_clCreateFromEGLImageKHR clCreateFromEGLImageKHR;
1246*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueAcquireEGLObjectsKHR clEnqueueAcquireEGLObjectsKHR;
1247*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueReleaseEGLObjectsKHR clEnqueueReleaseEGLObjectsKHR;
1248*61046927SAndroid Build Coastguard Worker 
1249*61046927SAndroid Build Coastguard Worker   /* cl_khr_egl_event */
1250*61046927SAndroid Build Coastguard Worker   cl_api_clCreateEventFromEGLSyncKHR clCreateEventFromEGLSyncKHR;
1251*61046927SAndroid Build Coastguard Worker 
1252*61046927SAndroid Build Coastguard Worker   /* OpenCL 2.0 */
1253*61046927SAndroid Build Coastguard Worker   cl_api_clCreateCommandQueueWithProperties clCreateCommandQueueWithProperties;
1254*61046927SAndroid Build Coastguard Worker   cl_api_clCreatePipe clCreatePipe;
1255*61046927SAndroid Build Coastguard Worker   cl_api_clGetPipeInfo clGetPipeInfo;
1256*61046927SAndroid Build Coastguard Worker   cl_api_clSVMAlloc clSVMAlloc;
1257*61046927SAndroid Build Coastguard Worker   cl_api_clSVMFree clSVMFree;
1258*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMFree clEnqueueSVMFree;
1259*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMMemcpy clEnqueueSVMMemcpy;
1260*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMMemFill clEnqueueSVMMemFill;
1261*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMMap clEnqueueSVMMap;
1262*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMUnmap clEnqueueSVMUnmap;
1263*61046927SAndroid Build Coastguard Worker   cl_api_clCreateSamplerWithProperties clCreateSamplerWithProperties;
1264*61046927SAndroid Build Coastguard Worker   cl_api_clSetKernelArgSVMPointer clSetKernelArgSVMPointer;
1265*61046927SAndroid Build Coastguard Worker   cl_api_clSetKernelExecInfo clSetKernelExecInfo;
1266*61046927SAndroid Build Coastguard Worker 
1267*61046927SAndroid Build Coastguard Worker   /* cl_khr_sub_groups */
1268*61046927SAndroid Build Coastguard Worker   cl_api_clGetKernelSubGroupInfoKHR clGetKernelSubGroupInfoKHR;
1269*61046927SAndroid Build Coastguard Worker 
1270*61046927SAndroid Build Coastguard Worker   /* OpenCL 2.1 */
1271*61046927SAndroid Build Coastguard Worker   cl_api_clCloneKernel clCloneKernel;
1272*61046927SAndroid Build Coastguard Worker   cl_api_clCreateProgramWithIL clCreateProgramWithIL;
1273*61046927SAndroid Build Coastguard Worker   cl_api_clEnqueueSVMMigrateMem clEnqueueSVMMigrateMem;
1274*61046927SAndroid Build Coastguard Worker   cl_api_clGetDeviceAndHostTimer clGetDeviceAndHostTimer;
1275*61046927SAndroid Build Coastguard Worker   cl_api_clGetHostTimer clGetHostTimer;
1276*61046927SAndroid Build Coastguard Worker   cl_api_clGetKernelSubGroupInfo clGetKernelSubGroupInfo;
1277*61046927SAndroid Build Coastguard Worker   cl_api_clSetDefaultDeviceCommandQueue clSetDefaultDeviceCommandQueue;
1278*61046927SAndroid Build Coastguard Worker 
1279*61046927SAndroid Build Coastguard Worker   /* OpenCL 2.2 */
1280*61046927SAndroid Build Coastguard Worker   cl_api_clSetProgramReleaseCallback clSetProgramReleaseCallback;
1281*61046927SAndroid Build Coastguard Worker   cl_api_clSetProgramSpecializationConstant clSetProgramSpecializationConstant;
1282*61046927SAndroid Build Coastguard Worker 
1283*61046927SAndroid Build Coastguard Worker   /* OpenCL 3.0 */
1284*61046927SAndroid Build Coastguard Worker   cl_api_clCreateBufferWithProperties clCreateBufferWithProperties;
1285*61046927SAndroid Build Coastguard Worker   cl_api_clCreateImageWithProperties clCreateImageWithProperties;
1286*61046927SAndroid Build Coastguard Worker   cl_api_clSetContextDestructorCallback clSetContextDestructorCallback;
1287*61046927SAndroid Build Coastguard Worker 
1288*61046927SAndroid Build Coastguard Worker } cl_icd_dispatch;
1289*61046927SAndroid Build Coastguard Worker 
1290*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
1291*61046927SAndroid Build Coastguard Worker }
1292*61046927SAndroid Build Coastguard Worker #endif
1293*61046927SAndroid Build Coastguard Worker 
1294*61046927SAndroid Build Coastguard Worker #endif /* #ifndef OPENCL_CL_ICD_H */
1295