/* Copyright (c) 2021-2023, Arm Limited and Contributors * Copyright (c) 2023, Sascha Willems * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 the "License"; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Core OpenCL functions, loaded from libOpenCL.so #if !defined(OPENCL_EXPORTED_FUNCTION) #define OPENCL_EXPORTED_FUNCTION(fun) #endif OPENCL_EXPORTED_FUNCTION(clCreateContext); OPENCL_EXPORTED_FUNCTION(clGetDeviceIDs); OPENCL_EXPORTED_FUNCTION(clGetPlatformIDs); OPENCL_EXPORTED_FUNCTION(clCreateBuffer); OPENCL_EXPORTED_FUNCTION(clReleaseMemObject); OPENCL_EXPORTED_FUNCTION(clCreateProgramWithSource); OPENCL_EXPORTED_FUNCTION(clBuildProgram); OPENCL_EXPORTED_FUNCTION(clCreateKernel); OPENCL_EXPORTED_FUNCTION(clSetKernelArg); OPENCL_EXPORTED_FUNCTION(clEnqueueNDRangeKernel); OPENCL_EXPORTED_FUNCTION(clFlush); OPENCL_EXPORTED_FUNCTION(clFinish); OPENCL_EXPORTED_FUNCTION(clCreateCommandQueue); OPENCL_EXPORTED_FUNCTION(clReleaseContext); OPENCL_EXPORTED_FUNCTION(clGetPlatformInfo); OPENCL_EXPORTED_FUNCTION(clGetExtensionFunctionAddressForPlatform); OPENCL_EXPORTED_FUNCTION(clCreateImageWithProperties); OPENCL_EXPORTED_FUNCTION(clGetDeviceInfo); #undef OPENCL_EXPORTED_FUNCTION // Extension functions, loaded using clGetExtensionFunctionAddressForPlatform #if !defined(OPENCL_EXPORTED_EXTENSION_FUNCTION) # define OPENCL_EXPORTED_EXTENSION_FUNCTION(fun) #endif OPENCL_EXPORTED_EXTENSION_FUNCTION(clImportMemoryARM); OPENCL_EXPORTED_EXTENSION_FUNCTION(clCreateSemaphoreWithPropertiesKHR); OPENCL_EXPORTED_EXTENSION_FUNCTION(clEnqueueWaitSemaphoresKHR); OPENCL_EXPORTED_EXTENSION_FUNCTION(clEnqueueSignalSemaphoresKHR); OPENCL_EXPORTED_EXTENSION_FUNCTION(clEnqueueAcquireExternalMemObjectsKHR); OPENCL_EXPORTED_EXTENSION_FUNCTION(clEnqueueReleaseExternalMemObjectsKHR); OPENCL_EXPORTED_EXTENSION_FUNCTION(clReleaseSemaphoreKHR); #undef OPENCL_EXPORTED_EXTENSION_FUNCTION