1 /* 2 * Copyright (C) 2018-2021 Intel Corporation 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 */ 7 8 #pragma once 9 10 #include "shared/source/utilities/stackvec.h" 11 12 #include "CL/cl.h" 13 14 #include <string> 15 16 using OpenClCFeaturesContainer = StackVec<cl_name_version, 15>; 17 18 namespace NEO { 19 struct HardwareInfo; 20 21 namespace Extensions { 22 constexpr const char *const sharingFormatQuery = "cl_intel_sharing_format_query "; 23 } 24 extern const char *deviceExtensionsList; 25 26 std::string getExtensionsList(const HardwareInfo &hwInfo); 27 void getOpenclCFeaturesList(const HardwareInfo &hwInfo, OpenClCFeaturesContainer &openclCFeatures); 28 std::string convertEnabledExtensionsToCompilerInternalOptions(const char *deviceExtensions, 29 OpenClCFeaturesContainer &openclCFeatures); 30 std::string getOclVersionCompilerInternalOption(unsigned int oclVersion); 31 32 } // namespace NEO 33