clover/api: Interleave details in dispatch table

By adding comments regarding which version or extension introduced the
following dispatched functions, it makes it easier to glance at the
table and see which functions are missing for a particular version, but
more importantly makes it easier to compare against cl_icd.h and see if
anything is missing.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Pierre Moreau <dev@pmoreau.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10256>
This commit is contained in:
Pierre Moreau
2020-08-14 09:51:30 +02:00
committed by Marge Bot
parent a6c26a6ad9
commit 54dcccd535

View File

@@ -24,6 +24,7 @@
namespace clover { namespace clover {
const cl_icd_dispatch _dispatch = { const cl_icd_dispatch _dispatch = {
// OpenCL 1.0
clGetPlatformIDs, clGetPlatformIDs,
GetPlatformInfo, GetPlatformInfo,
clGetDeviceIDs, clGetDeviceIDs,
@@ -98,6 +99,8 @@ namespace clover {
NULL, // clGetGLTextureInfo NULL, // clGetGLTextureInfo
NULL, // clEnqueueAcquireGLObjects NULL, // clEnqueueAcquireGLObjects
NULL, // clEnqueueReleaseGLObjects NULL, // clEnqueueReleaseGLObjects
// cl_khr_d3d10_sharing
NULL, // clGetGLContextInfoKHR NULL, // clGetGLContextInfoKHR
NULL, // clGetDeviceIDsFromD3D10KHR NULL, // clGetDeviceIDsFromD3D10KHR
NULL, // clCreateFromD3D10BufferKHR NULL, // clCreateFromD3D10BufferKHR
@@ -105,6 +108,8 @@ namespace clover {
NULL, // clCreateFromD3D10Texture3DKHR NULL, // clCreateFromD3D10Texture3DKHR
NULL, // clEnqueueAcquireD3D10ObjectsKHR NULL, // clEnqueueAcquireD3D10ObjectsKHR
NULL, // clEnqueueReleaseD3D10ObjectsKHR NULL, // clEnqueueReleaseD3D10ObjectsKHR
// OpenCL 1.1
clSetEventCallback, clSetEventCallback,
clCreateSubBuffer, clCreateSubBuffer,
clSetMemObjectDestructorCallback, clSetMemObjectDestructorCallback,
@@ -113,10 +118,16 @@ namespace clover {
clEnqueueReadBufferRect, clEnqueueReadBufferRect,
clEnqueueWriteBufferRect, clEnqueueWriteBufferRect,
clEnqueueCopyBufferRect, clEnqueueCopyBufferRect,
// cl_ext_device_fission
NULL, // clCreateSubDevicesEXT NULL, // clCreateSubDevicesEXT
NULL, // clRetainDeviceEXT NULL, // clRetainDeviceEXT
NULL, // clReleaseDeviceEXT NULL, // clReleaseDeviceEXT
// cl_khr_gl_event
NULL, // clCreateEventFromGLsyncKHR NULL, // clCreateEventFromGLsyncKHR
// OpenCL 1.2
clCreateSubDevices, clCreateSubDevices,
clRetainDevice, clRetainDevice,
clReleaseDevice, clReleaseDevice,
@@ -133,6 +144,8 @@ namespace clover {
clEnqueueBarrierWithWaitList, clEnqueueBarrierWithWaitList,
GetExtensionFunctionAddressForPlatform, GetExtensionFunctionAddressForPlatform,
NULL, // clCreateFromGLTexture NULL, // clCreateFromGLTexture
// cl_khr_d3d11_sharing
NULL, // clGetDeviceIDsFromD3D11KHR NULL, // clGetDeviceIDsFromD3D11KHR
NULL, // clCreateFromD3D11BufferKHR NULL, // clCreateFromD3D11BufferKHR
NULL, // clCreateFromD3D11Texture2DKHR NULL, // clCreateFromD3D11Texture2DKHR
@@ -140,13 +153,21 @@ namespace clover {
NULL, // clCreateFromDX9MediaSurfaceKHR NULL, // clCreateFromDX9MediaSurfaceKHR
NULL, // clEnqueueAcquireD3D11ObjectsKHR NULL, // clEnqueueAcquireD3D11ObjectsKHR
NULL, // clEnqueueReleaseD3D11ObjectsKHR NULL, // clEnqueueReleaseD3D11ObjectsKHR
// cl_khr_dx9_media_sharing
NULL, // clGetDeviceIDsFromDX9MediaAdapterKHR NULL, // clGetDeviceIDsFromDX9MediaAdapterKHR
NULL, // clEnqueueAcquireDX9MediaSurfacesKHR NULL, // clEnqueueAcquireDX9MediaSurfacesKHR
NULL, // clEnqueueReleaseDX9MediaSurfacesKHR NULL, // clEnqueueReleaseDX9MediaSurfacesKHR
// cl_khr_egl_image
NULL, // clCreateFromEGLImageKHR NULL, // clCreateFromEGLImageKHR
NULL, // clEnqueueAcquireEGLObjectsKHR NULL, // clEnqueueAcquireEGLObjectsKHR
NULL, // clEnqueueReleaseEGLObjectsKHR NULL, // clEnqueueReleaseEGLObjectsKHR
// cl_khr_egl_event
NULL, // clCreateEventFromEGLSyncKHR NULL, // clCreateEventFromEGLSyncKHR
// OpenCL 2.0
clCreateCommandQueueWithProperties, clCreateCommandQueueWithProperties,
clCreatePipe, clCreatePipe,
clGetPipeInfo, clGetPipeInfo,
@@ -160,7 +181,11 @@ namespace clover {
NULL, // clCreateSamplerWithProperties NULL, // clCreateSamplerWithProperties
clSetKernelArgSVMPointer, clSetKernelArgSVMPointer,
clSetKernelExecInfo, clSetKernelExecInfo,
// cl_khr_sub_groups
NULL, // clGetKernelSubGroupInfoKHR NULL, // clGetKernelSubGroupInfoKHR
// OpenCL 2.1
NULL, // clCloneKernel NULL, // clCloneKernel
clCreateProgramWithIL, clCreateProgramWithIL,
clEnqueueSVMMigrateMem, clEnqueueSVMMigrateMem,
@@ -168,6 +193,8 @@ namespace clover {
clGetHostTimer, clGetHostTimer,
clGetKernelSubGroupInfo, clGetKernelSubGroupInfo,
clSetDefaultDeviceCommandQueue, clSetDefaultDeviceCommandQueue,
// OpenCL 2.2
clSetProgramReleaseCallback, clSetProgramReleaseCallback,
clSetProgramSpecializationConstant, clSetProgramSpecializationConstant,
clCreateBufferWithProperties, clCreateBufferWithProperties,