
This syncs all our headers with their canonical versions from Khronos. Of particular note, CL headers repo does not have cl.hpp and cl2.hpp has been depricated all in favor of opencl.hpp which is the new canonical header. Fortunately, nothing in Mesa uses any of the C++ headers so this shouldn't break anything. Acked-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19816>
82 lines
3.1 KiB
C
82 lines
3.1 KiB
C
/*******************************************************************************
|
|
* Copyright (c) 2018-2020 The Khronos Group Inc.
|
|
*
|
|
* 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.
|
|
******************************************************************************/
|
|
|
|
#ifndef __CL_VERSION_H
|
|
#define __CL_VERSION_H
|
|
|
|
/* Detect which version to target */
|
|
#if !defined(CL_TARGET_OPENCL_VERSION)
|
|
#pragma message("cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 300 (OpenCL 3.0)")
|
|
#define CL_TARGET_OPENCL_VERSION 300
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION != 100 && \
|
|
CL_TARGET_OPENCL_VERSION != 110 && \
|
|
CL_TARGET_OPENCL_VERSION != 120 && \
|
|
CL_TARGET_OPENCL_VERSION != 200 && \
|
|
CL_TARGET_OPENCL_VERSION != 210 && \
|
|
CL_TARGET_OPENCL_VERSION != 220 && \
|
|
CL_TARGET_OPENCL_VERSION != 300
|
|
#pragma message("cl_version: CL_TARGET_OPENCL_VERSION is not a valid value (100, 110, 120, 200, 210, 220, 300). Defaulting to 300 (OpenCL 3.0)")
|
|
#undef CL_TARGET_OPENCL_VERSION
|
|
#define CL_TARGET_OPENCL_VERSION 300
|
|
#endif
|
|
|
|
|
|
/* OpenCL Version */
|
|
#if CL_TARGET_OPENCL_VERSION >= 300 && !defined(CL_VERSION_3_0)
|
|
#define CL_VERSION_3_0 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 220 && !defined(CL_VERSION_2_2)
|
|
#define CL_VERSION_2_2 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 210 && !defined(CL_VERSION_2_1)
|
|
#define CL_VERSION_2_1 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 200 && !defined(CL_VERSION_2_0)
|
|
#define CL_VERSION_2_0 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 120 && !defined(CL_VERSION_1_2)
|
|
#define CL_VERSION_1_2 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 110 && !defined(CL_VERSION_1_1)
|
|
#define CL_VERSION_1_1 1
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION >= 100 && !defined(CL_VERSION_1_0)
|
|
#define CL_VERSION_1_0 1
|
|
#endif
|
|
|
|
/* Allow deprecated APIs for older OpenCL versions. */
|
|
#if CL_TARGET_OPENCL_VERSION <= 220 && !defined(CL_USE_DEPRECATED_OPENCL_2_2_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_2_2_APIS
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION <= 210 && !defined(CL_USE_DEPRECATED_OPENCL_2_1_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_2_1_APIS
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION <= 200 && !defined(CL_USE_DEPRECATED_OPENCL_2_0_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_2_0_APIS
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION <= 120 && !defined(CL_USE_DEPRECATED_OPENCL_1_2_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION <= 110 && !defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_1_1_APIS
|
|
#endif
|
|
#if CL_TARGET_OPENCL_VERSION <= 100 && !defined(CL_USE_DEPRECATED_OPENCL_1_0_APIS)
|
|
#define CL_USE_DEPRECATED_OPENCL_1_0_APIS
|
|
#endif
|
|
|
|
#endif /* __CL_VERSION_H */
|