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