1 //---------------------------------------------------------------------------// 2 // Copyright (c) 2018 Jakub Szuppe <j.szuppe@gmail.com> 3 // 4 // Distributed under the Boost Software License, Version 1.0 5 // See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt 7 // 8 // See http://boostorg.github.com/compute for more information. 9 //---------------------------------------------------------------------------// 10 11 #ifndef BOOST_COMPUTE_DETAIL_CL_VERSION_HPP 12 #define BOOST_COMPUTE_DETAIL_CL_VERSION_HPP 13 14 #if defined(BOOST_COMPUTE_MAX_CL_VERSION) 15 # if !defined(CL_USE_DEPRECATED_OPENCL_2_1_APIS) && BOOST_COMPUTE_MAX_CL_VERSION < 202 16 # define CL_USE_DEPRECATED_OPENCL_2_1_APIS 17 # endif 18 # if !defined(CL_USE_DEPRECATED_OPENCL_2_0_APIS) && BOOST_COMPUTE_MAX_CL_VERSION < 201 19 # define CL_USE_DEPRECATED_OPENCL_2_0_APIS 20 # endif 21 # if !defined(CL_USE_DEPRECATED_OPENCL_1_2_APIS) && BOOST_COMPUTE_MAX_CL_VERSION < 200 22 # define CL_USE_DEPRECATED_OPENCL_1_2_APIS 23 # endif 24 # if !defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) && BOOST_COMPUTE_MAX_CL_VERSION < 102 25 # define CL_USE_DEPRECATED_OPENCL_1_1_APIS 26 # endif 27 # if !defined(CL_USE_DEPRECATED_OPENCL_1_0_APIS) && BOOST_COMPUTE_MAX_CL_VERSION < 101 28 # define CL_USE_DEPRECATED_OPENCL_1_0_APIS 29 # endif 30 #endif 31 32 #if defined(BOOST_COMPUTE_MAX_CL_VERSION) && !defined(CL_TARGET_OPENCL_VERSION) 33 # if BOOST_COMPUTE_MAX_CL_VERSION == 201 34 # define CL_TARGET_OPENCL_VERSION 210 35 # elif BOOST_COMPUTE_MAX_CL_VERSION == 200 36 # define CL_TARGET_OPENCL_VERSION 200 37 # elif BOOST_COMPUTE_MAX_CL_VERSION == 102 38 # define CL_TARGET_OPENCL_VERSION 120 39 # elif BOOST_COMPUTE_MAX_CL_VERSION == 101 40 # define CL_TARGET_OPENCL_VERSION 110 41 # elif BOOST_COMPUTE_MAX_CL_VERSION == 100 42 # define CL_TARGET_OPENCL_VERSION 100 43 # else 44 # define CL_TARGET_OPENCL_VERSION 220 45 # endif 46 #endif 47 48 #if defined(BOOST_COMPUTE_MAX_CL_VERSION) && defined(CL_TARGET_OPENCL_VERSION) 49 # if BOOST_COMPUTE_MAX_CL_VERSION == 202 && CL_TARGET_OPENCL_VERSION != 220 50 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 51 # elif BOOST_COMPUTE_MAX_CL_VERSION == 201 && CL_TARGET_OPENCL_VERSION != 210 52 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 53 # elif BOOST_COMPUTE_MAX_CL_VERSION == 200 && CL_TARGET_OPENCL_VERSION != 200 54 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 55 # elif BOOST_COMPUTE_MAX_CL_VERSION == 102 && CL_TARGET_OPENCL_VERSION != 120 56 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 57 # elif BOOST_COMPUTE_MAX_CL_VERSION == 101 && CL_TARGET_OPENCL_VERSION != 110 58 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 59 # elif BOOST_COMPUTE_MAX_CL_VERSION == 100 && CL_TARGET_OPENCL_VERSION != 100 60 # error "Boost.Compute: CL_TARGET_OPENCL_VERSION definition does not match BOOST_COMPUTE_MAX_CL_VERSION" 61 # endif 62 #endif 63 64 #endif // BOOST_COMPUTE_DETAIL_CL_VERSION_HPP 65