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/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 {
|
||||||
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>;
|
template class NEO::ProductHelperHw<gfxProduct>;
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2023 Intel Corporation
|
* Copyright (C) 2023-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/helpers/hw_info.h"
|
#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/linux/product_helper_mtl_and_later.inl"
|
||||||
#include "shared/source/os_interface/product_helper_hw.h"
|
#include "shared/source/os_interface/product_helper_hw.h"
|
||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
template <>
|
template <>
|
||||||
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
|
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
|
||||||
|
@ -33,4 +35,20 @@ template <>
|
||||||
bool ProductHelperHw<gfxProduct>::isVmBindPatIndexProgrammingSupported() const {
|
bool ProductHelperHw<gfxProduct>::isVmBindPatIndexProgrammingSupported() const {
|
||||||
return true;
|
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
|
} // namespace NEO
|
||||||
|
|
|
@ -26,3 +26,4 @@ HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenIsAdjustWalkOrde
|
||||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenGetMediaFrequencyTileIndexCallThenFalseReturn, IGFX_ARROWLAKE);
|
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenGetMediaFrequencyTileIndexCallThenFalseReturn, IGFX_ARROWLAKE);
|
||||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenCheckBlitEnqueueAllowedThenReturnTrue, IGFX_ARROWLAKE);
|
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenCheckBlitEnqueueAllowedThenReturnTrue, IGFX_ARROWLAKE);
|
||||||
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, whenGettingPreferredAllocationMethodThenNoPreferenceIsReturned, 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
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
|
@ -85,3 +85,14 @@ ARLTEST_F(ArlHwInfoLinux, whenSetupHardwareInfoThenGtSetupIsCorrect) {
|
||||||
EXPECT_GT(gtSystemInfo.MaxSubSlicesSupported, 0u);
|
EXPECT_GT(gtSystemInfo.MaxSubSlicesSupported, 0u);
|
||||||
EXPECT_GT(gtSystemInfo.MaxEuPerSubSlice, 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