fix: Extend MTL's overridePatIndex to XE LPG
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
parent
964f0166d7
commit
b44729771c
|
@ -12,20 +12,6 @@ constexpr static auto gfxProduct = IGFX_METEORLAKE;
|
|||
#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"
|
||||
namespace NEO {
|
||||
template <>
|
||||
uint64_t ProductHelperHw<gfxProduct>::overridePatIndex(bool isUncachedType, uint64_t patIndex, AllocationType allocationType) const {
|
||||
switch (allocationType) {
|
||||
case NEO::AllocationType::buffer:
|
||||
return 0u;
|
||||
default:
|
||||
return 3u;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template class NEO::ProductHelperHw<gfxProduct>;
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
* Copyright (C) 2023-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/memory_manager/allocation_type.h"
|
||||
#include "shared/source/os_interface/linux/product_helper_mtl_and_later.inl"
|
||||
#include "shared/source/os_interface/product_helper_hw.h"
|
||||
|
||||
namespace NEO {
|
||||
template <>
|
||||
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
|
||||
|
@ -33,4 +35,20 @@ template <>
|
|||
bool ProductHelperHw<gfxProduct>::isVmBindPatIndexProgrammingSupported() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<gfxProduct>::overridePatIndex(bool isUncachedType, uint64_t patIndex, AllocationType allocationType) const {
|
||||
switch (allocationType) {
|
||||
case NEO::AllocationType::buffer:
|
||||
return 0u;
|
||||
default:
|
||||
return 3u;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::useGemCreateExtInAllocateMemoryByKMD() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
|
|
@ -26,3 +26,4 @@ HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenIsAdjustWalkOrde
|
|||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenGetMediaFrequencyTileIndexCallThenFalseReturn, IGFX_ARROWLAKE);
|
||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenCheckBlitEnqueueAllowedThenReturnTrue, IGFX_ARROWLAKE);
|
||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, whenGettingPreferredAllocationMethodThenNoPreferenceIsReturned, IGFX_ARROWLAKE);
|
||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenBooleanUncachedWhenCallOverridePatIndexThenProperPatIndexIsReturned, IGFX_ARROWLAKE);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
* Copyright (C) 2023-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -85,3 +85,14 @@ ARLTEST_F(ArlHwInfoLinux, whenSetupHardwareInfoThenGtSetupIsCorrect) {
|
|||
EXPECT_GT(gtSystemInfo.MaxSubSlicesSupported, 0u);
|
||||
EXPECT_GT(gtSystemInfo.MaxEuPerSubSlice, 0u);
|
||||
}
|
||||
|
||||
ARLTEST_F(ArlProductHelperLinux, givenBooleanUncachedWhenCallOverridePatIndexThenProperPatIndexIsReturned) {
|
||||
uint64_t patIndex = 1u;
|
||||
bool isUncached = true;
|
||||
EXPECT_EQ(0u, productHelper->overridePatIndex(isUncached, patIndex, AllocationType::buffer));
|
||||
EXPECT_EQ(3u, productHelper->overridePatIndex(isUncached, patIndex, AllocationType::commandBuffer));
|
||||
|
||||
isUncached = false;
|
||||
EXPECT_EQ(0u, productHelper->overridePatIndex(isUncached, patIndex, AllocationType::buffer));
|
||||
EXPECT_EQ(3u, productHelper->overridePatIndex(isUncached, patIndex, AllocationType::commandBuffer));
|
||||
}
|
Loading…
Reference in New Issue