/* * Copyright (C) 2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/helpers/api_specific_config.h" #include #include namespace NEO { ApiSpecificConfig::ApiType apiTypeForUlts = ApiSpecificConfig::OCL; bool isStatelessCompressionSupportedForUlts = true; StackVec validUltL0Prefixes = {"NEO_L0_", "NEO_", ""}; StackVec validUltL0PrefixTypes = {DebugVarPrefix::Neo_L0, DebugVarPrefix::Neo, DebugVarPrefix::None}; StackVec validUltOclPrefixes = {"NEO_OCL_", "NEO_", ""}; StackVec validUltOclPrefixTypes = {DebugVarPrefix::Neo_Ocl, DebugVarPrefix::Neo, DebugVarPrefix::None}; bool ApiSpecificConfig::isStatelessCompressionSupported() { return isStatelessCompressionSupportedForUlts; } bool ApiSpecificConfig::getGlobalBindlessHeapConfiguration() { return DebugManager.flags.UseExternalAllocatorForSshAndDsh.get(); } bool ApiSpecificConfig::getBindlessMode() { if (DebugManager.flags.UseBindlessMode.get() != -1) { return DebugManager.flags.UseBindlessMode.get(); } else { return false; } } bool ApiSpecificConfig::isDeviceAllocationCacheEnabled() { return false; } bool ApiSpecificConfig::isDynamicPostSyncAllocLayoutEnabled() { return (NEO::DebugManager.flags.EnableDynamicPostSyncAllocLayout.get() == 1); } ApiSpecificConfig::ApiType ApiSpecificConfig::getApiType() { return apiTypeForUlts; } uint64_t ApiSpecificConfig::getReducedMaxAllocSize(uint64_t maxAllocSize) { return maxAllocSize / 2; } std::string ApiSpecificConfig::getName() { return "shared"; } const char *ApiSpecificConfig::getRegistryPath() { return ""; } void ApiSpecificConfig::initPrefixes() { } const StackVec &ApiSpecificConfig::getPrefixStrings() { if (apiTypeForUlts == ApiSpecificConfig::L0) { return validUltL0Prefixes; } else { return validUltOclPrefixes; } } const StackVec &ApiSpecificConfig::getPrefixTypes() { if (apiTypeForUlts == ApiSpecificConfig::L0) { return validUltL0PrefixTypes; } else { return validUltOclPrefixTypes; } } } // namespace NEO