/* * Copyright (C) 2018-2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/helpers/hw_helper.h" #include "shared/source/os_interface/hw_info_config.h" namespace NEO { template int HwInfoConfigHw::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) { enableRenderCompression(hwInfo); enableBlitterOperationsSupport(hwInfo); return 0; } template uint64_t HwInfoConfigHw::getSharedSystemMemCapabilities() { return 0; } template bool HwInfoConfigHw::isEvenContextCountRequired() { return false; } template void HwInfoConfigHw::convertTimestampsFromOaToCsDomain(uint64_t ×tampData){}; template void HwInfoConfigHw::adjustPlatformForProductFamily(HardwareInfo *hwInfo) {} template void HwInfoConfigHw::adjustSamplerState(void *sampler) {} template void HwInfoConfigHw::enableRenderCompression(HardwareInfo *hwInfo) { hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.ftrE2ECompression; hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.ftrE2ECompression; } template void HwInfoConfigHw::enableBlitterOperationsSupport(HardwareInfo *hwInfo) { hwInfo->capabilityTable.blitterOperationsSupported = HwHelper::get(hwInfo->platform.eRenderCoreFamily).obtainBlitterPreference(*hwInfo); if (DebugManager.flags.EnableBlitterOperationsSupport.get() != -1) { hwInfo->capabilityTable.blitterOperationsSupported = !!DebugManager.flags.EnableBlitterOperationsSupport.get(); } } template uint64_t HwInfoConfigHw::getDeviceMemCapabilities() { return (UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS); } template uint64_t HwInfoConfigHw::getSingleDeviceSharedMemCapabilities() { return (UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS); } template bool HwInfoConfigHw::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) { return true; } template uint64_t HwInfoConfigHw::getHostMemCapabilities(const HardwareInfo *hwInfo) { bool supported = getHostMemCapabilitiesSupported(hwInfo); if (DebugManager.flags.EnableHostUsmSupport.get() != -1) { supported = !!DebugManager.flags.EnableHostUsmSupport.get(); } return (supported ? getHostMemCapabilitiesValue() : 0); } } // namespace NEO