refactor: cleanup in product helpers
Related-To: NEO-12681 Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
This commit is contained in:
parent
87277ec9e2
commit
eeeed9edd8
|
@ -1,10 +1,12 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2022-2023 Intel Corporation
|
* Copyright (C) 2022-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/helpers/constants.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/helpers/constants.h"
|
||||||
#include "shared/source/helpers/gfx_core_helper.h"
|
#include "shared/source/helpers/gfx_core_helper.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/helpers/constants.h"
|
||||||
#include "shared/source/helpers/gfx_core_helper.h"
|
#include "shared/source/helpers/gfx_core_helper.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/helpers/constants.h"
|
||||||
#include "shared/source/helpers/gfx_core_helper.h"
|
#include "shared/source/helpers/gfx_core_helper.h"
|
||||||
|
#include "shared/source/unified_memory/usm_memory_support.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
|
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
|
||||||
switch (stepping) {
|
switch (stepping) {
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adln.h"
|
#include "shared/source/gen12lp/hw_cmds_adln.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adln.h"
|
#include "shared/source/gen12lp/hw_info_adln.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adlp.h"
|
#include "shared/source/gen12lp/hw_cmds_adlp.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adlp.h"
|
#include "shared/source/gen12lp/hw_info_adlp.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/helpers/pipeline_select_args.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/helpers/pipeline_select_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adls.h"
|
#include "shared/source/gen12lp/hw_cmds_adls.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adls.h"
|
#include "shared/source/gen12lp/hw_info_adls.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_dg1.h"
|
#include "shared/source/gen12lp/hw_cmds_dg1.h"
|
||||||
#include "shared/source/gen12lp/hw_info_dg1.h"
|
#include "shared/source/gen12lp/hw_info_dg1.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_DG1;
|
constexpr static auto gfxProduct = IGFX_DG1;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_rkl.h"
|
#include "shared/source/gen12lp/hw_cmds_rkl.h"
|
||||||
#include "shared/source/gen12lp/hw_info_rkl.h"
|
#include "shared/source/gen12lp/hw_info_rkl.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
|
constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_tgllp.h"
|
#include "shared/source/gen12lp/hw_cmds_tgllp.h"
|
||||||
#include "shared/source/gen12lp/hw_info_tgllp.h"
|
#include "shared/source/gen12lp/hw_info_tgllp.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
|
constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_before_xe2.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
template <>
|
template <>
|
||||||
void ProductHelperHw<gfxProduct>::adjustPlatformForProductFamily(HardwareInfo *hwInfo) {
|
void ProductHelperHw<gfxProduct>::adjustPlatformForProductFamily(HardwareInfo *hwInfo) {
|
||||||
|
@ -18,21 +22,28 @@ bool ProductHelperHw<gfxProduct>::isPageTableManagerSupported(const HardwareInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
||||||
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const std::vector<uint32_t> ProductHelperHw<gfxProduct>::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
||||||
return {};
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalSubRegionSize(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/helpers/constants.h"
|
||||||
#include "shared/source/helpers/gfx_core_helper.h"
|
#include "shared/source/helpers/gfx_core_helper.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adln.h"
|
#include "shared/source/gen12lp/hw_cmds_adln.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adln.h"
|
#include "shared/source/gen12lp/hw_info_adln.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adlp.h"
|
#include "shared/source/gen12lp/hw_cmds_adlp.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adlp.h"
|
#include "shared/source/gen12lp/hw_info_adlp.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/helpers/pipeline_select_args.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/helpers/pipeline_select_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_adls.h"
|
#include "shared/source/gen12lp/hw_cmds_adls.h"
|
||||||
#include "shared/source/gen12lp/hw_info_adls.h"
|
#include "shared/source/gen12lp/hw_info_adls.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
|
constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_dg1.h"
|
#include "shared/source/gen12lp/hw_cmds_dg1.h"
|
||||||
#include "shared/source/gen12lp/hw_info_dg1.h"
|
#include "shared/source/gen12lp/hw_info_dg1.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_DG1;
|
constexpr static auto gfxProduct = IGFX_DG1;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_rkl.h"
|
#include "shared/source/gen12lp/hw_cmds_rkl.h"
|
||||||
#include "shared/source/gen12lp/hw_info_rkl.h"
|
#include "shared/source/gen12lp/hw_info_rkl.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
|
constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include "shared/source/gen12lp/hw_cmds_tgllp.h"
|
#include "shared/source/gen12lp/hw_cmds_tgllp.h"
|
||||||
#include "shared/source/gen12lp/hw_info_tgllp.h"
|
#include "shared/source/gen12lp/hw_info_tgllp.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_before_xe_hpg.inl"
|
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
|
constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
|
||||||
|
|
||||||
|
|
|
@ -51,10 +51,6 @@ set(NEO_CORE_OS_INTERFACE
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/sys_calls_common.h
|
${CMAKE_CURRENT_SOURCE_DIR}/sys_calls_common.h
|
||||||
)
|
)
|
||||||
|
|
||||||
if(SUPPORT_XE_HPC_CORE OR SUPPORT_XE_HPG_CORE)
|
|
||||||
list(APPEND NEO_CORE_OS_INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/product_helper_xe_hpg_and_xe_hpc.inl)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(SUPPORT_XE_HPC_CORE OR SUPPORT_XE_HPG_CORE OR SUPPORT_XE2_HPG_CORE OR SUPPORT_XE3_CORE)
|
if(SUPPORT_XE_HPC_CORE OR SUPPORT_XE_HPG_CORE OR SUPPORT_XE2_HPG_CORE OR SUPPORT_XE3_CORE)
|
||||||
list(APPEND NEO_CORE_OS_INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/product_helper_from_xe_hpg_to_xe3.inl)
|
list(APPEND NEO_CORE_OS_INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/product_helper_from_xe_hpg_to_xe3.inl)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1039,4 +1039,72 @@ bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForQueues(bool heaples
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
const std::vector<uint32_t> ProductHelperHw<gfxProduct>::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalSubRegionSize(const HardwareInfo &hwInfo) const {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||||
|
return (UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
||||||
|
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getInternalHeapsPreallocated() const {
|
||||||
|
if (debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get() != -1) {
|
||||||
|
return debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get();
|
||||||
|
}
|
||||||
|
return 0u;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2025 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
|
|
||||||
|
namespace NEO {
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
void ProductHelperHw<gfxProduct>::enableCompression(HardwareInfo *hwInfo) const {
|
||||||
|
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.flags.ftrE2ECompression;
|
||||||
|
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.flags.ftrE2ECompression;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::deferMOCSToPatIndex() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isCopyBufferRectSplitSupported() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace NEO
|
|
@ -5,26 +5,15 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
|
||||||
return (UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
void ProductHelperHw<gfxProduct>::enableCompression(HardwareInfo *hwInfo) const {
|
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.flags.ftrE2ECompression;
|
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.flags.ftrE2ECompression;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
|
||||||
return false;
|
return false;
|
||||||
|
@ -40,92 +29,24 @@ bool ProductHelperHw<gfxProduct>::isNewResidencyModelSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::deferMOCSToPatIndex() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::heapInLocalMem(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::heapInLocalMem(const HardwareInfo &hwInfo) const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) const {
|
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) const {
|
||||||
coherencyFlag = true;
|
coherencyFlag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForEvents() const {
|
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForEvents() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isCopyBufferRectSplitSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
||||||
return 0u;
|
return 0u;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getInternalHeapsPreallocated() const {
|
|
||||||
if (debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get() != -1) {
|
|
||||||
return debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get();
|
|
||||||
}
|
|
||||||
return 0u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
|
||||||
return std::nullopt;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -5,11 +5,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/debug_settings/debug_settings_manager.h"
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForQueues(bool heaplessEnabled) const {
|
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForQueues(bool heaplessEnabled) const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getInternalHeapsPreallocated() const {
|
||||||
|
if (debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get() != -1) {
|
||||||
|
return debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get();
|
||||||
|
}
|
||||||
|
return 1u;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -14,78 +14,22 @@
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
const std::vector<uint32_t> ProductHelperHw<gfxProduct>::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalSubRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
|
||||||
return (UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
|
||||||
uint64_t capabilities = UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess;
|
|
||||||
|
|
||||||
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::sharedCrossDevice)) {
|
|
||||||
capabilities |= UnifiedSharedMemoryFlags::concurrentAccess | UnifiedSharedMemoryFlags::concurrentAtomicAccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
return capabilities;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
void ProductHelperHw<gfxProduct>::enableCompression(HardwareInfo *hwInfo) const {
|
void ProductHelperHw<gfxProduct>::enableCompression(HardwareInfo *hwInfo) const {
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.flags.ftrXe2Compression;
|
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.flags.ftrXe2Compression;
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.flags.ftrXe2Compression;
|
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.flags.ftrXe2Compression;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
|
||||||
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBlitterFullySupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return hwInfo.capabilityTable.blitterOperationsSupported;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isNewResidencyModelSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::deferMOCSToPatIndex() const {
|
bool ProductHelperHw<gfxProduct>::deferMOCSToPatIndex() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::heapInLocalMem(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||||
return false;
|
return false;
|
||||||
|
@ -96,54 +40,6 @@ bool ProductHelperHw<gfxProduct>::isCopyBufferRectSplitSupported() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForEvents() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
|
||||||
return 2u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getInternalHeapsPreallocated() const {
|
|
||||||
if (debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get() != -1) {
|
|
||||||
return debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get();
|
|
||||||
}
|
|
||||||
return 1u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) const {
|
|
||||||
coherencyFlag = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
||||||
std::array<uint64_t, 11> listOfCoherentPatIndexes = {1, 2, 4, 5, 7, 22, 23, 26, 27, 30, 31};
|
std::array<uint64_t, 11> listOfCoherentPatIndexes = {1, 2, 4, 5, 7, 22, 23, 26, 27, 30, 31};
|
||||||
|
@ -153,14 +49,4 @@ std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t p
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2025 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
|
|
||||||
|
namespace NEO {
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
||||||
|
uint64_t capabilities = UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess;
|
||||||
|
|
||||||
|
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::sharedCrossDevice)) {
|
||||||
|
capabilities |= UnifiedSharedMemoryFlags::concurrentAccess | UnifiedSharedMemoryFlags::concurrentAtomicAccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
return capabilities;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isBlitterFullySupported(const HardwareInfo &hwInfo) const {
|
||||||
|
return hwInfo.capabilityTable.blitterOperationsSupported;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isNewResidencyModelSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::heapInLocalMem(const HardwareInfo &hwInfo) const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForEvents() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
||||||
|
return 2u;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) const {
|
||||||
|
coherencyFlag = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace NEO
|
|
@ -1,129 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2021-2025 Intel Corporation
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: MIT
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
namespace NEO {
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
const std::vector<uint32_t> ProductHelperHw<gfxProduct>::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxLocalSubRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
|
||||||
return (UnifiedSharedMemoryFlags::access);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
|
||||||
uint64_t capabilities = UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess;
|
|
||||||
|
|
||||||
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::sharedCrossDevice)) {
|
|
||||||
capabilities |= UnifiedSharedMemoryFlags::concurrentAccess | UnifiedSharedMemoryFlags::concurrentAtomicAccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
return capabilities;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
void ProductHelperHw<gfxProduct>::enableCompression(HardwareInfo *hwInfo) const {
|
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.flags.ftrE2ECompression;
|
|
||||||
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.flags.ftrE2ECompression;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
|
||||||
if (isMaxThreadsForWorkgroupWARequired(hwInfo)) {
|
|
||||||
return std::min(getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice), 64u);
|
|
||||||
}
|
|
||||||
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBlitterFullySupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return hwInfo.capabilityTable.blitterOperationsSupported;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isNewResidencyModelSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::deferMOCSToPatIndex() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) const {
|
|
||||||
coherencyFlag = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isCopyBufferRectSplitSupported() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isTimestampWaitSupportedForEvents() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getInternalHeapsPreallocated() const {
|
|
||||||
if (debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get() != -1) {
|
|
||||||
return debugManager.flags.SetAmountOfInternalHeapsToPreallocate.get();
|
|
||||||
}
|
|
||||||
return 1u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
|
||||||
return 2u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
|
||||||
bool ProductHelperHw<gfxProduct>::heapInLocalMem(const HardwareInfo &hwInfo) const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace NEO
|
|
|
@ -20,11 +20,6 @@ bool ProductHelperHw<gfxProduct>::isResolveDependenciesByPipeControlsSupported(c
|
||||||
return enabled;
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
|
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
|
||||||
return aub_stream::ProductFamily::Bmg;
|
return aub_stream::ProductFamily::Bmg;
|
||||||
|
|
|
@ -5,11 +5,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/helpers/constants.h"
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe2_hpg_core/hw_cmds_bmg.h"
|
#include "shared/source/xe2_hpg_core/hw_cmds_bmg.h"
|
||||||
#include "shared/source/xe2_hpg_core/hw_info_bmg.h"
|
#include "shared/source/xe2_hpg_core/hw_info_bmg.h"
|
||||||
|
|
||||||
|
|
|
@ -5,12 +5,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/helpers/constants.h"
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/kernel/kernel_properties.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe2_hpg_core/hw_cmds_lnl.h"
|
#include "shared/source/xe2_hpg_core/hw_cmds_lnl.h"
|
||||||
#include "shared/source/xe2_hpg_core/hw_info_lnl.h"
|
#include "shared/source/xe2_hpg_core/hw_info_lnl.h"
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/command_stream/command_stream_receiver.h"
|
#include "shared/source/command_stream/command_stream_receiver.h"
|
||||||
|
#include "shared/source/direct_submission/direct_submission_controller.h"
|
||||||
|
#include "shared/source/memory_manager/allocation_properties.h"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
||||||
|
@ -93,11 +95,6 @@ TimeoutParams ProductHelperHw<gfxProduct>::getDirectSubmissionControllerTimeoutP
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isMisalignedUserPtr2WayCoherent() const {
|
bool ProductHelperHw<gfxProduct>::isMisalignedUserPtr2WayCoherent() const {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -5,8 +5,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper.inl"
|
||||||
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
||||||
#include "shared/source/os_interface/product_helper_xe_hpc_and_later.inl"
|
#include "shared/source/os_interface/product_helper_xe_hpc_and_later.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe_hpg_and_later.inl"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2024 Intel Corporation
|
* Copyright (C) 2024-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe2_hpg_core/hw_cmds_bmg.h"
|
#include "shared/source/xe2_hpg_core/hw_cmds_bmg.h"
|
||||||
#include "shared/source/xe2_hpg_core/hw_info_bmg.h"
|
#include "shared/source/xe2_hpg_core/hw_info_bmg.h"
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe2_hpg_core/hw_cmds_lnl.h"
|
#include "shared/source/xe2_hpg_core/hw_cmds_lnl.h"
|
||||||
#include "shared/source/xe2_hpg_core/hw_info_lnl.h"
|
#include "shared/source/xe2_hpg_core/hw_info_lnl.h"
|
||||||
|
|
||||||
|
|
|
@ -5,12 +5,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/helpers/constants.h"
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/kernel/kernel_properties.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe3_core/hw_cmds_ptl.h"
|
#include "shared/source/xe3_core/hw_cmds_ptl.h"
|
||||||
#include "shared/source/xe3_core/hw_info_ptl.h"
|
#include "shared/source/xe3_core/hw_info_ptl.h"
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper.inl"
|
||||||
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
||||||
#include "shared/source/os_interface/product_helper_xe_hpc_and_later.inl"
|
#include "shared/source/os_interface/product_helper_xe_hpc_and_later.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe_hpg_and_later.inl"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/command_stream/command_stream_receiver.h"
|
#include "shared/source/command_stream/command_stream_receiver.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe2_and_later.inl"
|
|
||||||
#include "shared/source/xe3_core/hw_cmds_ptl.h"
|
#include "shared/source/xe3_core/hw_cmds_ptl.h"
|
||||||
#include "shared/source/xe3_core/hw_info_ptl.h"
|
#include "shared/source/xe3_core/hw_info_ptl.h"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2024 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
|
@ -14,8 +14,7 @@
|
||||||
#include "shared/source/os_interface/linux/pci_path.h"
|
#include "shared/source/os_interface/linux/pci_path.h"
|
||||||
#include "shared/source/os_interface/linux/pmt_util.h"
|
#include "shared/source/os_interface/linux/pmt_util.h"
|
||||||
#include "shared/source/os_interface/linux/sys_calls.h"
|
#include "shared/source/os_interface/linux/sys_calls.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/utilities/directory.h"
|
#include "shared/source/utilities/directory.h"
|
||||||
#include "shared/source/xe_hpc_core/hw_cmds_pvc.h"
|
#include "shared/source/xe_hpc_core/hw_cmds_pvc.h"
|
||||||
|
|
||||||
|
|
|
@ -55,17 +55,17 @@ bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,9 @@
|
||||||
#include "shared/source/execution_environment/root_device_environment.h"
|
#include "shared/source/execution_environment/root_device_environment.h"
|
||||||
#include "shared/source/helpers/definitions/indirect_detection_versions.h"
|
#include "shared/source/helpers/definitions/indirect_detection_versions.h"
|
||||||
#include "shared/source/helpers/string_helpers.h"
|
#include "shared/source/helpers/string_helpers.h"
|
||||||
#include "shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl"
|
#include "shared/source/os_interface/product_helper.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_before_xe2.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe_hpg_and_later.inl"
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
||||||
|
@ -253,14 +255,27 @@ bool ProductHelperHw<gfxProduct>::supportReadOnlyAllocations() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
|
||||||
return std::nullopt;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isSharingWith3dOrMediaAllowed() const {
|
bool ProductHelperHw<gfxProduct>::isSharingWith3dOrMediaAllowed() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||||
|
return (UnifiedSharedMemoryFlags::access);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
||||||
|
if (isMaxThreadsForWorkgroupWARequired(hwInfo)) {
|
||||||
|
return std::min(getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice), 64u);
|
||||||
|
}
|
||||||
|
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2024 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/kernel/kernel_properties.h"
|
#include "shared/source/kernel/kernel_properties.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/xe_hpc_core/hw_cmds_pvc.h"
|
#include "shared/source/xe_hpc_core/hw_cmds_pvc.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_PVC;
|
constexpr static auto gfxProduct = IGFX_PVC;
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
|
|
||||||
#include "shared/source/command_stream/command_stream_receiver.h"
|
#include "shared/source/command_stream/command_stream_receiver.h"
|
||||||
#include "shared/source/helpers/gfx_core_helper.h"
|
#include "shared/source/helpers/gfx_core_helper.h"
|
||||||
|
#include "shared/source/helpers/local_memory_access_modes.h"
|
||||||
#include "shared/source/memory_manager/memory_manager.h"
|
#include "shared/source/memory_manager/memory_manager.h"
|
||||||
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
#include "shared/source/unified_memory/usm_memory_support.h"
|
||||||
#include "shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl"
|
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
|
|
||||||
|
@ -200,21 +200,6 @@ bool ProductHelperHw<gfxProduct>::isResolveDependenciesByPipeControlsSupported(c
|
||||||
return enabled;
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
||||||
return true;
|
return true;
|
||||||
|
@ -257,19 +242,14 @@ void ProductHelperHw<gfxProduct>::adjustNumberOfCcs(HardwareInfo &hwInfo) const
|
||||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1;
|
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t patIndex) const {
|
|
||||||
return std::nullopt;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||||
return true;
|
return (UnifiedSharedMemoryFlags::access);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2023 Intel Corporation
|
* Copyright (C) 2023-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_arl.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_arl.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ARROWLAKE;
|
constexpr static auto gfxProduct = IGFX_ARROWLAKE;
|
||||||
|
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/linux/product_helper_xe_lpg_linux.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/linux/product_helper_xe_lpg_linux.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
||||||
|
|
||||||
|
|
|
@ -5,22 +5,17 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/command_stream/stream_properties.h"
|
|
||||||
#include "shared/source/debug_settings/debug_settings_manager.h"
|
|
||||||
#include "shared/source/device/device.h"
|
|
||||||
#include "shared/source/execution_environment/root_device_environment.h"
|
|
||||||
#include "shared/source/helpers/driver_model_type.h"
|
#include "shared/source/helpers/driver_model_type.h"
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/helpers/string.h"
|
|
||||||
#include "shared/source/kernel/kernel_properties.h"
|
|
||||||
#include "shared/source/os_interface/linux/drm_neo.h"
|
#include "shared/source/os_interface/linux/drm_neo.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/os_interface.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_dg2.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_dg2.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_DG2;
|
constexpr static auto gfxProduct = IGFX_DG2;
|
||||||
|
|
||||||
#include "shared/source/xe_hpg_core/dg2/os_agnostic_product_helper_dg2.inl"
|
#include "shared/source/xe_hpg_core/dg2/os_agnostic_product_helper_dg2.inl"
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2022-2024 Intel Corporation
|
* Copyright (C) 2022-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_mtl.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_mtl.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_METEORLAKE;
|
constexpr static auto gfxProduct = IGFX_METEORLAKE;
|
||||||
|
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/linux/product_helper_xe_lpg_linux.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/linux/product_helper_xe_lpg_linux.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2025 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_before_xe2.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
||||||
|
#include "shared/source/os_interface/product_helper_xe_hpg_and_later.inl"
|
||||||
|
|
||||||
|
namespace NEO {
|
||||||
|
|
||||||
|
template <>
|
||||||
|
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
||||||
|
if (isMaxThreadsForWorkgroupWARequired(hwInfo)) {
|
||||||
|
return std::min(getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice), 64u);
|
||||||
|
}
|
||||||
|
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace NEO
|
|
@ -1,14 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2023 Intel Corporation
|
* Copyright (C) 2023-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_arl.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_arl.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_ARROWLAKE;
|
constexpr static auto gfxProduct = IGFX_ARROWLAKE;
|
||||||
|
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/windows/product_helper_xe_lpg_windows.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/windows/product_helper_xe_lpg_windows.inl"
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,18 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2024 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/command_stream/stream_properties.h"
|
|
||||||
#include "shared/source/debug_settings/debug_settings_manager.h"
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#include "shared/source/helpers/hw_info.h"
|
||||||
#include "shared/source/kernel/kernel_properties.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_dg2.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_dg2.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_DG2;
|
constexpr static auto gfxProduct = IGFX_DG2;
|
||||||
|
|
||||||
#include "shared/source/xe_hpg_core/dg2/os_agnostic_product_helper_dg2.inl"
|
#include "shared/source/xe_hpg_core/dg2/os_agnostic_product_helper_dg2.inl"
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
|
|
||||||
#include "windows_product_helper_dg2_extra.inl"
|
#include "windows_product_helper_dg2_extra.inl"
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2022-2023 Intel Corporation
|
* Copyright (C) 2022-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
#include "shared/source/xe_hpg_core/hw_cmds_mtl.h"
|
#include "shared/source/xe_hpg_core/hw_cmds_mtl.h"
|
||||||
|
|
||||||
constexpr static auto gfxProduct = IGFX_METEORLAKE;
|
constexpr static auto gfxProduct = IGFX_METEORLAKE;
|
||||||
|
|
||||||
|
#include "shared/source/xe_hpg_core/os_agnostic_product_helper_xe_hpg_core.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/os_agnostic_product_helper_xe_lpg.inl"
|
||||||
#include "shared/source/xe_hpg_core/xe_lpg/windows/product_helper_xe_lpg_windows.inl"
|
#include "shared/source/xe_hpg_core/xe_lpg/windows/product_helper_xe_lpg_windows.inl"
|
||||||
|
|
||||||
|
|
|
@ -10,20 +10,12 @@
|
||||||
#include "shared/source/memory_manager/allocation_properties.h"
|
#include "shared/source/memory_manager/allocation_properties.h"
|
||||||
#include "shared/source/memory_manager/allocation_type.h"
|
#include "shared/source/memory_manager/allocation_type.h"
|
||||||
#include "shared/source/os_interface/product_helper.h"
|
#include "shared/source/os_interface/product_helper.h"
|
||||||
#include "shared/source/os_interface/product_helper.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_from_xe_hpg_to_xe3.inl"
|
|
||||||
#include "shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl"
|
|
||||||
|
|
||||||
#include "aubstream/product_family.h"
|
#include "aubstream/product_family.h"
|
||||||
#include "platforms.h"
|
#include "platforms.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
template <>
|
|
||||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
|
||||||
return (UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isPageTableManagerSupported(const HardwareInfo &hwInfo) const {
|
bool ProductHelperHw<gfxProduct>::isPageTableManagerSupported(const HardwareInfo &hwInfo) const {
|
||||||
return hwInfo.capabilityTable.ftrRenderCompressedBuffers || hwInfo.capabilityTable.ftrRenderCompressedImages;
|
return hwInfo.capabilityTable.ftrRenderCompressedBuffers || hwInfo.capabilityTable.ftrRenderCompressedImages;
|
||||||
|
@ -58,31 +50,11 @@ bool ProductHelperHw<gfxProduct>::isResolveDependenciesByPipeControlsSupported(c
|
||||||
return enabled;
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::overrideAllocationCacheable(const AllocationData &allocationData) const {
|
bool ProductHelperHw<gfxProduct>::overrideAllocationCacheable(const AllocationData &allocationData) const {
|
||||||
return allocationData.type == AllocationType::commandBuffer;
|
return allocationData.type == AllocationType::commandBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
uint32_t ProductHelperHw<gfxProduct>::getCommandBuffersPreallocatedPerCommandQueue() const {
|
|
||||||
return 2u;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
std::optional<GfxMemoryAllocationMethod> ProductHelperHw<gfxProduct>::getPreferredAllocationMethod(AllocationType allocationType) const {
|
std::optional<GfxMemoryAllocationMethod> ProductHelperHw<gfxProduct>::getPreferredAllocationMethod(AllocationType allocationType) const {
|
||||||
switch (allocationType) {
|
switch (allocationType) {
|
||||||
|
@ -114,12 +86,8 @@ std::optional<bool> ProductHelperHw<gfxProduct>::isCoherentAllocation(uint64_t p
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -21,20 +21,6 @@ template <>
|
||||||
void ProductHelperHw<IGFX_UNKNOWN>::adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) const {
|
void ProductHelperHw<IGFX_UNKNOWN>::adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
|
||||||
const std::vector<uint32_t> ProductHelperHw<IGFX_UNKNOWN>::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
template <>
|
|
||||||
uint32_t ProductHelperHw<IGFX_UNKNOWN>::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
|
||||||
uint32_t ProductHelperHw<IGFX_UNKNOWN>::getMaxLocalSubRegionSize(const HardwareInfo &hwInfo) const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
uint32_t ProductHelperHw<IGFX_UNKNOWN>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
uint32_t ProductHelperHw<IGFX_UNKNOWN>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -432,33 +418,33 @@ std::vector<uint32_t> ProductHelperHw<IGFX_UNKNOWN>::getSupportedNumGrfs(const R
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isBufferPoolAllocatorSupported() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::isBufferPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmPoolAllocatorSupported() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::isHostUsmPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmPoolAllocatorSupported() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::isDeviceUsmPoolAllocatorSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isDeviceUsmAllocationReuseSupported() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::isDeviceUsmAllocationReuseSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isHostUsmAllocationReuseSupported() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::isHostUsmAllocationReuseSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <>
|
||||||
bool ProductHelperHw<gfxProduct>::useLocalPreferredForCacheableBuffers() const {
|
bool ProductHelperHw<IGFX_UNKNOWN>::useLocalPreferredForCacheableBuffers() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue