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