mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-23 08:38:09 +00:00
87 lines
3.5 KiB
C
87 lines
3.5 KiB
C
/*******************************************************************************
|
|
* Copyright (c) 2018 The Khronos Group Inc.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and/or associated documentation files (the
|
|
* "Materials"), to deal in the Materials without restriction, including
|
|
* without limitation the rights to use, copy, modify, 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 to
|
|
* the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included
|
|
* in all copies or substantial portions of the Materials.
|
|
*
|
|
* MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
|
|
* KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
|
|
* SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
|
|
* https://www.khronos.org/registry/
|
|
*
|
|
* 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.
|
|
******************************************************************************/
|
|
|
|
#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 220 (OpenCL 2.2)")
|
|
#define CL_TARGET_OPENCL_VERSION 220
|
|
#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
|
|
#pragma message("cl_version: CL_TARGET_OPENCL_VERSION is not a valid value (100, 110, 120, 200, 210, 220). Defaulting to 220 (OpenCL 2.2)")
|
|
#undef CL_TARGET_OPENCL_VERSION
|
|
#define CL_TARGET_OPENCL_VERSION 220
|
|
#endif
|
|
|
|
|
|
/* OpenCL Version */
|
|
#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 <= 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 */
|