From 8d32a3a3ada2c710e2b01f3324ae8e7c2c1e9e5b Mon Sep 17 00:00:00 2001 From: Mateusz Hoppe Date: Fri, 23 Aug 2024 17:58:00 +0000 Subject: [PATCH] feature: use global bindless allocator in L0 on DG2 Related-To: NEO-7063, NEO-11533 Signed-off-by: Mateusz Hoppe --- .../test/unit_tests/sources/kernel/test_kernel.cpp | 10 ++++++++-- .../release_helper/release_helper_common_xe_hpg.inl | 5 +++++ .../release_helper/release_helper_12_55_tests.cpp | 1 + .../release_helper/release_helper_12_56_tests.cpp | 1 + .../release_helper/release_helper_12_57_tests.cpp | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp b/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp index 1d765beb29..7078fe17c9 100644 --- a/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp +++ b/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp @@ -3847,8 +3847,14 @@ TEST_F(BindlessKernelTest, givenBindlessKernelWhenPatchingCrossThreadDataThenCor EXPECT_EQ(patchValue1, crossThreadData[0]); EXPECT_EQ(patchValue2, crossThreadData[1]); EXPECT_EQ(0u, crossThreadData[2]); - EXPECT_EQ(patchValue3, crossThreadData[3]); - EXPECT_EQ(patchValue4, crossThreadData[4]); + + if (neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->getBindlessHeapsHelper() == nullptr) { + EXPECT_EQ(patchValue3, crossThreadData[3]); + EXPECT_EQ(patchValue4, crossThreadData[4]); + } else { + EXPECT_EQ(0u, crossThreadData[3]); + EXPECT_EQ(0u, crossThreadData[4]); + } } TEST_F(BindlessKernelTest, givenBindlessKernelWithPatchedBindlessOffsetsWhenPatchingCrossThreadDataThenMemoryIsNotPatched) { diff --git a/shared/source/release_helper/release_helper_common_xe_hpg.inl b/shared/source/release_helper/release_helper_common_xe_hpg.inl index 7dcfc1a8a9..8cb8922e66 100644 --- a/shared/source/release_helper/release_helper_common_xe_hpg.inl +++ b/shared/source/release_helper/release_helper_common_xe_hpg.inl @@ -39,4 +39,9 @@ bool ReleaseHelperHw::isBindlessAddressingDisabled() const { return false; } +template <> +bool ReleaseHelperHw::isGlobalBindlessAllocatorEnabled() const { + return true; +} + } // namespace NEO diff --git a/shared/test/unit_test/release_helper/release_helper_12_55_tests.cpp b/shared/test/unit_test/release_helper/release_helper_12_55_tests.cpp index 3ce015a9dc..57a83d39da 100644 --- a/shared/test/unit_test/release_helper/release_helper_12_55_tests.cpp +++ b/shared/test/unit_test/release_helper/release_helper_12_55_tests.cpp @@ -37,6 +37,7 @@ TEST_F(ReleaseHelper1255Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe EXPECT_FALSE(releaseHelper->isAuxSurfaceModeOverrideRequired()); EXPECT_TRUE(releaseHelper->isRcsExposureDisabled()); EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled()); + EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled()); EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu()); EXPECT_TRUE(releaseHelper->isRayTracingSupported()); } diff --git a/shared/test/unit_test/release_helper/release_helper_12_56_tests.cpp b/shared/test/unit_test/release_helper/release_helper_12_56_tests.cpp index 1fe536440f..cc33d1623c 100644 --- a/shared/test/unit_test/release_helper/release_helper_12_56_tests.cpp +++ b/shared/test/unit_test/release_helper/release_helper_12_56_tests.cpp @@ -37,6 +37,7 @@ TEST_F(ReleaseHelper1256Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe EXPECT_FALSE(releaseHelper->isAuxSurfaceModeOverrideRequired()); EXPECT_TRUE(releaseHelper->isRcsExposureDisabled()); EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled()); + EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled()); EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu()); EXPECT_TRUE(releaseHelper->isRayTracingSupported()); } diff --git a/shared/test/unit_test/release_helper/release_helper_12_57_tests.cpp b/shared/test/unit_test/release_helper/release_helper_12_57_tests.cpp index 9d4be57e14..80ae2bb998 100644 --- a/shared/test/unit_test/release_helper/release_helper_12_57_tests.cpp +++ b/shared/test/unit_test/release_helper/release_helper_12_57_tests.cpp @@ -37,6 +37,7 @@ TEST_F(ReleaseHelper1257Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe EXPECT_FALSE(releaseHelper->isAuxSurfaceModeOverrideRequired()); EXPECT_TRUE(releaseHelper->isRcsExposureDisabled()); EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled()); + EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled()); EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu()); EXPECT_TRUE(releaseHelper->isRayTracingSupported()); }