;
; 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.

EXPORTS

;
; Note:
;
; 1. Functions are grouped into blocks according to the OpenCL API version they
; were introduced in.
;
; 2. Function blocks are sorted in ascending order of the API version.
;
; 3. Functions within a block are sorted alphabetically.
;

; OpenCL 1.0 API
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

; OpenCL 1.1 API
clCreateSubBuffer
clCreateUserEvent
clEnqueueCopyBufferRect
clEnqueueReadBufferRect
clEnqueueWriteBufferRect
clSetEventCallback
clSetMemObjectDestructorCallback
clSetUserEventStatus

; OpenCL 1.2 API
clCompileProgram
clCreateFromGLTexture
clCreateImage
clCreateProgramWithBuiltInKernels
clCreateSubDevices
clEnqueueBarrierWithWaitList
clEnqueueFillBuffer
clEnqueueFillImage
clEnqueueMarkerWithWaitList
clEnqueueMigrateMemObjects
clGetExtensionFunctionAddressForPlatform
clGetKernelArgInfo
clLinkProgram
clReleaseDevice
clRetainDevice
clUnloadPlatformCompiler

; OpenCL 2.0 API
clCreateCommandQueueWithProperties
clCreatePipe
clCreateSamplerWithProperties
clEnqueueSVMFree
clEnqueueSVMMap
clEnqueueSVMMemcpy
clEnqueueSVMMemFill
clEnqueueSVMUnmap
clGetPipeInfo
clSetKernelArgSVMPointer
clSetKernelExecInfo
clSVMAlloc
clSVMFree

; OpenCL 2.1 API
clCloneKernel
clCreateProgramWithIL
clEnqueueSVMMigrateMem
clGetDeviceAndHostTimer
clGetHostTimer
clGetKernelSubGroupInfo
clSetDefaultDeviceCommandQueue

; OpenCL 2.2 API
clSetProgramReleaseCallback
clSetProgramSpecializationConstant

