2 // Copyright 2013 Francisco Jerez
4 // Permission is hereby granted, free of charge, to any person obtaining a
5 // copy of this software and associated documentation files (the "Software"),
6 // to deal in the Software without restriction, including without limitation
7 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 // and/or sell copies of the Software, and to permit persons to whom the
9 // Software is furnished to do so, subject to the following conditions:
11 // The above copyright notice and this permission notice shall be included in
12 // all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 // OTHER DEALINGS IN THE SOFTWARE.
23 #include "api/dispatch.hpp"
26 const _cl_icd_dispatch _dispatch
= {
32 clCreateContextFromType
,
38 clReleaseCommandQueue
,
39 clGetCommandQueueInfo
,
40 NULL
, // clSetCommandQueueProperty
46 clGetSupportedImageFormats
,
53 clCreateProgramWithSource
,
54 clCreateProgramWithBinary
,
60 clGetProgramBuildInfo
,
62 clCreateKernelsInProgram
,
67 clGetKernelWorkGroupInfo
,
72 clGetEventProfilingInfo
,
81 clEnqueueCopyImageToBuffer
,
82 clEnqueueCopyBufferToImage
,
85 clEnqueueUnmapMemObject
,
86 clEnqueueNDRangeKernel
,
88 clEnqueueNativeKernel
,
90 clEnqueueWaitForEvents
,
92 GetExtensionFunctionAddress
,
93 NULL
, // clCreateFromGLBuffer
94 NULL
, // clCreateFromGLTexture2D
95 NULL
, // clCreateFromGLTexture3D
96 NULL
, // clCreateFromGLRenderbuffer
97 NULL
, // clGetGLObjectInfo
98 NULL
, // clGetGLTextureInfo
99 NULL
, // clEnqueueAcquireGLObjects
100 NULL
, // clEnqueueReleaseGLObjects
101 NULL
, // clGetGLContextInfoKHR
102 NULL
, // clGetDeviceIDsFromD3D10KHR
103 NULL
, // clCreateFromD3D10BufferKHR
104 NULL
, // clCreateFromD3D10Texture2DKHR
105 NULL
, // clCreateFromD3D10Texture3DKHR
106 NULL
, // clEnqueueAcquireD3D10ObjectsKHR
107 NULL
, // clEnqueueReleaseD3D10ObjectsKHR
110 clSetMemObjectDestructorCallback
,
112 clSetUserEventStatus
,
113 clEnqueueReadBufferRect
,
114 clEnqueueWriteBufferRect
,
115 clEnqueueCopyBufferRect
,
116 NULL
, // clCreateSubDevicesEXT
117 NULL
, // clRetainDeviceEXT
118 NULL
, // clReleaseDeviceEXT
119 NULL
, // clCreateEventFromGLsyncKHR
124 clCreateProgramWithBuiltInKernels
,
127 clUnloadPlatformCompiler
,
131 clEnqueueMigrateMemObjects
,
132 clEnqueueMarkerWithWaitList
,
133 clEnqueueBarrierWithWaitList
,
134 GetExtensionFunctionAddressForPlatform
,
135 NULL
, // clCreateFromGLTexture
136 NULL
, // clGetDeviceIDsFromD3D11KHR
137 NULL
, // clCreateFromD3D11BufferKHR
138 NULL
, // clCreateFromD3D11Texture2DKHR
139 NULL
, // clCreateFromD3D11Texture3DKHR
140 NULL
, // clCreateFromDX9MediaSurfaceKHR
141 NULL
, // clEnqueueAcquireD3D11ObjectsKHR
142 NULL
, // clEnqueueReleaseD3D11ObjectsKHR
143 NULL
, // clGetDeviceIDsFromDX9MediaAdapterKHR
144 NULL
, // clEnqueueAcquireDX9MediaSurfacesKHR
145 NULL
, // clEnqueueReleaseDX9MediaSurfacesKHR
146 NULL
, // clCreateFromEGLImageKHR
147 NULL
, // clEnqueueAcquireEGLObjectsKHR
148 NULL
, // clEnqueueReleaseEGLObjectsKHR
149 NULL
, // clCreateEventFromEGLSyncKHR
150 NULL
, // clCreateCommandQueueWithProperties
151 NULL
, // clCreatePipe
152 NULL
, // clGetPipeInfo
155 NULL
, // clEnqueueSVMFree
156 NULL
, // clEnqueueSVMMemcpy
157 NULL
, // clEnqueueSVMMemFill
158 NULL
, // clEnqueueSVMMap
159 NULL
, // clEnqueueSVMUnmap
160 NULL
, // clCreateSamplerWithProperties
161 NULL
, // clSetKernelArgSVMPointer
162 NULL
, // clSetKernelExecInfo
163 NULL
, // clGetKernelSubGroupInfoKHR
164 NULL
, // clCloneKernel
165 NULL
, // clCreateProgramWithIL
166 NULL
, // clEnqueueSVMMigrateMem
167 NULL
, // clGetDeviceAndHostTimer
168 NULL
, // clGetHostTimer
169 NULL
, // clGetKernelSubGroupInfo
170 NULL
, // clSetDefaultDeviceCommandQueue
171 NULL
, // clSetProgramReleaseCallback
172 NULL
, // clSetProgramSpecializationConstant