/* * 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;