From f8cae41e70c032f15a034dede07f1db0835d6f37 Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Tue, 19 Sep 2023 02:25:41 +0200 Subject: [PATCH] Revert "fix: correct adjusting hw info for IGC, cover all cases" This reverts commit a75fcb6de02deb5c679ca71d73774ef4c5c72f1d. Signed-off-by: Compute-Runtime-Validation --- .../source/ocloc_igc_facade.cpp | 11 +++++--- .../igc_platform_helper.cpp | 8 +----- .../compiler_interface_tests.cpp | 27 +++++++------------ 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/shared/offline_compiler/source/ocloc_igc_facade.cpp b/shared/offline_compiler/source/ocloc_igc_facade.cpp index be2621718d..ec1241d373 100644 --- a/shared/offline_compiler/source/ocloc_igc_facade.cpp +++ b/shared/offline_compiler/source/ocloc_igc_facade.cpp @@ -98,10 +98,15 @@ int OclocIgcFacade::initialize(const HardwareInfo &hwInfo) { } auto compilerProductHelper = NEO::CompilerProductHelper::create(hwInfo.platform.eProductFamily); - populateIgcPlatform(*igcPlatform, hwInfo); - IGC::GtSysInfoHelper::PopulateInterfaceWith(*igcGtSystemInfo.get(), hwInfo.gtSystemInfo); + auto copyHwInfo = hwInfo; + if (compilerProductHelper) { + compilerProductHelper->adjustHwInfoForIgc(copyHwInfo); + } - populateWithFeatures(igcFtrWa.get(), hwInfo, compilerProductHelper.get()); + populateIgcPlatform(*igcPlatform, copyHwInfo); + IGC::GtSysInfoHelper::PopulateInterfaceWith(*igcGtSystemInfo.get(), copyHwInfo.gtSystemInfo); + + populateWithFeatures(igcFtrWa.get(), copyHwInfo, compilerProductHelper.get()); initialized = true; return OCLOC_SUCCESS; diff --git a/shared/source/compiler_interface/igc_platform_helper.cpp b/shared/source/compiler_interface/igc_platform_helper.cpp index ddbdce74d5..300cc74ad7 100644 --- a/shared/source/compiler_interface/igc_platform_helper.cpp +++ b/shared/source/compiler_interface/igc_platform_helper.cpp @@ -7,7 +7,6 @@ #include "shared/source/compiler_interface/igc_platform_helper.h" -#include "shared/source/helpers/compiler_product_helper.h" #include "shared/source/helpers/hw_info.h" #include "ocl_igc_interface/gt_system_info.h" @@ -22,12 +21,7 @@ void populateIgcPlatform<>(IGC::Platform<1> &igcPlatform, const HardwareInfo &hw } template <> -void populateIgcPlatform<>(IGC::Platform<2> &igcPlatform, const HardwareInfo &inputHwInfo) { - auto hwInfo = inputHwInfo; - auto compilerProductHelper = CompilerProductHelper::create(hwInfo.platform.eProductFamily); - if (compilerProductHelper) { - compilerProductHelper->adjustHwInfoForIgc(hwInfo); - } +void populateIgcPlatform<>(IGC::Platform<2> &igcPlatform, const HardwareInfo &hwInfo) { igcPlatform.SetProductFamily(hwInfo.platform.eProductFamily); igcPlatform.SetPCHProductFamily(hwInfo.platform.ePCHProductFamily); igcPlatform.SetDisplayCoreFamily(hwInfo.platform.eDisplayCoreFamily); diff --git a/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp b/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp index 9dedb872ba..48df955c08 100644 --- a/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp +++ b/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp @@ -905,39 +905,30 @@ HWTEST_F(CompilerInterfaceTest, givenNoDbgKeyForceUseDifferentPlatformWhenReques auto igcPlatform = devCtx->GetPlatformHandle(); auto igcSysInfo = devCtx->GetGTSystemInfoHandle(); - auto hwInfo = device->getHardwareInfo(); - device->getCompilerProductHelper().adjustHwInfoForIgc(hwInfo); - - EXPECT_EQ(hwInfo.platform.eProductFamily, igcPlatform->GetProductFamily()); - EXPECT_EQ(hwInfo.platform.eRenderCoreFamily, igcPlatform->GetRenderCoreFamily()); - EXPECT_EQ(hwInfo.gtSystemInfo.SliceCount, igcSysInfo->GetSliceCount()); - EXPECT_EQ(hwInfo.gtSystemInfo.SubSliceCount, igcSysInfo->GetSubSliceCount()); - EXPECT_EQ(hwInfo.gtSystemInfo.EUCount, igcSysInfo->GetEUCount()); - EXPECT_EQ(hwInfo.gtSystemInfo.ThreadCount, igcSysInfo->GetThreadCount()); + EXPECT_EQ(device->getHardwareInfo().platform.eProductFamily, igcPlatform->GetProductFamily()); + EXPECT_EQ(device->getHardwareInfo().platform.eRenderCoreFamily, igcPlatform->GetRenderCoreFamily()); + EXPECT_EQ(device->getHardwareInfo().gtSystemInfo.SliceCount, igcSysInfo->GetSliceCount()); + EXPECT_EQ(device->getHardwareInfo().gtSystemInfo.SubSliceCount, igcSysInfo->GetSubSliceCount()); + EXPECT_EQ(device->getHardwareInfo().gtSystemInfo.EUCount, igcSysInfo->GetEUCount()); + EXPECT_EQ(device->getHardwareInfo().gtSystemInfo.ThreadCount, igcSysInfo->GetThreadCount()); } HWTEST_F(CompilerInterfaceTest, givenDbgKeyForceUseDifferentPlatformWhenRequestForNewTranslationCtxThenUseDbgKeyPlatform) { DebugManagerStateRestore dbgRestore; - auto dbgProdFamily = defaultHwInfo->platform.eProductFamily; + auto dbgProdFamily = DEFAULT_TEST_PLATFORM::hwInfo.platform.eProductFamily; std::string dbgPlatformString(hardwarePrefix[dbgProdFamily]); const GT_SYSTEM_INFO dbgSystemInfo = hardwareInfoTable[dbgProdFamily]->gtSystemInfo; DebugManager.flags.ForceCompilerUsePlatform.set(dbgPlatformString); auto device = this->pDevice; - device->getRootDeviceEnvironment().getMutableHardwareInfo()->platform.eProductFamily = IGFX_UNKNOWN; - device->getRootDeviceEnvironment().getMutableHardwareInfo()->platform.eRenderCoreFamily = IGFX_UNKNOWN_CORE; - auto retIgc = pCompilerInterface->createIgcTranslationCtx(*device, IGC::CodeType::spirV, IGC::CodeType::oclGenBin); EXPECT_NE(nullptr, retIgc); IGC::IgcOclDeviceCtxTagOCL *devCtx = pCompilerInterface->peekIgcDeviceCtx(device); auto igcPlatform = devCtx->GetPlatformHandle(); auto igcSysInfo = devCtx->GetGTSystemInfoHandle(); - auto hwInfo = *hardwareInfoTable[dbgProdFamily]; - device->getCompilerProductHelper().adjustHwInfoForIgc(hwInfo); - - EXPECT_EQ(hwInfo.platform.eProductFamily, igcPlatform->GetProductFamily()); - EXPECT_EQ(hwInfo.platform.eRenderCoreFamily, igcPlatform->GetRenderCoreFamily()); + EXPECT_EQ(hardwareInfoTable[dbgProdFamily]->platform.eProductFamily, igcPlatform->GetProductFamily()); + EXPECT_EQ(hardwareInfoTable[dbgProdFamily]->platform.eRenderCoreFamily, igcPlatform->GetRenderCoreFamily()); EXPECT_EQ(dbgSystemInfo.SliceCount, igcSysInfo->GetSliceCount()); EXPECT_EQ(dbgSystemInfo.SubSliceCount, igcSysInfo->GetSubSliceCount()); EXPECT_EQ(dbgSystemInfo.DualSubSliceCount, igcSysInfo->GetSubSliceCount());