Skip to content

Commit 960aff5

Browse files
Update isBlitCopyRequiredForLocalMemory helper function
Related-To: NEO-4871 Change-Id: I351cd3abfba0b77292dec814cc279705e827420f Signed-off-by: Filip Hazubski <[email protected]>
1 parent f87f05b commit 960aff5

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

opencl/test/unit_test/gen12lp/hw_helper_tests_gen12lp.inl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,6 @@ GEN12LPTEST_F(HwHelperTestGen12Lp, whenGettingComputeEngineIndexByOrdinalThenCor
255255
}
256256
}
257257

258-
GEN12LPTEST_F(HwHelperTestGen12Lp, givenDefaultHwHelperHwWhenGettingIsBlitCopyRequiredForLocalMemoryThenFalseIsReturned) {
259-
auto &helper = HwHelper::get(renderCoreFamily);
260-
EXPECT_FALSE(helper.isBlitCopyRequiredForLocalMemory(*defaultHwInfo));
261-
}
262-
263258
class HwHelperTestsGen12LpBuffer : public ::testing::Test {
264259
public:
265260
void SetUp() override {

opencl/test/unit_test/helpers/hw_helper_tests.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,21 @@ HWTEST_F(HwHelperTest, givenDefaultHwHelperHwWhenMinimalSIMDSizeIsQueriedThen8Is
911911
EXPECT_EQ(8u, helper.getMinimalSIMDSize());
912912
}
913913

914+
HWTEST_F(HwHelperTest, whenGettingIsBlitCopyRequiredForLocalMemoryThenCorrectValuesAreReturned) {
915+
DebugManagerStateRestore restore{};
916+
auto &helper = HwHelper::get(renderCoreFamily);
917+
918+
auto expectedDefaultValue = (helper.getLocalMemoryAccessMode(*defaultHwInfo) == LocalMemoryAccessMode::CpuAccessDisallowed);
919+
EXPECT_EQ(expectedDefaultValue, helper.isBlitCopyRequiredForLocalMemory(*defaultHwInfo));
920+
921+
DebugManager.flags.ForceLocalMemoryAccessMode.set(0);
922+
EXPECT_FALSE(helper.isBlitCopyRequiredForLocalMemory(*defaultHwInfo));
923+
DebugManager.flags.ForceLocalMemoryAccessMode.set(1);
924+
EXPECT_FALSE(helper.isBlitCopyRequiredForLocalMemory(*defaultHwInfo));
925+
DebugManager.flags.ForceLocalMemoryAccessMode.set(3);
926+
EXPECT_TRUE(helper.isBlitCopyRequiredForLocalMemory(*defaultHwInfo));
927+
}
928+
914929
HWTEST_F(HwHelperTest, givenVariousDebugKeyValuesWhenGettingLocalMemoryAccessModeThenCorrectValueIsReturned) {
915930
struct MockHwHelper : HwHelperHw<FamilyType> {
916931
using HwHelper::getDefaultLocalMemoryAccessMode;

shared/source/helpers/hw_helper_base.inl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,8 @@ inline bool HwHelperHw<GfxFamily>::allowRenderCompression(const HardwareInfo &hw
389389

390390
template <typename GfxFamily>
391391
inline bool HwHelperHw<GfxFamily>::isBlitCopyRequiredForLocalMemory(const HardwareInfo &hwInfo) const {
392-
return false;
392+
HwHelper &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
393+
return (hwHelper.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessDisallowed);
393394
}
394395

395396
template <typename GfxFamily>

0 commit comments

Comments
 (0)