init
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/* Copyright (c) 2021-2023, Arm Limited and Contributors
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
||||
|
||||
#define CL_TARGET_OPENCL_VERSION 300
|
||||
#include <CL/cl_ext.h>
|
||||
#include <CL/opencl.h>
|
||||
#include <functional>
|
||||
|
||||
#define OPENCL_EXPORTED_FUNCTION(func_name) extern std::function<decltype(func_name)> func_name##_ptr
|
||||
#define OPENCL_EXPORTED_EXTENSION_FUNCTION(func_name) extern std::function<decltype(func_name)> func_name##_ptr
|
||||
#include "open_cl_functions.inl"
|
||||
#undef OPENCL_EXPORTED_FUNCTION
|
||||
#undef OPENCL_EXPORTED_EXTENSION_FUNCTION
|
||||
|
||||
cl_platform_id load_opencl();
|
||||
void unload_opencl();
|
||||
|
||||
#ifdef CL_FUNCTION_DEFINITIONS
|
||||
|
||||
# define clCreateContext clCreateContext_ptr
|
||||
# define clGetDeviceIDs clGetDeviceIDs_ptr
|
||||
# define clGetPlatformIDs clGetPlatformIDs_ptr
|
||||
# define clCreateBuffer clCreateBuffer_ptr
|
||||
# define clReleaseMemObject clReleaseMemObject_ptr
|
||||
# define clCreateProgramWithSource clCreateProgramWithSource_ptr
|
||||
# define clBuildProgram clBuildProgram_ptr
|
||||
# define clCreateKernel clCreateKernel_ptr
|
||||
# define clSetKernelArg clSetKernelArg_ptr
|
||||
# define clEnqueueNDRangeKernel clEnqueueNDRangeKernel_ptr
|
||||
# define clFlush clFlush_ptr
|
||||
# define clFinish clFinish_ptr
|
||||
# define clCreateCommandQueue clCreateCommandQueue_ptr
|
||||
# define clReleaseContext clReleaseContext_ptr
|
||||
# define clGetPlatformInfo clGetPlatformInfo_ptr
|
||||
# define clGetExtensionFunctionAddressForPlatform clGetExtensionFunctionAddressForPlatform_ptr
|
||||
# define clImportMemoryARM clImportMemoryARM_ptr
|
||||
# define clCreateImageWithProperties clCreateImageWithProperties_ptr
|
||||
# define clEnqueueWaitSemaphoresKHR clEnqueueWaitSemaphoresKHR_ptr
|
||||
# define clEnqueueSignalSemaphoresKHR clEnqueueSignalSemaphoresKHR_ptr
|
||||
# define clEnqueueAcquireExternalMemObjectsKHR clEnqueueAcquireExternalMemObjectsKHR_ptr
|
||||
# define clEnqueueReleaseExternalMemObjectsKHR clEnqueueReleaseExternalMemObjectsKHR_ptr
|
||||
# define clCreateSemaphoreWithPropertiesKHR clCreateSemaphoreWithPropertiesKHR_ptr
|
||||
# define clReleaseSemaphoreKHR clReleaseSemaphoreKHR_ptr
|
||||
# define clGetDeviceInfo clGetDeviceInfo_ptr
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user