From 6f4a56d440d5fddf2c71d29bfc707cba184c2a5d Mon Sep 17 00:00:00 2001 From: Lukasz Jobczyk Date: Mon, 28 Apr 2025 09:38:52 +0000 Subject: [PATCH] refactor: pass product helper to isFenceAllocationRequired Related-To: NEO-14642 Signed-off-by: Lukasz Jobczyk --- .../gfx_core_helper_tests_xe_hpc_core.cpp | 17 +++++++++-------- .../command_stream/command_stream_receiver.cpp | 7 ++++--- shared/source/helpers/gfx_core_helper.h | 4 ++-- .../helpers/gfx_core_helper_bdw_to_dg2.inl | 2 +- .../helpers/gfx_core_helper_pvc_and_later.inl | 2 +- shared/test/common/mocks/mock_gfx_core_helper.h | 4 ++-- .../command_stream_receiver_tests.cpp | 4 ++-- .../test/unit_test/device/neo_device_tests.cpp | 2 +- .../windows/wddm_direct_submission_tests.cpp | 2 +- .../gfx_core_helper_tests_xe2_hpg_core.cpp | 17 +++++++++-------- .../xe3_core/gfx_core_helper_xe3_core_tests.cpp | 17 +++++++++-------- 11 files changed, 41 insertions(+), 37 deletions(-) diff --git a/opencl/test/unit_test/xe_hpc_core/gfx_core_helper_tests_xe_hpc_core.cpp b/opencl/test/unit_test/xe_hpc_core/gfx_core_helper_tests_xe_hpc_core.cpp index dec5df4f8e..22aed4a3f3 100644 --- a/opencl/test/unit_test/xe_hpc_core/gfx_core_helper_tests_xe_hpc_core.cpp +++ b/opencl/test/unit_test/xe_hpc_core/gfx_core_helper_tests_xe_hpc_core.cpp @@ -593,44 +593,45 @@ XE_HPC_CORETEST_F(GfxCoreHelperTestsXeHpcCore, whenPipecontrolWaIsProgrammedThen XE_HPC_CORETEST_F(GfxCoreHelperTestsXeHpcCore, givenGfxCoreHelperWhenAskedIfFenceAllocationRequiredThenReturnCorrectValue) { DebugManagerStateRestore dbgRestore; - auto hwInfo = *defaultHwInfo; - auto &gfxCoreHelper = getHelper(); + const auto hwInfo = *defaultHwInfo; + const auto &gfxCoreHelper = getHelper(); + const auto &productHelper = getHelper(); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(-1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(-1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(-1); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper), !hwInfo.capabilityTable.isIntegratedDevice); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(1); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); } XE_HPC_CORETEST_F(GfxCoreHelperTestsXeHpcCore, givenDontProgramGlobalFenceAsMiMemFenceCommandInCommandStreamWhenGettingSizeForAdditionalSynchronizationThenCorrectValueIsReturned) { diff --git a/shared/source/command_stream/command_stream_receiver.cpp b/shared/source/command_stream/command_stream_receiver.cpp index e34bba7731..3f19f0cbf3 100644 --- a/shared/source/command_stream/command_stream_receiver.cpp +++ b/shared/source/command_stream/command_stream_receiver.cpp @@ -884,9 +884,10 @@ bool CommandStreamReceiver::createWorkPartitionAllocation(const Device &device) } bool CommandStreamReceiver::createGlobalFenceAllocation() { - auto &gfxCoreHelper = getGfxCoreHelper(); - auto &hwInfo = peekHwInfo(); - if (!gfxCoreHelper.isFenceAllocationRequired(hwInfo)) { + const auto &gfxCoreHelper = this->getGfxCoreHelper(); + const auto &hwInfo = this->peekHwInfo(); + const auto &productHelper = this->getProductHelper(); + if (!gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)) { return true; } diff --git a/shared/source/helpers/gfx_core_helper.h b/shared/source/helpers/gfx_core_helper.h index 21990305d7..c3b6bb38fe 100644 --- a/shared/source/helpers/gfx_core_helper.h +++ b/shared/source/helpers/gfx_core_helper.h @@ -63,7 +63,7 @@ class GfxCoreHelper { virtual SipKernelType getSipKernelType(bool debuggingActive) const = 0; virtual bool isLocalMemoryEnabled(const HardwareInfo &hwInfo) const = 0; virtual bool is1MbAlignmentSupported(const HardwareInfo &hwInfo, bool isCompressionEnabled) const = 0; - virtual bool isFenceAllocationRequired(const HardwareInfo &hwInfo) const = 0; + virtual bool isFenceAllocationRequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const = 0; virtual const AubMemDump::LrcaHelper &getCsTraits(aub_stream::EngineType engineType) const = 0; virtual bool hvAlign4Required() const = 0; virtual bool isBufferSizeSuitableForCompression(const size_t size) const = 0; @@ -280,7 +280,7 @@ class GfxCoreHelperHw : public GfxCoreHelper { bool is1MbAlignmentSupported(const HardwareInfo &hwInfo, bool isCompressionEnabled) const override; - bool isFenceAllocationRequired(const HardwareInfo &hwInfo) const override; + bool isFenceAllocationRequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const override; bool makeResidentBeforeLockNeeded(bool precondition) const override; diff --git a/shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl b/shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl index e4bf694f3f..be9a4265f5 100644 --- a/shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl +++ b/shared/source/helpers/gfx_core_helper_bdw_to_dg2.inl @@ -9,7 +9,7 @@ namespace NEO { template -bool GfxCoreHelperHw::isFenceAllocationRequired(const HardwareInfo &hwInfo) const { +bool GfxCoreHelperHw::isFenceAllocationRequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const { return false; } diff --git a/shared/source/helpers/gfx_core_helper_pvc_and_later.inl b/shared/source/helpers/gfx_core_helper_pvc_and_later.inl index dc9b7ebb97..3bb4fdc705 100644 --- a/shared/source/helpers/gfx_core_helper_pvc_and_later.inl +++ b/shared/source/helpers/gfx_core_helper_pvc_and_later.inl @@ -11,7 +11,7 @@ namespace NEO { template -bool GfxCoreHelperHw::isFenceAllocationRequired(const HardwareInfo &hwInfo) const { +bool GfxCoreHelperHw::isFenceAllocationRequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const { if ((debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.get() == 1) || (debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.get() == 1) || (debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.get() == 1) || diff --git a/shared/test/common/mocks/mock_gfx_core_helper.h b/shared/test/common/mocks/mock_gfx_core_helper.h index 34b3c7fdcd..b98397c2c0 100644 --- a/shared/test/common/mocks/mock_gfx_core_helper.h +++ b/shared/test/common/mocks/mock_gfx_core_helper.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -15,7 +15,7 @@ namespace NEO { template class MockGfxCoreHelperHw : public GfxCoreHelperHw { public: - bool isFenceAllocationRequired(const HardwareInfo &hwInfo) const override { + bool isFenceAllocationRequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const override { return true; } void setExtraAllocationData(AllocationData &allocationData, const AllocationProperties &properties, const RootDeviceEnvironment &rootDeviceEnvironment) const override { diff --git a/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp b/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp index e782dac306..ba96ac25c2 100644 --- a/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp +++ b/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp @@ -6078,7 +6078,7 @@ HWTEST_F(CommandStreamReceiverContextGroupTest, givenSecondaryCsrWhenGettingInte EXPECT_NE(primaryCsr->getTagAllocation(), secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getTagAllocation()); } - if (gfxCoreHelper.isFenceAllocationRequired(hwInfo)) { + if (gfxCoreHelper.isFenceAllocationRequired(hwInfo, device->getRootDeviceEnvironment().getHelper())) { EXPECT_EQ(primaryCsr->getGlobalFenceAllocation(), secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getGlobalFenceAllocation()); } @@ -6131,7 +6131,7 @@ HWTEST_F(CommandStreamReceiverContextGroupTest, givenSecondaryRootCsrWhenGetting EXPECT_NE(primaryCsr->getTagAllocation(), secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getTagAllocation()); } - if (gfxCoreHelper.isFenceAllocationRequired(hwInfo)) { + if (gfxCoreHelper.isFenceAllocationRequired(hwInfo, device->getRootDeviceEnvironment().getHelper())) { EXPECT_EQ(primaryCsr->getGlobalFenceAllocation(), secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getGlobalFenceAllocation()); } diff --git a/shared/test/unit_test/device/neo_device_tests.cpp b/shared/test/unit_test/device/neo_device_tests.cpp index 3aef11a6ff..44b5d1d8b2 100644 --- a/shared/test/unit_test/device/neo_device_tests.cpp +++ b/shared/test/unit_test/device/neo_device_tests.cpp @@ -2017,7 +2017,7 @@ HWTEST_F(DeviceTests, givenContextGroupEnabledWhenGettingSecondaryEngineThenReso EXPECT_NE(nullptr, secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getTagAllocation()); - if (gfxCoreHelper.isFenceAllocationRequired(hwInfo)) { + if (gfxCoreHelper.isFenceAllocationRequired(hwInfo, device->getRootDeviceEnvironment().getHelper())) { EXPECT_NE(nullptr, secondaryEngines.engines[secondaryIndex].commandStreamReceiver->getGlobalFenceAllocation()); } if (device->getPreemptionMode() == PreemptionMode::MidThread) { diff --git a/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp b/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp index 90d017f6f9..b47accf61e 100644 --- a/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp +++ b/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp @@ -139,7 +139,7 @@ HWTEST_F(WddmDirectSubmissionGlobalFenceTest, givenWddmWhenDirectIsInitializedWi EXPECT_TRUE(ret); EXPECT_TRUE(wddmDirectSubmission->ringStart); - auto isFenceRequired = device->getGfxCoreHelper().isFenceAllocationRequired(device->getHardwareInfo()); + auto isFenceRequired = device->getGfxCoreHelper().isFenceAllocationRequired(device->getHardwareInfo(), device->getProductHelper()); auto &compilerProductHelper = device->getCompilerProductHelper(); auto isHeaplessStateInit = compilerProductHelper.isHeaplessStateInitEnabled(compilerProductHelper.isHeaplessModeEnabled(*defaultHwInfo)); if (isFenceRequired && !isHeaplessStateInit) { diff --git a/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp b/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp index c1f9a0558a..84b2f2e25c 100644 --- a/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp +++ b/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp @@ -478,44 +478,45 @@ XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, whenPipecontrolWaIsProgrammedTh XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenAskedIfFenceAllocationRequiredThenReturnCorrectValue) { DebugManagerStateRestore dbgRestore; - auto hwInfo = *defaultHwInfo; - auto &gfxCoreHelper = getHelper(); + const auto hwInfo = *defaultHwInfo; + const auto &gfxCoreHelper = getHelper(); + const auto &productHelper = getHelper(); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(-1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(-1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(-1); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper), !hwInfo.capabilityTable.isIntegratedDevice); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(1); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); } XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenDefaultMemorySynchronizationCommandsWhenGettingSizeForAdditionalSynchronizationThenCorrectValueIsReturned) { diff --git a/shared/test/unit_test/xe3_core/gfx_core_helper_xe3_core_tests.cpp b/shared/test/unit_test/xe3_core/gfx_core_helper_xe3_core_tests.cpp index 0529c871ec..70ec8f20b9 100644 --- a/shared/test/unit_test/xe3_core/gfx_core_helper_xe3_core_tests.cpp +++ b/shared/test/unit_test/xe3_core/gfx_core_helper_xe3_core_tests.cpp @@ -480,44 +480,45 @@ XE3_CORETEST_F(GfxCoreHelperTestsXe3Core, whenNonBcsEngineIsVerifiedThenReturnFa XE3_CORETEST_F(GfxCoreHelperTestsXe3Core, givenGfxCoreHelperWhenAskedIfFenceAllocationRequiredThenReturnCorrectValue) { DebugManagerStateRestore dbgRestore; - auto hwInfo = *defaultHwInfo; - auto &gfxCoreHelper = getHelper(); + const auto hwInfo = *defaultHwInfo; + const auto &gfxCoreHelper = getHelper(); + const auto &productHelper = getHelper(); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(-1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(-1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(-1); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper), !hwInfo.capabilityTable.isIntegratedDevice); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_FALSE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(1); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(1); - EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo, productHelper)); } XE3_CORETEST_F(GfxCoreHelperTestsXe3Core, givenDefaultMemorySynchronizationCommandsWhenGettingSizeForAdditionalSynchronizationThenCorrectValueIsReturned) {