xref: /aosp_15_r20/external/OpenCL-ICD-Loader/scripts/icd_print_layer_generated.c.mako (revision 1cddb830dba8aa7c1cc1039338e56b3b9fa24952)
1*1cddb830SAndroid Build Coastguard Worker/*
2*1cddb830SAndroid Build Coastguard Worker * Copyright (c) 2020 The Khronos Group Inc.
3*1cddb830SAndroid Build Coastguard Worker *
4*1cddb830SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*1cddb830SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*1cddb830SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*1cddb830SAndroid Build Coastguard Worker *
8*1cddb830SAndroid Build Coastguard Worker *     http://www.apache.org/licenses/LICENSE-2.0
9*1cddb830SAndroid Build Coastguard Worker *
10*1cddb830SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*1cddb830SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*1cddb830SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*1cddb830SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*1cddb830SAndroid Build Coastguard Worker * limitations under the License.
15*1cddb830SAndroid Build Coastguard Worker *
16*1cddb830SAndroid Build Coastguard Worker * OpenCL is a trademark of Apple Inc. used under license by Khronos.
17*1cddb830SAndroid Build Coastguard Worker */
18*1cddb830SAndroid Build Coastguard Worker
19*1cddb830SAndroid Build Coastguard Worker#include "icd_print_layer.h"
20*1cddb830SAndroid Build Coastguard Worker
21*1cddb830SAndroid Build Coastguard Worker///////////////////////////////////////////////////////////////////////////////
22*1cddb830SAndroid Build Coastguard Worker// Core APIs:
23*1cddb830SAndroid Build Coastguard Worker%for apis in coreapis.values():
24*1cddb830SAndroid Build Coastguard Worker%for api in apis:
25*1cddb830SAndroid Build Coastguard Workerstatic ${api.RetType} CL_API_CALL ${api.Name + "_wrap"}(
26*1cddb830SAndroid Build Coastguard Worker%for i, param in enumerate(api.Params):
27*1cddb830SAndroid Build Coastguard Worker%  if i < len(api.Params)-1:
28*1cddb830SAndroid Build Coastguard Worker    ${param.Type} ${param.Name}${param.TypeEnd},
29*1cddb830SAndroid Build Coastguard Worker%  else:
30*1cddb830SAndroid Build Coastguard Worker    ${param.Type} ${param.Name}${param.TypeEnd}) ${api.Suffix}
31*1cddb830SAndroid Build Coastguard Worker%  endif
32*1cddb830SAndroid Build Coastguard Worker%endfor
33*1cddb830SAndroid Build Coastguard Worker{
34*1cddb830SAndroid Build Coastguard Workerprintf("${api.Name}\n");
35*1cddb830SAndroid Build Coastguard Worker%  if api.Name == "clSVMFree":
36*1cddb830SAndroid Build Coastguard Workertdispatch->${api.Name}(
37*1cddb830SAndroid Build Coastguard Worker%  else:
38*1cddb830SAndroid Build Coastguard Workerreturn tdispatch->${api.Name}(
39*1cddb830SAndroid Build Coastguard Worker%  endif
40*1cddb830SAndroid Build Coastguard Worker%for i, param in enumerate(api.Params):
41*1cddb830SAndroid Build Coastguard Worker%  if i < len(api.Params)-1:
42*1cddb830SAndroid Build Coastguard Worker            ${param.Name},
43*1cddb830SAndroid Build Coastguard Worker%  else:
44*1cddb830SAndroid Build Coastguard Worker            ${param.Name});
45*1cddb830SAndroid Build Coastguard Worker%  endif
46*1cddb830SAndroid Build Coastguard Worker%endfor
47*1cddb830SAndroid Build Coastguard Worker}
48*1cddb830SAndroid Build Coastguard Worker
49*1cddb830SAndroid Build Coastguard Worker///////////////////////////////////////////////////////////////////////////////
50*1cddb830SAndroid Build Coastguard Worker%endfor
51*1cddb830SAndroid Build Coastguard Worker%endfor
52*1cddb830SAndroid Build Coastguard Worker<%
53*1cddb830SAndroid Build Coastguard Workericdextensions = [
54*1cddb830SAndroid Build Coastguard Worker    'cl_ext_device_fission',
55*1cddb830SAndroid Build Coastguard Worker    'cl_khr_d3d10_sharing',
56*1cddb830SAndroid Build Coastguard Worker    'cl_khr_d3d11_sharing',
57*1cddb830SAndroid Build Coastguard Worker    'cl_khr_dx9_media_sharing',
58*1cddb830SAndroid Build Coastguard Worker    'cl_khr_egl_event',
59*1cddb830SAndroid Build Coastguard Worker    'cl_khr_egl_image',
60*1cddb830SAndroid Build Coastguard Worker    'cl_khr_gl_event',
61*1cddb830SAndroid Build Coastguard Worker    'cl_khr_gl_sharing',
62*1cddb830SAndroid Build Coastguard Worker    'cl_khr_subgroups'
63*1cddb830SAndroid Build Coastguard Worker    ]
64*1cddb830SAndroid Build Coastguard Workerwin32extensions = {
65*1cddb830SAndroid Build Coastguard Worker    'cl_khr_d3d10_sharing',
66*1cddb830SAndroid Build Coastguard Worker    'cl_khr_d3d11_sharing',
67*1cddb830SAndroid Build Coastguard Worker    'cl_khr_dx9_media_sharing',
68*1cddb830SAndroid Build Coastguard Worker    }
69*1cddb830SAndroid Build Coastguard Worker%>
70*1cddb830SAndroid Build Coastguard Worker%for extension in icdextensions:
71*1cddb830SAndroid Build Coastguard Worker<%
72*1cddb830SAndroid Build Coastguard Worker    apis = extapis[extension]
73*1cddb830SAndroid Build Coastguard Worker%>// ${extension}
74*1cddb830SAndroid Build Coastguard Worker%if extension in win32extensions:
75*1cddb830SAndroid Build Coastguard Worker
76*1cddb830SAndroid Build Coastguard Worker#if defined(_WIN32)
77*1cddb830SAndroid Build Coastguard Worker%endif
78*1cddb830SAndroid Build Coastguard Worker%for api in apis:
79*1cddb830SAndroid Build Coastguard Workerstatic ${api.RetType} CL_API_CALL ${api.Name + "_wrap"}(
80*1cddb830SAndroid Build Coastguard Worker%for i, param in enumerate(api.Params):
81*1cddb830SAndroid Build Coastguard Worker%  if i < len(api.Params)-1:
82*1cddb830SAndroid Build Coastguard Worker    ${param.Type} ${param.Name}${param.TypeEnd},
83*1cddb830SAndroid Build Coastguard Worker%  else:
84*1cddb830SAndroid Build Coastguard Worker    ${param.Type} ${param.Name}${param.TypeEnd}) ${api.Suffix}
85*1cddb830SAndroid Build Coastguard Worker%  endif
86*1cddb830SAndroid Build Coastguard Worker%endfor
87*1cddb830SAndroid Build Coastguard Worker{
88*1cddb830SAndroid Build Coastguard Workerprintf("${api.Name}\n");
89*1cddb830SAndroid Build Coastguard Workerreturn tdispatch->${api.Name}(
90*1cddb830SAndroid Build Coastguard Worker%for i, param in enumerate(api.Params):
91*1cddb830SAndroid Build Coastguard Worker%  if i < len(api.Params)-1:
92*1cddb830SAndroid Build Coastguard Worker            ${param.Name},
93*1cddb830SAndroid Build Coastguard Worker%  else:
94*1cddb830SAndroid Build Coastguard Worker            ${param.Name});
95*1cddb830SAndroid Build Coastguard Worker%  endif
96*1cddb830SAndroid Build Coastguard Worker%endfor
97*1cddb830SAndroid Build Coastguard Worker}
98*1cddb830SAndroid Build Coastguard Worker%endfor
99*1cddb830SAndroid Build Coastguard Worker
100*1cddb830SAndroid Build Coastguard Worker%if extension in win32extensions:
101*1cddb830SAndroid Build Coastguard Worker#endif // defined(_WIN32)
102*1cddb830SAndroid Build Coastguard Worker
103*1cddb830SAndroid Build Coastguard Worker%endif
104*1cddb830SAndroid Build Coastguard Worker///////////////////////////////////////////////////////////////////////////////
105*1cddb830SAndroid Build Coastguard Worker
106*1cddb830SAndroid Build Coastguard Worker%endfor
107*1cddb830SAndroid Build Coastguard Workervoid _init_dispatch(void) {
108*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetPlatformIDs = &clGetPlatformIDs_wrap;
109*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetPlatformInfo = &clGetPlatformInfo_wrap;
110*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDs = &clGetDeviceIDs_wrap;
111*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceInfo = &clGetDeviceInfo_wrap;
112*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateContext = &clCreateContext_wrap;
113*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateContextFromType = &clCreateContextFromType_wrap;
114*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainContext = &clRetainContext_wrap;
115*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseContext = &clReleaseContext_wrap;
116*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetContextInfo = &clGetContextInfo_wrap;
117*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateCommandQueue = &clCreateCommandQueue_wrap;
118*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainCommandQueue = &clRetainCommandQueue_wrap;
119*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseCommandQueue = &clReleaseCommandQueue_wrap;
120*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetCommandQueueInfo = &clGetCommandQueueInfo_wrap;
121*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetCommandQueueProperty = &clSetCommandQueueProperty_wrap;
122*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateBuffer = &clCreateBuffer_wrap;
123*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateImage2D = &clCreateImage2D_wrap;
124*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateImage3D = &clCreateImage3D_wrap;
125*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainMemObject = &clRetainMemObject_wrap;
126*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseMemObject = &clReleaseMemObject_wrap;
127*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetSupportedImageFormats = &clGetSupportedImageFormats_wrap;
128*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetMemObjectInfo = &clGetMemObjectInfo_wrap;
129*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetImageInfo = &clGetImageInfo_wrap;
130*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateSampler = &clCreateSampler_wrap;
131*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainSampler = &clRetainSampler_wrap;
132*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseSampler = &clReleaseSampler_wrap;
133*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetSamplerInfo = &clGetSamplerInfo_wrap;
134*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateProgramWithSource = &clCreateProgramWithSource_wrap;
135*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateProgramWithBinary = &clCreateProgramWithBinary_wrap;
136*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainProgram = &clRetainProgram_wrap;
137*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseProgram = &clReleaseProgram_wrap;
138*1cddb830SAndroid Build Coastguard Worker    dispatch.clBuildProgram = &clBuildProgram_wrap;
139*1cddb830SAndroid Build Coastguard Worker    dispatch.clUnloadCompiler = &clUnloadCompiler_wrap;
140*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetProgramInfo = &clGetProgramInfo_wrap;
141*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetProgramBuildInfo = &clGetProgramBuildInfo_wrap;
142*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateKernel = &clCreateKernel_wrap;
143*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateKernelsInProgram = &clCreateKernelsInProgram_wrap;
144*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainKernel = &clRetainKernel_wrap;
145*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseKernel = &clReleaseKernel_wrap;
146*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetKernelArg = &clSetKernelArg_wrap;
147*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetKernelInfo = &clGetKernelInfo_wrap;
148*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetKernelWorkGroupInfo = &clGetKernelWorkGroupInfo_wrap;
149*1cddb830SAndroid Build Coastguard Worker    dispatch.clWaitForEvents = &clWaitForEvents_wrap;
150*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetEventInfo = &clGetEventInfo_wrap;
151*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainEvent = &clRetainEvent_wrap;
152*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseEvent = &clReleaseEvent_wrap;
153*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetEventProfilingInfo = &clGetEventProfilingInfo_wrap;
154*1cddb830SAndroid Build Coastguard Worker    dispatch.clFlush = &clFlush_wrap;
155*1cddb830SAndroid Build Coastguard Worker    dispatch.clFinish = &clFinish_wrap;
156*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReadBuffer = &clEnqueueReadBuffer_wrap;
157*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueWriteBuffer = &clEnqueueWriteBuffer_wrap;
158*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueCopyBuffer = &clEnqueueCopyBuffer_wrap;
159*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReadImage = &clEnqueueReadImage_wrap;
160*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueWriteImage = &clEnqueueWriteImage_wrap;
161*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueCopyImage = &clEnqueueCopyImage_wrap;
162*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueCopyImageToBuffer = &clEnqueueCopyImageToBuffer_wrap;
163*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueCopyBufferToImage = &clEnqueueCopyBufferToImage_wrap;
164*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueMapBuffer = &clEnqueueMapBuffer_wrap;
165*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueMapImage = &clEnqueueMapImage_wrap;
166*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueUnmapMemObject = &clEnqueueUnmapMemObject_wrap;
167*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueNDRangeKernel = &clEnqueueNDRangeKernel_wrap;
168*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueTask = &clEnqueueTask_wrap;
169*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueNativeKernel = &clEnqueueNativeKernel_wrap;
170*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueMarker = &clEnqueueMarker_wrap;
171*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueWaitForEvents = &clEnqueueWaitForEvents_wrap;
172*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueBarrier = &clEnqueueBarrier_wrap;
173*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetExtensionFunctionAddress = &clGetExtensionFunctionAddress_wrap;
174*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromGLBuffer = &clCreateFromGLBuffer_wrap;
175*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromGLTexture2D = &clCreateFromGLTexture2D_wrap;
176*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromGLTexture3D = &clCreateFromGLTexture3D_wrap;
177*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromGLRenderbuffer = &clCreateFromGLRenderbuffer_wrap;
178*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetGLObjectInfo = &clGetGLObjectInfo_wrap;
179*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetGLTextureInfo = &clGetGLTextureInfo_wrap;
180*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireGLObjects = &clEnqueueAcquireGLObjects_wrap;
181*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseGLObjects = &clEnqueueReleaseGLObjects_wrap;
182*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetGLContextInfoKHR = &clGetGLContextInfoKHR_wrap;
183*1cddb830SAndroid Build Coastguard Worker
184*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_d3d10_sharing */
185*1cddb830SAndroid Build Coastguard Worker#if defined(_WIN32)
186*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromD3D10KHR = &clGetDeviceIDsFromD3D10KHR_wrap;
187*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10BufferKHR = &clCreateFromD3D10BufferKHR_wrap;
188*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10Texture2DKHR = &clCreateFromD3D10Texture2DKHR_wrap;
189*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10Texture3DKHR = &clCreateFromD3D10Texture3DKHR_wrap;
190*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireD3D10ObjectsKHR = &clEnqueueAcquireD3D10ObjectsKHR_wrap;
191*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseD3D10ObjectsKHR = &clEnqueueReleaseD3D10ObjectsKHR_wrap;
192*1cddb830SAndroid Build Coastguard Worker#else
193*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromD3D10KHR = NULL;
194*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10BufferKHR = NULL;
195*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10Texture2DKHR = NULL;
196*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D10Texture3DKHR = NULL;
197*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireD3D10ObjectsKHR = NULL;
198*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseD3D10ObjectsKHR = NULL;
199*1cddb830SAndroid Build Coastguard Worker#endif
200*1cddb830SAndroid Build Coastguard Worker
201*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 1.1 */
202*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetEventCallback = &clSetEventCallback_wrap;
203*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateSubBuffer = &clCreateSubBuffer_wrap;
204*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetMemObjectDestructorCallback = &clSetMemObjectDestructorCallback_wrap;
205*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateUserEvent = &clCreateUserEvent_wrap;
206*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetUserEventStatus = &clSetUserEventStatus_wrap;
207*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReadBufferRect = &clEnqueueReadBufferRect_wrap;
208*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueWriteBufferRect = &clEnqueueWriteBufferRect_wrap;
209*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueCopyBufferRect = &clEnqueueCopyBufferRect_wrap;
210*1cddb830SAndroid Build Coastguard Worker
211*1cddb830SAndroid Build Coastguard Worker  /* cl_ext_device_fission */
212*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateSubDevicesEXT = &clCreateSubDevicesEXT_wrap;
213*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainDeviceEXT = &clRetainDeviceEXT_wrap;
214*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseDeviceEXT = &clReleaseDeviceEXT_wrap;
215*1cddb830SAndroid Build Coastguard Worker
216*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_gl_event */
217*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateEventFromGLsyncKHR = &clCreateEventFromGLsyncKHR_wrap;
218*1cddb830SAndroid Build Coastguard Worker
219*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 1.2 */
220*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateSubDevices = &clCreateSubDevices_wrap;
221*1cddb830SAndroid Build Coastguard Worker    dispatch.clRetainDevice = &clRetainDevice_wrap;
222*1cddb830SAndroid Build Coastguard Worker    dispatch.clReleaseDevice = &clReleaseDevice_wrap;
223*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateImage = &clCreateImage_wrap;
224*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateProgramWithBuiltInKernels = &clCreateProgramWithBuiltInKernels_wrap;
225*1cddb830SAndroid Build Coastguard Worker    dispatch.clCompileProgram = &clCompileProgram_wrap;
226*1cddb830SAndroid Build Coastguard Worker    dispatch.clLinkProgram = &clLinkProgram_wrap;
227*1cddb830SAndroid Build Coastguard Worker    dispatch.clUnloadPlatformCompiler = &clUnloadPlatformCompiler_wrap;
228*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetKernelArgInfo = &clGetKernelArgInfo_wrap;
229*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueFillBuffer = &clEnqueueFillBuffer_wrap;
230*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueFillImage = &clEnqueueFillImage_wrap;
231*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueMigrateMemObjects = &clEnqueueMigrateMemObjects_wrap;
232*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueMarkerWithWaitList = &clEnqueueMarkerWithWaitList_wrap;
233*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueBarrierWithWaitList = &clEnqueueBarrierWithWaitList_wrap;
234*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetExtensionFunctionAddressForPlatform = &clGetExtensionFunctionAddressForPlatform_wrap;
235*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromGLTexture = &clCreateFromGLTexture_wrap;
236*1cddb830SAndroid Build Coastguard Worker
237*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_d3d11_sharing */
238*1cddb830SAndroid Build Coastguard Worker#if defined(_WIN32)
239*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromD3D11KHR = &clGetDeviceIDsFromD3D11KHR_wrap;
240*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11BufferKHR = &clCreateFromD3D11BufferKHR_wrap;
241*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11Texture2DKHR = &clCreateFromD3D11Texture2DKHR_wrap;
242*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11Texture3DKHR = &clCreateFromD3D11Texture3DKHR_wrap;
243*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromDX9MediaSurfaceKHR = &clCreateFromDX9MediaSurfaceKHR_wrap;
244*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireD3D11ObjectsKHR = &clEnqueueAcquireD3D11ObjectsKHR_wrap;
245*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseD3D11ObjectsKHR = &clEnqueueReleaseD3D11ObjectsKHR_wrap;
246*1cddb830SAndroid Build Coastguard Worker#else
247*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromD3D11KHR = NULL;
248*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11BufferKHR = NULL;
249*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11Texture2DKHR = NULL;
250*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromD3D11Texture3DKHR = NULL;
251*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromDX9MediaSurfaceKHR = NULL;
252*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireD3D11ObjectsKHR = NULL;
253*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseD3D11ObjectsKHR = NULL;
254*1cddb830SAndroid Build Coastguard Worker#endif
255*1cddb830SAndroid Build Coastguard Worker
256*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_dx9_media_sharing */
257*1cddb830SAndroid Build Coastguard Worker#if defined(_WIN32)
258*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromDX9MediaAdapterKHR = &clGetDeviceIDsFromDX9MediaAdapterKHR_wrap;
259*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireDX9MediaSurfacesKHR = &clEnqueueAcquireDX9MediaSurfacesKHR_wrap;
260*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseDX9MediaSurfacesKHR = &clEnqueueReleaseDX9MediaSurfacesKHR_wrap;
261*1cddb830SAndroid Build Coastguard Worker#else
262*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceIDsFromDX9MediaAdapterKHR = NULL;
263*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireDX9MediaSurfacesKHR = NULL;
264*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseDX9MediaSurfacesKHR = NULL;
265*1cddb830SAndroid Build Coastguard Worker#endif
266*1cddb830SAndroid Build Coastguard Worker
267*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_egl_image */
268*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateFromEGLImageKHR = &clCreateFromEGLImageKHR_wrap;
269*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueAcquireEGLObjectsKHR = &clEnqueueAcquireEGLObjectsKHR_wrap;
270*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueReleaseEGLObjectsKHR = &clEnqueueReleaseEGLObjectsKHR_wrap;
271*1cddb830SAndroid Build Coastguard Worker
272*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_egl_event */
273*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateEventFromEGLSyncKHR = &clCreateEventFromEGLSyncKHR_wrap;
274*1cddb830SAndroid Build Coastguard Worker
275*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 2.0 */
276*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateCommandQueueWithProperties = &clCreateCommandQueueWithProperties_wrap;
277*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreatePipe = &clCreatePipe_wrap;
278*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetPipeInfo = &clGetPipeInfo_wrap;
279*1cddb830SAndroid Build Coastguard Worker    dispatch.clSVMAlloc = &clSVMAlloc_wrap;
280*1cddb830SAndroid Build Coastguard Worker    dispatch.clSVMFree = &clSVMFree_wrap;
281*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMFree = &clEnqueueSVMFree_wrap;
282*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMMemcpy = &clEnqueueSVMMemcpy_wrap;
283*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMMemFill = &clEnqueueSVMMemFill_wrap;
284*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMMap = &clEnqueueSVMMap_wrap;
285*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMUnmap = &clEnqueueSVMUnmap_wrap;
286*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateSamplerWithProperties = &clCreateSamplerWithProperties_wrap;
287*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetKernelArgSVMPointer = &clSetKernelArgSVMPointer_wrap;
288*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetKernelExecInfo = &clSetKernelExecInfo_wrap;
289*1cddb830SAndroid Build Coastguard Worker
290*1cddb830SAndroid Build Coastguard Worker  /* cl_khr_sub_groups */
291*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetKernelSubGroupInfoKHR = &clGetKernelSubGroupInfoKHR_wrap;
292*1cddb830SAndroid Build Coastguard Worker
293*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 2.1 */
294*1cddb830SAndroid Build Coastguard Worker    dispatch.clCloneKernel = &clCloneKernel_wrap;
295*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateProgramWithIL = &clCreateProgramWithIL_wrap;
296*1cddb830SAndroid Build Coastguard Worker    dispatch.clEnqueueSVMMigrateMem = &clEnqueueSVMMigrateMem_wrap;
297*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetDeviceAndHostTimer = &clGetDeviceAndHostTimer_wrap;
298*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetHostTimer = &clGetHostTimer_wrap;
299*1cddb830SAndroid Build Coastguard Worker    dispatch.clGetKernelSubGroupInfo = &clGetKernelSubGroupInfo_wrap;
300*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetDefaultDeviceCommandQueue = &clSetDefaultDeviceCommandQueue_wrap;
301*1cddb830SAndroid Build Coastguard Worker
302*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 2.2 */
303*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetProgramReleaseCallback = &clSetProgramReleaseCallback_wrap;
304*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetProgramSpecializationConstant = &clSetProgramSpecializationConstant_wrap;
305*1cddb830SAndroid Build Coastguard Worker
306*1cddb830SAndroid Build Coastguard Worker  /* OpenCL 3.0 */
307*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateBufferWithProperties = &clCreateBufferWithProperties_wrap;
308*1cddb830SAndroid Build Coastguard Worker    dispatch.clCreateImageWithProperties = &clCreateImageWithProperties_wrap;
309*1cddb830SAndroid Build Coastguard Worker    dispatch.clSetContextDestructorCallback = &clSetContextDestructorCallback_wrap;
310*1cddb830SAndroid Build Coastguard Worker}
311