blob: 60211e503584b67d8966bc6b4be7328567ce38cd [file] [log] [blame]
/*
* Copyright (c) 2016 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software source and associated documentation files (the "Materials"),
* to deal in the Materials without restriction, including without limitation
* the rights to use, copy, modify, compile, merge, publish, distribute,
* sublicense, and/or sell copies of the Materials, and to permit persons to
* whom the Materials are furnished to do so, subject the following terms and
* conditions:
*
* All modifications to the Materials used to create a binary that is
* distributed to third parties shall be provided to Khronos with an
* unrestricted license to use for the purposes of implementing bug fixes and
* enhancements to the Materials;
*
* If the binary is used as part of an OpenCL(TM) implementation, whether binary
* is distributed together with or separately to that implementation, then
* recipient must become an OpenCL Adopter and follow the published OpenCL
* conformance process for that implementation, details at:
* http://www.khronos.org/conformance/;
*
* The above copyright notice, the OpenCL trademark license, and this permission
* notice shall be included in all copies or substantial portions of the
* Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN
* THE MATERIALS.
*
* OpenCL is a trademark of Apple Inc. used under license by Khronos.
*/
OPENCL_1.0 {
global:
clBuildProgram;
clCreateBuffer;
clCreateCommandQueue;
clCreateContext;
clCreateContextFromType;
clCreateFromGLBuffer;
clCreateFromGLRenderbuffer;
clCreateFromGLTexture2D;
clCreateFromGLTexture3D;
clCreateImage2D;
clCreateImage3D;
clCreateKernel;
clCreateKernelsInProgram;
clCreateProgramWithBinary;
clCreateProgramWithSource;
clCreateSampler;
clEnqueueAcquireGLObjects;
clEnqueueBarrier;
clEnqueueCopyBuffer;
clEnqueueCopyBufferToImage;
clEnqueueCopyImage;
clEnqueueCopyImageToBuffer;
clEnqueueMapBuffer;
clEnqueueMapImage;
clEnqueueMarker;
clEnqueueNDRangeKernel;
clEnqueueNativeKernel;
clEnqueueReadBuffer;
clEnqueueReadImage;
clEnqueueReleaseGLObjects;
clEnqueueTask;
clEnqueueUnmapMemObject;
clEnqueueWaitForEvents;
clEnqueueWriteBuffer;
clEnqueueWriteImage;
clFinish;
clFlush;
clGetCommandQueueInfo;
clGetContextInfo;
clGetDeviceIDs;
clGetDeviceInfo;
clGetEventInfo;
clGetEventProfilingInfo;
clGetExtensionFunctionAddress;
clGetGLObjectInfo;
clGetGLTextureInfo;
clGetImageInfo;
clGetKernelInfo;
clGetKernelWorkGroupInfo;
clGetMemObjectInfo;
clGetPlatformIDs;
clGetPlatformInfo;
clGetProgramBuildInfo;
clGetProgramInfo;
clGetSamplerInfo;
clGetSupportedImageFormats;
clReleaseCommandQueue;
clReleaseContext;
clReleaseEvent;
clReleaseKernel;
clReleaseMemObject;
clReleaseProgram;
clReleaseSampler;
clRetainCommandQueue;
clRetainContext;
clRetainEvent;
clRetainKernel;
clRetainMemObject;
clRetainProgram;
clRetainSampler;
clSetCommandQueueProperty;
clSetKernelArg;
clUnloadCompiler;
clWaitForEvents;
local:
/* Everything else is local to ICD. */
*;
};
OPENCL_1.1 {
global:
clCreateSubBuffer;
clCreateUserEvent;
clEnqueueCopyBufferRect;
clEnqueueReadBufferRect;
clEnqueueWriteBufferRect;
clSetEventCallback;
clSetMemObjectDestructorCallback;
clSetUserEventStatus;
} OPENCL_1.0;
OPENCL_1.2 {
global:
clCompileProgram;
clCreateFromGLTexture;
clCreateImage;
clCreateProgramWithBuiltInKernels;
clCreateSubDevices;
clEnqueueBarrierWithWaitList;
clEnqueueFillBuffer;
clEnqueueFillImage;
clEnqueueMarkerWithWaitList;
clEnqueueMigrateMemObjects;
clGetExtensionFunctionAddressForPlatform;
clGetKernelArgInfo;
clLinkProgram;
clReleaseDevice;
clRetainDevice;
clUnloadPlatformCompiler;
} OPENCL_1.1;
OPENCL_2.0 {
global:
clCreateCommandQueueWithProperties;
clCreatePipe;
clGetPipeInfo;
clSVMAlloc;
clSVMFree;
clEnqueueSVMFree;
clEnqueueSVMMemcpy;
clEnqueueSVMMemFill;
clEnqueueSVMMap;
clEnqueueSVMUnmap;
clCreateSamplerWithProperties;
clSetKernelArgSVMPointer;
clSetKernelExecInfo;
} OPENCL_1.2;
OPENCL_2.1 {
global:
clCloneKernel;
clCreateProgramWithIL;
clEnqueueSVMMigrateMem;
clGetDeviceAndHostTimer;
clGetHostTimer;
clGetKernelSubGroupInfo;
clSetDefaultDeviceCommandQueue;
} OPENCL_2.0;
OPENCL_2.2 {
global:
clSetProgramReleaseCallback;
clSetProgramSpecializationConstant;
} OPENCL_2.1;