17ec681f3Smrg// 27ec681f3Smrg// Copyright 2013 Francisco Jerez 37ec681f3Smrg// 47ec681f3Smrg// Permission is hereby granted, free of charge, to any person obtaining a 57ec681f3Smrg// copy of this software and associated documentation files (the "Software"), 67ec681f3Smrg// to deal in the Software without restriction, including without limitation 77ec681f3Smrg// the rights to use, copy, modify, merge, publish, distribute, sublicense, 87ec681f3Smrg// and/or sell copies of the Software, and to permit persons to whom the 97ec681f3Smrg// Software is furnished to do so, subject to the following conditions: 107ec681f3Smrg// 117ec681f3Smrg// The above copyright notice and this permission notice shall be included in 127ec681f3Smrg// all copies or substantial portions of the Software. 137ec681f3Smrg// 147ec681f3Smrg// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 157ec681f3Smrg// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 167ec681f3Smrg// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 177ec681f3Smrg// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 187ec681f3Smrg// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 197ec681f3Smrg// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 207ec681f3Smrg// OTHER DEALINGS IN THE SOFTWARE. 217ec681f3Smrg// 227ec681f3Smrg 237ec681f3Smrg#include "api/dispatch.hpp" 247ec681f3Smrg 257ec681f3Smrgnamespace clover { 267ec681f3Smrg const cl_icd_dispatch _dispatch = { 277ec681f3Smrg // OpenCL 1.0 287ec681f3Smrg clGetPlatformIDs, 297ec681f3Smrg GetPlatformInfo, 307ec681f3Smrg clGetDeviceIDs, 317ec681f3Smrg clGetDeviceInfo, 327ec681f3Smrg clCreateContext, 337ec681f3Smrg clCreateContextFromType, 347ec681f3Smrg clRetainContext, 357ec681f3Smrg clReleaseContext, 367ec681f3Smrg clGetContextInfo, 377ec681f3Smrg clCreateCommandQueue, 387ec681f3Smrg clRetainCommandQueue, 397ec681f3Smrg clReleaseCommandQueue, 407ec681f3Smrg clGetCommandQueueInfo, 417ec681f3Smrg NULL, // clSetCommandQueueProperty 427ec681f3Smrg clCreateBuffer, 437ec681f3Smrg clCreateImage2D, 447ec681f3Smrg clCreateImage3D, 457ec681f3Smrg clRetainMemObject, 467ec681f3Smrg clReleaseMemObject, 477ec681f3Smrg clGetSupportedImageFormats, 487ec681f3Smrg clGetMemObjectInfo, 497ec681f3Smrg clGetImageInfo, 507ec681f3Smrg clCreateSampler, 517ec681f3Smrg clRetainSampler, 527ec681f3Smrg clReleaseSampler, 537ec681f3Smrg clGetSamplerInfo, 547ec681f3Smrg clCreateProgramWithSource, 557ec681f3Smrg clCreateProgramWithBinary, 567ec681f3Smrg clRetainProgram, 577ec681f3Smrg clReleaseProgram, 587ec681f3Smrg clBuildProgram, 597ec681f3Smrg clUnloadCompiler, 607ec681f3Smrg clGetProgramInfo, 617ec681f3Smrg clGetProgramBuildInfo, 627ec681f3Smrg clCreateKernel, 637ec681f3Smrg clCreateKernelsInProgram, 647ec681f3Smrg clRetainKernel, 657ec681f3Smrg clReleaseKernel, 667ec681f3Smrg clSetKernelArg, 677ec681f3Smrg clGetKernelInfo, 687ec681f3Smrg clGetKernelWorkGroupInfo, 697ec681f3Smrg clWaitForEvents, 707ec681f3Smrg clGetEventInfo, 717ec681f3Smrg clRetainEvent, 727ec681f3Smrg clReleaseEvent, 737ec681f3Smrg clGetEventProfilingInfo, 747ec681f3Smrg clFlush, 757ec681f3Smrg clFinish, 767ec681f3Smrg clEnqueueReadBuffer, 777ec681f3Smrg clEnqueueWriteBuffer, 787ec681f3Smrg clEnqueueCopyBuffer, 797ec681f3Smrg clEnqueueReadImage, 807ec681f3Smrg clEnqueueWriteImage, 817ec681f3Smrg clEnqueueCopyImage, 827ec681f3Smrg clEnqueueCopyImageToBuffer, 837ec681f3Smrg clEnqueueCopyBufferToImage, 847ec681f3Smrg clEnqueueMapBuffer, 857ec681f3Smrg clEnqueueMapImage, 867ec681f3Smrg clEnqueueUnmapMemObject, 877ec681f3Smrg clEnqueueNDRangeKernel, 887ec681f3Smrg clEnqueueTask, 897ec681f3Smrg clEnqueueNativeKernel, 907ec681f3Smrg clEnqueueMarker, 917ec681f3Smrg clEnqueueWaitForEvents, 927ec681f3Smrg clEnqueueBarrier, 937ec681f3Smrg GetExtensionFunctionAddress, 947ec681f3Smrg NULL, // clCreateFromGLBuffer 957ec681f3Smrg NULL, // clCreateFromGLTexture2D 967ec681f3Smrg NULL, // clCreateFromGLTexture3D 977ec681f3Smrg NULL, // clCreateFromGLRenderbuffer 987ec681f3Smrg NULL, // clGetGLObjectInfo 997ec681f3Smrg NULL, // clGetGLTextureInfo 1007ec681f3Smrg NULL, // clEnqueueAcquireGLObjects 1017ec681f3Smrg NULL, // clEnqueueReleaseGLObjects 1027ec681f3Smrg 1037ec681f3Smrg // cl_khr_d3d10_sharing 1047ec681f3Smrg NULL, // clGetGLContextInfoKHR 1057ec681f3Smrg NULL, // clGetDeviceIDsFromD3D10KHR 1067ec681f3Smrg NULL, // clCreateFromD3D10BufferKHR 1077ec681f3Smrg NULL, // clCreateFromD3D10Texture2DKHR 1087ec681f3Smrg NULL, // clCreateFromD3D10Texture3DKHR 1097ec681f3Smrg NULL, // clEnqueueAcquireD3D10ObjectsKHR 1107ec681f3Smrg NULL, // clEnqueueReleaseD3D10ObjectsKHR 1117ec681f3Smrg 1127ec681f3Smrg // OpenCL 1.1 1137ec681f3Smrg clSetEventCallback, 1147ec681f3Smrg clCreateSubBuffer, 1157ec681f3Smrg clSetMemObjectDestructorCallback, 1167ec681f3Smrg clCreateUserEvent, 1177ec681f3Smrg clSetUserEventStatus, 1187ec681f3Smrg clEnqueueReadBufferRect, 1197ec681f3Smrg clEnqueueWriteBufferRect, 1207ec681f3Smrg clEnqueueCopyBufferRect, 1217ec681f3Smrg 1227ec681f3Smrg // cl_ext_device_fission 1237ec681f3Smrg NULL, // clCreateSubDevicesEXT 1247ec681f3Smrg NULL, // clRetainDeviceEXT 1257ec681f3Smrg NULL, // clReleaseDeviceEXT 1267ec681f3Smrg 1277ec681f3Smrg // cl_khr_gl_event 1287ec681f3Smrg NULL, // clCreateEventFromGLsyncKHR 1297ec681f3Smrg 1307ec681f3Smrg // OpenCL 1.2 1317ec681f3Smrg clCreateSubDevices, 1327ec681f3Smrg clRetainDevice, 1337ec681f3Smrg clReleaseDevice, 1347ec681f3Smrg clCreateImage, 1357ec681f3Smrg clCreateProgramWithBuiltInKernels, 1367ec681f3Smrg clCompileProgram, 1377ec681f3Smrg clLinkProgram, 1387ec681f3Smrg clUnloadPlatformCompiler, 1397ec681f3Smrg clGetKernelArgInfo, 1407ec681f3Smrg clEnqueueFillBuffer, 1417ec681f3Smrg clEnqueueFillImage, 1427ec681f3Smrg clEnqueueMigrateMemObjects, 1437ec681f3Smrg clEnqueueMarkerWithWaitList, 1447ec681f3Smrg clEnqueueBarrierWithWaitList, 1457ec681f3Smrg GetExtensionFunctionAddressForPlatform, 1467ec681f3Smrg NULL, // clCreateFromGLTexture 1477ec681f3Smrg 1487ec681f3Smrg // cl_khr_d3d11_sharing 1497ec681f3Smrg NULL, // clGetDeviceIDsFromD3D11KHR 1507ec681f3Smrg NULL, // clCreateFromD3D11BufferKHR 1517ec681f3Smrg NULL, // clCreateFromD3D11Texture2DKHR 1527ec681f3Smrg NULL, // clCreateFromD3D11Texture3DKHR 1537ec681f3Smrg NULL, // clCreateFromDX9MediaSurfaceKHR 1547ec681f3Smrg NULL, // clEnqueueAcquireD3D11ObjectsKHR 1557ec681f3Smrg NULL, // clEnqueueReleaseD3D11ObjectsKHR 1567ec681f3Smrg 1577ec681f3Smrg // cl_khr_dx9_media_sharing 1587ec681f3Smrg NULL, // clGetDeviceIDsFromDX9MediaAdapterKHR 1597ec681f3Smrg NULL, // clEnqueueAcquireDX9MediaSurfacesKHR 1607ec681f3Smrg NULL, // clEnqueueReleaseDX9MediaSurfacesKHR 1617ec681f3Smrg 1627ec681f3Smrg // cl_khr_egl_image 1637ec681f3Smrg NULL, // clCreateFromEGLImageKHR 1647ec681f3Smrg NULL, // clEnqueueAcquireEGLObjectsKHR 1657ec681f3Smrg NULL, // clEnqueueReleaseEGLObjectsKHR 1667ec681f3Smrg 1677ec681f3Smrg // cl_khr_egl_event 1687ec681f3Smrg NULL, // clCreateEventFromEGLSyncKHR 1697ec681f3Smrg 1707ec681f3Smrg // OpenCL 2.0 1717ec681f3Smrg clCreateCommandQueueWithProperties, 1727ec681f3Smrg clCreatePipe, 1737ec681f3Smrg clGetPipeInfo, 1747ec681f3Smrg clSVMAlloc, 1757ec681f3Smrg clSVMFree, 1767ec681f3Smrg clEnqueueSVMFree, 1777ec681f3Smrg clEnqueueSVMMemcpy, 1787ec681f3Smrg clEnqueueSVMMemFill, 1797ec681f3Smrg clEnqueueSVMMap, 1807ec681f3Smrg clEnqueueSVMUnmap, 1817ec681f3Smrg NULL, // clCreateSamplerWithProperties 1827ec681f3Smrg clSetKernelArgSVMPointer, 1837ec681f3Smrg clSetKernelExecInfo, 1847ec681f3Smrg 1857ec681f3Smrg // cl_khr_sub_groups 1867ec681f3Smrg NULL, // clGetKernelSubGroupInfoKHR 1877ec681f3Smrg 1887ec681f3Smrg // OpenCL 2.1 1897ec681f3Smrg NULL, // clCloneKernel 1907ec681f3Smrg clCreateProgramWithIL, 1917ec681f3Smrg clEnqueueSVMMigrateMem, 1927ec681f3Smrg clGetDeviceAndHostTimer, 1937ec681f3Smrg clGetHostTimer, 1947ec681f3Smrg clGetKernelSubGroupInfo, 1957ec681f3Smrg clSetDefaultDeviceCommandQueue, 1967ec681f3Smrg 1977ec681f3Smrg // OpenCL 2.2 1987ec681f3Smrg clSetProgramReleaseCallback, 1997ec681f3Smrg clSetProgramSpecializationConstant, 2007ec681f3Smrg clCreateBufferWithProperties, 2017ec681f3Smrg clCreateImageWithProperties, 2027ec681f3Smrg clSetContextDestructorCallback 2037ec681f3Smrg }; 2047ec681f3Smrg} 205