From 146e18d9a4eab5f8de02dd00edad44488f091f6c Mon Sep 17 00:00:00 2001 From: Kamil Kopryk Date: Tue, 15 Nov 2022 12:53:23 +0000 Subject: [PATCH] Move L0HwHelper ownership to RootDeviceEnvironment 2/n Related-To: NEO-6853 Signed-off-by: Kamil Kopryk Use RootDeviceEnvironment getHelper for - imageCompressionSupported - usmCompressionSupported - forceDefaultUsmCompressionSupport --- .../core/source/context/context_imp.cpp | 6 +++--- level_zero/core/source/image/image_hw.inl | 4 ++-- .../sources/helper/l0_hw_helper_tests.cpp | 20 +++++++++---------- .../unit_tests/sources/image/test_image.cpp | 3 ++- .../unit_tests/sources/memory/test_memory.cpp | 6 +++--- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/level_zero/core/source/context/context_imp.cpp b/level_zero/core/source/context/context_imp.cpp index 8c4cfd6fdb..dc772848eb 100644 --- a/level_zero/core/source/context/context_imp.cpp +++ b/level_zero/core/source/context/context_imp.cpp @@ -795,13 +795,13 @@ ze_result_t ContextImp::createImage(ze_device_handle_t hDevice, bool ContextImp::isAllocationSuitableForCompression(const StructuresLookupTable &structuresLookupTable, Device &device, size_t allocSize) { auto &hwInfo = device.getHwInfo(); auto &hwHelper = device.getHwHelper(); - auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily); + auto &l0CoreHelper = device.getNEODevice()->getRootDeviceEnvironment().getHelper(); - if (!l0HwHelper.usmCompressionSupported(hwInfo) || !hwHelper.isBufferSizeSuitableForCompression(allocSize, hwInfo) || structuresLookupTable.uncompressedHint) { + if (!l0CoreHelper.usmCompressionSupported(hwInfo) || !hwHelper.isBufferSizeSuitableForCompression(allocSize, hwInfo) || structuresLookupTable.uncompressedHint) { return false; } - if (l0HwHelper.forceDefaultUsmCompressionSupport()) { + if (l0CoreHelper.forceDefaultUsmCompressionSupport()) { return true; } diff --git a/level_zero/core/source/image/image_hw.inl b/level_zero/core/source/image/image_hw.inl index c14281adf7..178964076b 100644 --- a/level_zero/core/source/image/image_hw.inl +++ b/level_zero/core/source/image/image_hw.inl @@ -225,13 +225,13 @@ void ImageCoreFamily::copyRedescribedSurfaceStateToSSH(void *surf template bool ImageCoreFamily::isSuitableForCompression(const StructuresLookupTable &structuresLookupTable, const NEO::ImageInfo &imgInfo) { auto &hwInfo = device->getHwInfo(); - auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily); + auto &loCoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper(); if (structuresLookupTable.uncompressedHint) { return false; } - return (l0HwHelper.imageCompressionSupported(hwInfo) && !imgInfo.linearStorage); + return (loCoreHelper.imageCompressionSupported(hwInfo) && !imgInfo.linearStorage); } } // namespace L0 diff --git a/level_zero/core/test/unit_tests/sources/helper/l0_hw_helper_tests.cpp b/level_zero/core/test/unit_tests/sources/helper/l0_hw_helper_tests.cpp index f25ae0e312..3e06bac590 100644 --- a/level_zero/core/test/unit_tests/sources/helper/l0_hw_helper_tests.cpp +++ b/level_zero/core/test/unit_tests/sources/helper/l0_hw_helper_tests.cpp @@ -73,38 +73,38 @@ static void printAttentionBitmask(uint8_t *expected, uint8_t *actual, uint32_t m HWTEST_F(L0HwHelperTest, givenL0HwHelperWhenAskingForImageCompressionSupportThenReturnFalse) { DebugManagerStateRestore restore; - auto &l0HwHelper = L0::L0HwHelper::get(NEO::defaultHwInfo->platform.eRenderCoreFamily); + auto &l0CoreHelper = getHelper(); - EXPECT_FALSE(l0HwHelper.imageCompressionSupported(*NEO::defaultHwInfo)); + EXPECT_FALSE(l0CoreHelper.imageCompressionSupported(*NEO::defaultHwInfo)); NEO::DebugManager.flags.RenderCompressedImagesEnabled.set(1); - EXPECT_TRUE(l0HwHelper.imageCompressionSupported(*NEO::defaultHwInfo)); + EXPECT_TRUE(l0CoreHelper.imageCompressionSupported(*NEO::defaultHwInfo)); NEO::DebugManager.flags.RenderCompressedImagesEnabled.set(0); - EXPECT_FALSE(l0HwHelper.imageCompressionSupported(*NEO::defaultHwInfo)); + EXPECT_FALSE(l0CoreHelper.imageCompressionSupported(*NEO::defaultHwInfo)); } HWTEST_F(L0HwHelperTest, givenL0HwHelperWhenAskingForUsmCompressionSupportThenReturnFalse) { DebugManagerStateRestore restore; - auto &l0HwHelper = L0::L0HwHelper::get(NEO::defaultHwInfo->platform.eRenderCoreFamily); + auto &l0CoreHelper = getHelper(); - EXPECT_FALSE(l0HwHelper.forceDefaultUsmCompressionSupport()); + EXPECT_FALSE(l0CoreHelper.forceDefaultUsmCompressionSupport()); HardwareInfo hwInfo = *NEO::defaultHwInfo; hwInfo.capabilityTable.ftrRenderCompressedBuffers = true; - EXPECT_FALSE(l0HwHelper.usmCompressionSupported(hwInfo)); + EXPECT_FALSE(l0CoreHelper.usmCompressionSupported(hwInfo)); hwInfo.capabilityTable.ftrRenderCompressedBuffers = false; - EXPECT_FALSE(l0HwHelper.usmCompressionSupported(hwInfo)); + EXPECT_FALSE(l0CoreHelper.usmCompressionSupported(hwInfo)); NEO::DebugManager.flags.RenderCompressedBuffersEnabled.set(1); - EXPECT_TRUE(l0HwHelper.usmCompressionSupported(hwInfo)); + EXPECT_TRUE(l0CoreHelper.usmCompressionSupported(hwInfo)); hwInfo.capabilityTable.ftrRenderCompressedBuffers = true; NEO::DebugManager.flags.RenderCompressedBuffersEnabled.set(0); - EXPECT_FALSE(l0HwHelper.usmCompressionSupported(hwInfo)); + EXPECT_FALSE(l0CoreHelper.usmCompressionSupported(hwInfo)); } HWTEST_F(L0HwHelperTest, givenSliceSubsliceEuAndThreadIdsWhenGettingBitmaskThenCorrectBitmaskIsReturned) { diff --git a/level_zero/core/test/unit_tests/sources/image/test_image.cpp b/level_zero/core/test/unit_tests/sources/image/test_image.cpp index 619aa8c8e7..4e7964473a 100644 --- a/level_zero/core/test/unit_tests/sources/image/test_image.cpp +++ b/level_zero/core/test/unit_tests/sources/image/test_image.cpp @@ -880,7 +880,8 @@ HWTEST2_F(ImageGetMemoryProperties, givenDebugFlagSetWhenCreatingImageThenEnable EXPECT_NE(nullptr, imagePtr); std::unique_ptr image(imagePtr); - EXPECT_EQ(L0HwHelperHw::get().imageCompressionSupported(device->getHwInfo()), image->getAllocation()->isCompressionEnabled()); + auto &l0CoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper(); + EXPECT_EQ(l0CoreHelper.imageCompressionSupported(device->getHwInfo()), image->getAllocation()->isCompressionEnabled()); } { diff --git a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp index 552eb8d53b..675f9ba5bb 100644 --- a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp +++ b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp @@ -339,14 +339,14 @@ struct CompressionMemoryTest : public MemoryTest { HWTEST2_F(CompressionMemoryTest, givenDeviceUsmWhenAllocatingThenEnableCompressionIfPossible, IsAtLeastSkl) { device->getNEODevice()->getRootDeviceEnvironment().getMutableHardwareInfo()->capabilityTable.ftrRenderCompressedBuffers = true; auto &hwInfo = device->getHwInfo(); - auto &l0HwHelper = L0HwHelperHw::get(); + auto &l0CoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper(); auto &hwHelper = NEO::HwHelperHw::get(); // Default path { auto allocation = allocDeviceMem(2048); - auto supportedByDefault = l0HwHelper.usmCompressionSupported(hwInfo) && l0HwHelper.forceDefaultUsmCompressionSupport(); + auto supportedByDefault = l0CoreHelper.usmCompressionSupported(hwInfo) && l0CoreHelper.forceDefaultUsmCompressionSupport(); EXPECT_EQ(supportedByDefault, allocation->isCompressionEnabled()); @@ -405,7 +405,7 @@ HWTEST2_F(CompressionMemoryTest, givenDeviceUsmWhenAllocatingThenEnableCompressi auto allocation = allocDeviceMem(2048); - EXPECT_EQ(l0HwHelper.usmCompressionSupported(hwInfo), allocation->isCompressionEnabled()); + EXPECT_EQ(l0CoreHelper.usmCompressionSupported(hwInfo), allocation->isCompressionEnabled()); context->freeMem(ptr);