1*8975f5c5SAndroid Build Coastguard Worker /******************************************************************************* 2*8975f5c5SAndroid Build Coastguard Worker * Copyright (c) 2019-2020 The Khronos Group Inc. 3*8975f5c5SAndroid Build Coastguard Worker * 4*8975f5c5SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*8975f5c5SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*8975f5c5SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*8975f5c5SAndroid Build Coastguard Worker * 8*8975f5c5SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*8975f5c5SAndroid Build Coastguard Worker * 10*8975f5c5SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*8975f5c5SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*8975f5c5SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*8975f5c5SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*8975f5c5SAndroid Build Coastguard Worker * limitations under the License. 15*8975f5c5SAndroid Build Coastguard Worker ******************************************************************************/ 16*8975f5c5SAndroid Build Coastguard Worker 17*8975f5c5SAndroid Build Coastguard Worker #ifndef OPENCL_CL_ICD_H 18*8975f5c5SAndroid Build Coastguard Worker #define OPENCL_CL_ICD_H 19*8975f5c5SAndroid Build Coastguard Worker 20*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl.h> 21*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_function_types.h> 22*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_egl.h> 23*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_ext.h> 24*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_gl.h> 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Worker #if defined(_WIN32) 27*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_d3d11.h> 28*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_d3d10.h> 29*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_dx9_media_sharing.h> 30*8975f5c5SAndroid Build Coastguard Worker #endif 31*8975f5c5SAndroid Build Coastguard Worker 32*8975f5c5SAndroid Build Coastguard Worker #ifdef __cplusplus 33*8975f5c5SAndroid Build Coastguard Worker extern "C" { 34*8975f5c5SAndroid Build Coastguard Worker #endif 35*8975f5c5SAndroid Build Coastguard Worker 36*8975f5c5SAndroid Build Coastguard Worker /* Vendor dispatch table structure */ 37*8975f5c5SAndroid Build Coastguard Worker 38*8975f5c5SAndroid Build Coastguard Worker typedef struct _cl_icd_dispatch { 39*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 1.0 */ 40*8975f5c5SAndroid Build Coastguard Worker clGetPlatformIDs_t *clGetPlatformIDs; 41*8975f5c5SAndroid Build Coastguard Worker clGetPlatformInfo_t *clGetPlatformInfo; 42*8975f5c5SAndroid Build Coastguard Worker clGetDeviceIDs_t *clGetDeviceIDs; 43*8975f5c5SAndroid Build Coastguard Worker clGetDeviceInfo_t *clGetDeviceInfo; 44*8975f5c5SAndroid Build Coastguard Worker clCreateContext_t *clCreateContext; 45*8975f5c5SAndroid Build Coastguard Worker clCreateContextFromType_t *clCreateContextFromType; 46*8975f5c5SAndroid Build Coastguard Worker clRetainContext_t *clRetainContext; 47*8975f5c5SAndroid Build Coastguard Worker clReleaseContext_t *clReleaseContext; 48*8975f5c5SAndroid Build Coastguard Worker clGetContextInfo_t *clGetContextInfo; 49*8975f5c5SAndroid Build Coastguard Worker clCreateCommandQueue_t *clCreateCommandQueue; 50*8975f5c5SAndroid Build Coastguard Worker clRetainCommandQueue_t *clRetainCommandQueue; 51*8975f5c5SAndroid Build Coastguard Worker clReleaseCommandQueue_t *clReleaseCommandQueue; 52*8975f5c5SAndroid Build Coastguard Worker clGetCommandQueueInfo_t *clGetCommandQueueInfo; 53*8975f5c5SAndroid Build Coastguard Worker clSetCommandQueueProperty_t *clSetCommandQueueProperty; 54*8975f5c5SAndroid Build Coastguard Worker clCreateBuffer_t *clCreateBuffer; 55*8975f5c5SAndroid Build Coastguard Worker clCreateImage2D_t *clCreateImage2D; 56*8975f5c5SAndroid Build Coastguard Worker clCreateImage3D_t *clCreateImage3D; 57*8975f5c5SAndroid Build Coastguard Worker clRetainMemObject_t *clRetainMemObject; 58*8975f5c5SAndroid Build Coastguard Worker clReleaseMemObject_t *clReleaseMemObject; 59*8975f5c5SAndroid Build Coastguard Worker clGetSupportedImageFormats_t *clGetSupportedImageFormats; 60*8975f5c5SAndroid Build Coastguard Worker clGetMemObjectInfo_t *clGetMemObjectInfo; 61*8975f5c5SAndroid Build Coastguard Worker clGetImageInfo_t *clGetImageInfo; 62*8975f5c5SAndroid Build Coastguard Worker clCreateSampler_t *clCreateSampler; 63*8975f5c5SAndroid Build Coastguard Worker clRetainSampler_t *clRetainSampler; 64*8975f5c5SAndroid Build Coastguard Worker clReleaseSampler_t *clReleaseSampler; 65*8975f5c5SAndroid Build Coastguard Worker clGetSamplerInfo_t *clGetSamplerInfo; 66*8975f5c5SAndroid Build Coastguard Worker clCreateProgramWithSource_t *clCreateProgramWithSource; 67*8975f5c5SAndroid Build Coastguard Worker clCreateProgramWithBinary_t *clCreateProgramWithBinary; 68*8975f5c5SAndroid Build Coastguard Worker clRetainProgram_t *clRetainProgram; 69*8975f5c5SAndroid Build Coastguard Worker clReleaseProgram_t *clReleaseProgram; 70*8975f5c5SAndroid Build Coastguard Worker clBuildProgram_t *clBuildProgram; 71*8975f5c5SAndroid Build Coastguard Worker clUnloadCompiler_t *clUnloadCompiler; 72*8975f5c5SAndroid Build Coastguard Worker clGetProgramInfo_t *clGetProgramInfo; 73*8975f5c5SAndroid Build Coastguard Worker clGetProgramBuildInfo_t *clGetProgramBuildInfo; 74*8975f5c5SAndroid Build Coastguard Worker clCreateKernel_t *clCreateKernel; 75*8975f5c5SAndroid Build Coastguard Worker clCreateKernelsInProgram_t *clCreateKernelsInProgram; 76*8975f5c5SAndroid Build Coastguard Worker clRetainKernel_t *clRetainKernel; 77*8975f5c5SAndroid Build Coastguard Worker clReleaseKernel_t *clReleaseKernel; 78*8975f5c5SAndroid Build Coastguard Worker clSetKernelArg_t *clSetKernelArg; 79*8975f5c5SAndroid Build Coastguard Worker clGetKernelInfo_t *clGetKernelInfo; 80*8975f5c5SAndroid Build Coastguard Worker clGetKernelWorkGroupInfo_t *clGetKernelWorkGroupInfo; 81*8975f5c5SAndroid Build Coastguard Worker clWaitForEvents_t *clWaitForEvents; 82*8975f5c5SAndroid Build Coastguard Worker clGetEventInfo_t *clGetEventInfo; 83*8975f5c5SAndroid Build Coastguard Worker clRetainEvent_t *clRetainEvent; 84*8975f5c5SAndroid Build Coastguard Worker clReleaseEvent_t *clReleaseEvent; 85*8975f5c5SAndroid Build Coastguard Worker clGetEventProfilingInfo_t *clGetEventProfilingInfo; 86*8975f5c5SAndroid Build Coastguard Worker clFlush_t *clFlush; 87*8975f5c5SAndroid Build Coastguard Worker clFinish_t *clFinish; 88*8975f5c5SAndroid Build Coastguard Worker clEnqueueReadBuffer_t *clEnqueueReadBuffer; 89*8975f5c5SAndroid Build Coastguard Worker clEnqueueWriteBuffer_t *clEnqueueWriteBuffer; 90*8975f5c5SAndroid Build Coastguard Worker clEnqueueCopyBuffer_t *clEnqueueCopyBuffer; 91*8975f5c5SAndroid Build Coastguard Worker clEnqueueReadImage_t *clEnqueueReadImage; 92*8975f5c5SAndroid Build Coastguard Worker clEnqueueWriteImage_t *clEnqueueWriteImage; 93*8975f5c5SAndroid Build Coastguard Worker clEnqueueCopyImage_t *clEnqueueCopyImage; 94*8975f5c5SAndroid Build Coastguard Worker clEnqueueCopyImageToBuffer_t *clEnqueueCopyImageToBuffer; 95*8975f5c5SAndroid Build Coastguard Worker clEnqueueCopyBufferToImage_t *clEnqueueCopyBufferToImage; 96*8975f5c5SAndroid Build Coastguard Worker clEnqueueMapBuffer_t *clEnqueueMapBuffer; 97*8975f5c5SAndroid Build Coastguard Worker clEnqueueMapImage_t *clEnqueueMapImage; 98*8975f5c5SAndroid Build Coastguard Worker clEnqueueUnmapMemObject_t *clEnqueueUnmapMemObject; 99*8975f5c5SAndroid Build Coastguard Worker clEnqueueNDRangeKernel_t *clEnqueueNDRangeKernel; 100*8975f5c5SAndroid Build Coastguard Worker clEnqueueTask_t *clEnqueueTask; 101*8975f5c5SAndroid Build Coastguard Worker clEnqueueNativeKernel_t *clEnqueueNativeKernel; 102*8975f5c5SAndroid Build Coastguard Worker clEnqueueMarker_t *clEnqueueMarker; 103*8975f5c5SAndroid Build Coastguard Worker clEnqueueWaitForEvents_t *clEnqueueWaitForEvents; 104*8975f5c5SAndroid Build Coastguard Worker clEnqueueBarrier_t *clEnqueueBarrier; 105*8975f5c5SAndroid Build Coastguard Worker clGetExtensionFunctionAddress_t *clGetExtensionFunctionAddress; 106*8975f5c5SAndroid Build Coastguard Worker clCreateFromGLBuffer_t *clCreateFromGLBuffer; 107*8975f5c5SAndroid Build Coastguard Worker clCreateFromGLTexture2D_t *clCreateFromGLTexture2D; 108*8975f5c5SAndroid Build Coastguard Worker clCreateFromGLTexture3D_t *clCreateFromGLTexture3D; 109*8975f5c5SAndroid Build Coastguard Worker clCreateFromGLRenderbuffer_t *clCreateFromGLRenderbuffer; 110*8975f5c5SAndroid Build Coastguard Worker clGetGLObjectInfo_t *clGetGLObjectInfo; 111*8975f5c5SAndroid Build Coastguard Worker clGetGLTextureInfo_t *clGetGLTextureInfo; 112*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireGLObjects_t *clEnqueueAcquireGLObjects; 113*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseGLObjects_t *clEnqueueReleaseGLObjects; 114*8975f5c5SAndroid Build Coastguard Worker clGetGLContextInfoKHR_t *clGetGLContextInfoKHR; 115*8975f5c5SAndroid Build Coastguard Worker 116*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_d3d10_sharing */ 117*8975f5c5SAndroid Build Coastguard Worker #ifdef _WIN32 118*8975f5c5SAndroid Build Coastguard Worker clGetDeviceIDsFromD3D10KHR_t *clGetDeviceIDsFromD3D10KHR; 119*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D10BufferKHR_t *clCreateFromD3D10BufferKHR; 120*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D10Texture2DKHR_t *clCreateFromD3D10Texture2DKHR; 121*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D10Texture3DKHR_t *clCreateFromD3D10Texture3DKHR; 122*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireD3D10ObjectsKHR_t *clEnqueueAcquireD3D10ObjectsKHR; 123*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseD3D10ObjectsKHR_t *clEnqueueReleaseD3D10ObjectsKHR; 124*8975f5c5SAndroid Build Coastguard Worker #else 125*8975f5c5SAndroid Build Coastguard Worker void *clGetDeviceIDsFromD3D10KHR; 126*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D10BufferKHR; 127*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D10Texture2DKHR; 128*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D10Texture3DKHR; 129*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueAcquireD3D10ObjectsKHR; 130*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueReleaseD3D10ObjectsKHR; 131*8975f5c5SAndroid Build Coastguard Worker #endif 132*8975f5c5SAndroid Build Coastguard Worker 133*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 1.1 */ 134*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_1 135*8975f5c5SAndroid Build Coastguard Worker clSetEventCallback_t *clSetEventCallback; 136*8975f5c5SAndroid Build Coastguard Worker clCreateSubBuffer_t *clCreateSubBuffer; 137*8975f5c5SAndroid Build Coastguard Worker clSetMemObjectDestructorCallback_t *clSetMemObjectDestructorCallback; 138*8975f5c5SAndroid Build Coastguard Worker clCreateUserEvent_t *clCreateUserEvent; 139*8975f5c5SAndroid Build Coastguard Worker clSetUserEventStatus_t *clSetUserEventStatus; 140*8975f5c5SAndroid Build Coastguard Worker clEnqueueReadBufferRect_t *clEnqueueReadBufferRect; 141*8975f5c5SAndroid Build Coastguard Worker clEnqueueWriteBufferRect_t *clEnqueueWriteBufferRect; 142*8975f5c5SAndroid Build Coastguard Worker clEnqueueCopyBufferRect_t *clEnqueueCopyBufferRect; 143*8975f5c5SAndroid Build Coastguard Worker #else 144*8975f5c5SAndroid Build Coastguard Worker void *clSetEventCallback; 145*8975f5c5SAndroid Build Coastguard Worker void *clCreateSubBuffer; 146*8975f5c5SAndroid Build Coastguard Worker void *clSetMemObjectDestructorCallback; 147*8975f5c5SAndroid Build Coastguard Worker void *clCreateUserEvent; 148*8975f5c5SAndroid Build Coastguard Worker void *clSetUserEventStatus; 149*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueReadBufferRect; 150*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueWriteBufferRect; 151*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueCopyBufferRect; 152*8975f5c5SAndroid Build Coastguard Worker #endif 153*8975f5c5SAndroid Build Coastguard Worker 154*8975f5c5SAndroid Build Coastguard Worker /* cl_ext_device_fission */ 155*8975f5c5SAndroid Build Coastguard Worker clCreateSubDevicesEXT_t *clCreateSubDevicesEXT; 156*8975f5c5SAndroid Build Coastguard Worker clRetainDeviceEXT_t *clRetainDeviceEXT; 157*8975f5c5SAndroid Build Coastguard Worker clReleaseDeviceEXT_t *clReleaseDeviceEXT; 158*8975f5c5SAndroid Build Coastguard Worker 159*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_gl_event */ 160*8975f5c5SAndroid Build Coastguard Worker clCreateEventFromGLsyncKHR_t *clCreateEventFromGLsyncKHR; 161*8975f5c5SAndroid Build Coastguard Worker 162*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 1.2 */ 163*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_1_2 164*8975f5c5SAndroid Build Coastguard Worker clCreateSubDevices_t *clCreateSubDevices; 165*8975f5c5SAndroid Build Coastguard Worker clRetainDevice_t *clRetainDevice; 166*8975f5c5SAndroid Build Coastguard Worker clReleaseDevice_t *clReleaseDevice; 167*8975f5c5SAndroid Build Coastguard Worker clCreateImage_t *clCreateImage; 168*8975f5c5SAndroid Build Coastguard Worker clCreateProgramWithBuiltInKernels_t *clCreateProgramWithBuiltInKernels; 169*8975f5c5SAndroid Build Coastguard Worker clCompileProgram_t *clCompileProgram; 170*8975f5c5SAndroid Build Coastguard Worker clLinkProgram_t *clLinkProgram; 171*8975f5c5SAndroid Build Coastguard Worker clUnloadPlatformCompiler_t *clUnloadPlatformCompiler; 172*8975f5c5SAndroid Build Coastguard Worker clGetKernelArgInfo_t *clGetKernelArgInfo; 173*8975f5c5SAndroid Build Coastguard Worker clEnqueueFillBuffer_t *clEnqueueFillBuffer; 174*8975f5c5SAndroid Build Coastguard Worker clEnqueueFillImage_t *clEnqueueFillImage; 175*8975f5c5SAndroid Build Coastguard Worker clEnqueueMigrateMemObjects_t *clEnqueueMigrateMemObjects; 176*8975f5c5SAndroid Build Coastguard Worker clEnqueueMarkerWithWaitList_t *clEnqueueMarkerWithWaitList; 177*8975f5c5SAndroid Build Coastguard Worker clEnqueueBarrierWithWaitList_t *clEnqueueBarrierWithWaitList; 178*8975f5c5SAndroid Build Coastguard Worker clGetExtensionFunctionAddressForPlatform_t * 179*8975f5c5SAndroid Build Coastguard Worker clGetExtensionFunctionAddressForPlatform; 180*8975f5c5SAndroid Build Coastguard Worker clCreateFromGLTexture_t *clCreateFromGLTexture; 181*8975f5c5SAndroid Build Coastguard Worker #else 182*8975f5c5SAndroid Build Coastguard Worker void *clCreateSubDevices; 183*8975f5c5SAndroid Build Coastguard Worker void *clRetainDevice; 184*8975f5c5SAndroid Build Coastguard Worker void *clReleaseDevice; 185*8975f5c5SAndroid Build Coastguard Worker void *clCreateImage; 186*8975f5c5SAndroid Build Coastguard Worker void *clCreateProgramWithBuiltInKernels; 187*8975f5c5SAndroid Build Coastguard Worker void *clCompileProgram; 188*8975f5c5SAndroid Build Coastguard Worker void *clLinkProgram; 189*8975f5c5SAndroid Build Coastguard Worker void *clUnloadPlatformCompiler; 190*8975f5c5SAndroid Build Coastguard Worker void *clGetKernelArgInfo; 191*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueFillBuffer; 192*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueFillImage; 193*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueMigrateMemObjects; 194*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueMarkerWithWaitList; 195*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueBarrierWithWaitList; 196*8975f5c5SAndroid Build Coastguard Worker void *clGetExtensionFunctionAddressForPlatform; 197*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromGLTexture; 198*8975f5c5SAndroid Build Coastguard Worker #endif 199*8975f5c5SAndroid Build Coastguard Worker 200*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_d3d11_sharing and cl_khr_dx9_media_sharing */ 201*8975f5c5SAndroid Build Coastguard Worker #ifdef _WIN32 202*8975f5c5SAndroid Build Coastguard Worker clGetDeviceIDsFromD3D11KHR_t *clGetDeviceIDsFromD3D11KHR; 203*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D11BufferKHR_t *clCreateFromD3D11BufferKHR; 204*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D11Texture2DKHR_t *clCreateFromD3D11Texture2DKHR; 205*8975f5c5SAndroid Build Coastguard Worker clCreateFromD3D11Texture3DKHR_t *clCreateFromD3D11Texture3DKHR; 206*8975f5c5SAndroid Build Coastguard Worker clCreateFromDX9MediaSurfaceKHR_t *clCreateFromDX9MediaSurfaceKHR; 207*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireD3D11ObjectsKHR_t *clEnqueueAcquireD3D11ObjectsKHR; 208*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseD3D11ObjectsKHR_t *clEnqueueReleaseD3D11ObjectsKHR; 209*8975f5c5SAndroid Build Coastguard Worker clGetDeviceIDsFromDX9MediaAdapterKHR_t * 210*8975f5c5SAndroid Build Coastguard Worker clGetDeviceIDsFromDX9MediaAdapterKHR; 211*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireDX9MediaSurfacesKHR_t * 212*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireDX9MediaSurfacesKHR; 213*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseDX9MediaSurfacesKHR_t * 214*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseDX9MediaSurfacesKHR; 215*8975f5c5SAndroid Build Coastguard Worker #else 216*8975f5c5SAndroid Build Coastguard Worker void *clGetDeviceIDsFromD3D11KHR; 217*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D11BufferKHR; 218*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D11Texture2DKHR; 219*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromD3D11Texture3DKHR; 220*8975f5c5SAndroid Build Coastguard Worker void *clCreateFromDX9MediaSurfaceKHR; 221*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueAcquireD3D11ObjectsKHR; 222*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueReleaseD3D11ObjectsKHR; 223*8975f5c5SAndroid Build Coastguard Worker void *clGetDeviceIDsFromDX9MediaAdapterKHR; 224*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueAcquireDX9MediaSurfacesKHR; 225*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueReleaseDX9MediaSurfacesKHR; 226*8975f5c5SAndroid Build Coastguard Worker #endif 227*8975f5c5SAndroid Build Coastguard Worker 228*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_egl_image */ 229*8975f5c5SAndroid Build Coastguard Worker clCreateFromEGLImageKHR_t *clCreateFromEGLImageKHR; 230*8975f5c5SAndroid Build Coastguard Worker clEnqueueAcquireEGLObjectsKHR_t *clEnqueueAcquireEGLObjectsKHR; 231*8975f5c5SAndroid Build Coastguard Worker clEnqueueReleaseEGLObjectsKHR_t *clEnqueueReleaseEGLObjectsKHR; 232*8975f5c5SAndroid Build Coastguard Worker 233*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_egl_event */ 234*8975f5c5SAndroid Build Coastguard Worker clCreateEventFromEGLSyncKHR_t *clCreateEventFromEGLSyncKHR; 235*8975f5c5SAndroid Build Coastguard Worker 236*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 2.0 */ 237*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_0 238*8975f5c5SAndroid Build Coastguard Worker clCreateCommandQueueWithProperties_t *clCreateCommandQueueWithProperties; 239*8975f5c5SAndroid Build Coastguard Worker clCreatePipe_t *clCreatePipe; 240*8975f5c5SAndroid Build Coastguard Worker clGetPipeInfo_t *clGetPipeInfo; 241*8975f5c5SAndroid Build Coastguard Worker clSVMAlloc_t *clSVMAlloc; 242*8975f5c5SAndroid Build Coastguard Worker clSVMFree_t *clSVMFree; 243*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMFree_t *clEnqueueSVMFree; 244*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMMemcpy_t *clEnqueueSVMMemcpy; 245*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMMemFill_t *clEnqueueSVMMemFill; 246*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMMap_t *clEnqueueSVMMap; 247*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMUnmap_t *clEnqueueSVMUnmap; 248*8975f5c5SAndroid Build Coastguard Worker clCreateSamplerWithProperties_t *clCreateSamplerWithProperties; 249*8975f5c5SAndroid Build Coastguard Worker clSetKernelArgSVMPointer_t *clSetKernelArgSVMPointer; 250*8975f5c5SAndroid Build Coastguard Worker clSetKernelExecInfo_t *clSetKernelExecInfo; 251*8975f5c5SAndroid Build Coastguard Worker #else 252*8975f5c5SAndroid Build Coastguard Worker void *clCreateCommandQueueWithProperties; 253*8975f5c5SAndroid Build Coastguard Worker void *clCreatePipe; 254*8975f5c5SAndroid Build Coastguard Worker void *clGetPipeInfo; 255*8975f5c5SAndroid Build Coastguard Worker void *clSVMAlloc; 256*8975f5c5SAndroid Build Coastguard Worker void *clSVMFree; 257*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMFree; 258*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMMemcpy; 259*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMMemFill; 260*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMMap; 261*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMUnmap; 262*8975f5c5SAndroid Build Coastguard Worker void *clCreateSamplerWithProperties; 263*8975f5c5SAndroid Build Coastguard Worker void *clSetKernelArgSVMPointer; 264*8975f5c5SAndroid Build Coastguard Worker void *clSetKernelExecInfo; 265*8975f5c5SAndroid Build Coastguard Worker #endif 266*8975f5c5SAndroid Build Coastguard Worker 267*8975f5c5SAndroid Build Coastguard Worker /* cl_khr_sub_groups */ 268*8975f5c5SAndroid Build Coastguard Worker clGetKernelSubGroupInfoKHR_t *clGetKernelSubGroupInfoKHR; 269*8975f5c5SAndroid Build Coastguard Worker 270*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 2.1 */ 271*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_1 272*8975f5c5SAndroid Build Coastguard Worker clCloneKernel_t *clCloneKernel; 273*8975f5c5SAndroid Build Coastguard Worker clCreateProgramWithIL_t *clCreateProgramWithIL; 274*8975f5c5SAndroid Build Coastguard Worker clEnqueueSVMMigrateMem_t *clEnqueueSVMMigrateMem; 275*8975f5c5SAndroid Build Coastguard Worker clGetDeviceAndHostTimer_t *clGetDeviceAndHostTimer; 276*8975f5c5SAndroid Build Coastguard Worker clGetHostTimer_t *clGetHostTimer; 277*8975f5c5SAndroid Build Coastguard Worker clGetKernelSubGroupInfo_t *clGetKernelSubGroupInfo; 278*8975f5c5SAndroid Build Coastguard Worker clSetDefaultDeviceCommandQueue_t *clSetDefaultDeviceCommandQueue; 279*8975f5c5SAndroid Build Coastguard Worker #else 280*8975f5c5SAndroid Build Coastguard Worker void *clCloneKernel; 281*8975f5c5SAndroid Build Coastguard Worker void *clCreateProgramWithIL; 282*8975f5c5SAndroid Build Coastguard Worker void *clEnqueueSVMMigrateMem; 283*8975f5c5SAndroid Build Coastguard Worker void *clGetDeviceAndHostTimer; 284*8975f5c5SAndroid Build Coastguard Worker void *clGetHostTimer; 285*8975f5c5SAndroid Build Coastguard Worker void *clGetKernelSubGroupInfo; 286*8975f5c5SAndroid Build Coastguard Worker void *clSetDefaultDeviceCommandQueue; 287*8975f5c5SAndroid Build Coastguard Worker #endif 288*8975f5c5SAndroid Build Coastguard Worker 289*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 2.2 */ 290*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_2_2 291*8975f5c5SAndroid Build Coastguard Worker clSetProgramReleaseCallback_t *clSetProgramReleaseCallback; 292*8975f5c5SAndroid Build Coastguard Worker clSetProgramSpecializationConstant_t *clSetProgramSpecializationConstant; 293*8975f5c5SAndroid Build Coastguard Worker #else 294*8975f5c5SAndroid Build Coastguard Worker void *clSetProgramReleaseCallback; 295*8975f5c5SAndroid Build Coastguard Worker void *clSetProgramSpecializationConstant; 296*8975f5c5SAndroid Build Coastguard Worker #endif 297*8975f5c5SAndroid Build Coastguard Worker 298*8975f5c5SAndroid Build Coastguard Worker /* OpenCL 3.0 */ 299*8975f5c5SAndroid Build Coastguard Worker #ifdef CL_VERSION_3_0 300*8975f5c5SAndroid Build Coastguard Worker clCreateBufferWithProperties_t *clCreateBufferWithProperties; 301*8975f5c5SAndroid Build Coastguard Worker clCreateImageWithProperties_t *clCreateImageWithProperties; 302*8975f5c5SAndroid Build Coastguard Worker clSetContextDestructorCallback_t *clSetContextDestructorCallback; 303*8975f5c5SAndroid Build Coastguard Worker #else 304*8975f5c5SAndroid Build Coastguard Worker void *clCreateBufferWithProperties; 305*8975f5c5SAndroid Build Coastguard Worker void *clCreateImageWithProperties; 306*8975f5c5SAndroid Build Coastguard Worker void *clSetContextDestructorCallback; 307*8975f5c5SAndroid Build Coastguard Worker #endif 308*8975f5c5SAndroid Build Coastguard Worker 309*8975f5c5SAndroid Build Coastguard Worker } cl_icd_dispatch; 310*8975f5c5SAndroid Build Coastguard Worker 311*8975f5c5SAndroid Build Coastguard Worker #ifdef __cplusplus 312*8975f5c5SAndroid Build Coastguard Worker } 313*8975f5c5SAndroid Build Coastguard Worker #endif 314*8975f5c5SAndroid Build Coastguard Worker 315*8975f5c5SAndroid Build Coastguard Worker #endif /* #ifndef OPENCL_CL_ICD_H */ 316