Move L0HwHelper ownership to RootDeviceEnvironment 2/n

Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<L0CoreHelper> for
- imageCompressionSupported
- usmCompressionSupported
- forceDefaultUsmCompressionSupport
This commit is contained in:
Kamil Kopryk 2022-11-15 12:53:23 +00:00 committed by Compute-Runtime-Automation
parent 9564af14f5
commit 146e18d9a4
5 changed files with 20 additions and 19 deletions

View File

@ -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<L0CoreHelper>();
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;
}

View File

@ -225,13 +225,13 @@ void ImageCoreFamily<gfxCoreFamily>::copyRedescribedSurfaceStateToSSH(void *surf
template <GFXCORE_FAMILY gfxCoreFamily>
bool ImageCoreFamily<gfxCoreFamily>::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<L0CoreHelper>();
if (structuresLookupTable.uncompressedHint) {
return false;
}
return (l0HwHelper.imageCompressionSupported(hwInfo) && !imgInfo.linearStorage);
return (loCoreHelper.imageCompressionSupported(hwInfo) && !imgInfo.linearStorage);
}
} // namespace L0

View File

@ -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<L0CoreHelper>();
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<L0CoreHelper>();
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) {

View File

@ -880,7 +880,8 @@ HWTEST2_F(ImageGetMemoryProperties, givenDebugFlagSetWhenCreatingImageThenEnable
EXPECT_NE(nullptr, imagePtr);
std::unique_ptr<L0::Image> image(imagePtr);
EXPECT_EQ(L0HwHelperHw<FamilyType>::get().imageCompressionSupported(device->getHwInfo()), image->getAllocation()->isCompressionEnabled());
auto &l0CoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
EXPECT_EQ(l0CoreHelper.imageCompressionSupported(device->getHwInfo()), image->getAllocation()->isCompressionEnabled());
}
{

View File

@ -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<FamilyType>::get();
auto &l0CoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
auto &hwHelper = NEO::HwHelperHw<FamilyType>::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);