diff --git a/opencl/test/unit_test/command_stream/command_stream_receiver_flush_task_tests_xehp_and_later.cpp b/opencl/test/unit_test/command_stream/command_stream_receiver_flush_task_tests_xehp_and_later.cpp index 75e29fcc95..daf7adaee6 100644 --- a/opencl/test/unit_test/command_stream/command_stream_receiver_flush_task_tests_xehp_and_later.cpp +++ b/opencl/test/unit_test/command_stream/command_stream_receiver_flush_task_tests_xehp_and_later.cpp @@ -99,9 +99,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, gi EXPECT_TRUE(UnitTestHelper::getPipeControlHdcPipelineFlush(*pipeControlCmd)); } -HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandDebugKeyAndStateBaseAddressWhenItIsRequiredThenThereIsPipeControlPriorToIt) { +HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledAndStateBaseAddressWhenItIsRequiredThenThereIsPipeControlPriorToIt) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS; auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); @@ -125,9 +125,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, gi EXPECT_TRUE(UnitTestHelper::getPipeControlHdcPipelineFlush(*pipeControlCmd)); } -HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandDebugKeyAndStateSipWhenItIsRequiredThenThereIsPipeControlPriorToIt) { +HWCMDTEST_F(IGFX_XE_HP_CORE, CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledAndStateSipWhenItIsRequiredThenThereIsPipeControlPriorToIt) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS; using STATE_SIP = typename FamilyType::STATE_SIP; @@ -209,9 +209,9 @@ HWTEST2_F(CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramPipeContr EXPECT_EQ(sipAllocation->getGpuAddressToPatch(), sipCmd->getSystemInstructionPointer()); } -HWTEST2_F(CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandDebugKeyAndStateSipWhenA0SteppingIsActivatedThenOnlyGlobalSipIsProgrammed, IsXEHP) { +HWTEST2_F(CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledAndStateSipWhenA0SteppingIsActivatedThenOnlyGlobalSipIsProgrammed, IsXEHP) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using STATE_SIP = typename FamilyType::STATE_SIP; using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; diff --git a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_tests_dg2_and_later.cpp b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_tests_dg2_and_later.cpp index de761ba881..bf1a121564 100644 --- a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_tests_dg2_and_later.cpp +++ b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_tests_dg2_and_later.cpp @@ -64,9 +64,9 @@ HWTEST2_F(CommandStreamReceiverHwTestDg2AndLater, givenGen12AndLaterWhenRayTraci typedef UltCommandStreamReceiverTest CommandStreamReceiverFlushTaskDg2AndLaterTests; -HWTEST2_F(CommandStreamReceiverFlushTaskDg2AndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandWhenPerDssBackedBufferThenThereIsPipeControlPriorToIt, MatcherIsRTCapable) { +HWTEST2_F(CommandStreamReceiverFlushTaskDg2AndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledWhenPerDssBackedBufferThenThereIsPipeControlPriorToIt, MatcherIsRTCapable) { DebugManagerStateRestore restore; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; using _3DSTATE_BTD = typename FamilyType::_3DSTATE_BTD; diff --git a/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp b/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp index b00a94507f..9ac6c1a22c 100644 --- a/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp +++ b/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp @@ -316,10 +316,10 @@ HWTEST_F(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfPrefetchDisablingIsRequir HWTEST_F(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfPipeControlPriorToNonPipelinedStateCommandsWARequiredThenFalseIsReturned) { const auto &hwInfoConfig = *HwInfoConfig::get(pInHwInfo.platform.eProductFamily); auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(pInHwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(pInHwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_FALSE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_FALSE(isBasicWARequired); } HWTEST2_F(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfHeapInLocalMemThenFalseIsReturned, IsAtMostGen12lp) { diff --git a/opencl/test/unit_test/test_files/igdrcl.config b/opencl/test/unit_test/test_files/igdrcl.config index 2b46ce7f53..1853119f12 100644 --- a/opencl/test/unit_test/test_files/igdrcl.config +++ b/opencl/test/unit_test/test_files/igdrcl.config @@ -329,7 +329,7 @@ DoNotFreeResources = 0 OverrideGmmResourceUsageField = -1 LogAllocationType = 0 LogAllocationStdout = 0 -ProgramPipeControlPriorToNonPipelinedStateCommand = -1 +ProgramExtendedPipeControlPriorToNonPipelinedStateCommand = -1 ProgramWalkerPartitionSelfCleanup = -1 WparidRegisterProgramming = -1 UsePipeControlAfterPartitionedWalker = -1 diff --git a/opencl/test/unit_test/xe_hp_core/excludes_xe_hp_core.cpp b/opencl/test/unit_test/xe_hp_core/excludes_xe_hp_core.cpp index b36610c1f4..5b4283afea 100644 --- a/opencl/test/unit_test/xe_hp_core/excludes_xe_hp_core.cpp +++ b/opencl/test/unit_test/xe_hp_core/excludes_xe_hp_core.cpp @@ -17,4 +17,4 @@ HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfTile64With3 HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfBlitterForImagesIsSupportedThenFalseIsReturned, IGFX_XE_HP_CORE); HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfPipeControlPriorToNonPipelinedStateCommandsWARequiredThenFalseIsReturned, IGFX_XE_HP_CORE); HWTEST_EXCLUDE_PRODUCT(HwHelperTest, whenGettingDefaultRevisionIdThenCorrectValueIsReturned, IGFX_XE_HP_CORE); -HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandDebugKeyAndStateSipWhenItIsRequiredThenThereIsPipeControlPriorToIt, IGFX_XE_HP_CORE); +HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverFlushTaskXeHPAndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledAndStateSipWhenItIsRequiredThenThereIsPipeControlPriorToIt, IGFX_XE_HP_CORE); diff --git a/opencl/test/unit_test/xe_hp_core/xehp/test_hw_info_config_xehp.inl b/opencl/test/unit_test/xe_hp_core/xehp/test_hw_info_config_xehp.inl index bc15fe326f..d24141f706 100644 --- a/opencl/test/unit_test/xe_hp_core/xehp/test_hw_info_config_xehp.inl +++ b/opencl/test/unit_test/xe_hp_core/xehp/test_hw_info_config_xehp.inl @@ -121,36 +121,36 @@ XEHPTEST_F(XeHPHwInfoConfig, givenHwInfoConfigWithMultipleCSSWhenIsPipeControlPr hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } -XEHPTEST_F(XeHPHwInfoConfig, givenProgramPipeControlPriorToNonPipelinedStateCommandWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledThenTrueIsReturned) { +XEHPTEST_F(XeHPHwInfoConfig, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledThenTrueIsReturned) { DebugManagerStateRestore restorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } -XEHPTEST_F(XeHPHwInfoConfig, givenProgramPipeControlPriorToNonPipelinedStateCommandDisabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledThenFalseIsReturned) { +XEHPTEST_F(XeHPHwInfoConfig, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandDisabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledThenFalseIsReturned) { DebugManagerStateRestore restorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(0); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(0); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } diff --git a/opencl/test/unit_test/xe_hpc_core/excludes_xe_hpc_core.cpp b/opencl/test/unit_test/xe_hpc_core/excludes_xe_hpc_core.cpp index fd6724582a..9a90ad8642 100644 --- a/opencl/test/unit_test/xe_hpc_core/excludes_xe_hpc_core.cpp +++ b/opencl/test/unit_test/xe_hpc_core/excludes_xe_hpc_core.cpp @@ -28,7 +28,7 @@ HWTEST_EXCLUDE_PRODUCT(LocalWorkSizeTest, givenDispatchInfoWhenWorkSizeInfoIsCre HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, whenCallingGetDeviceMemoryNameThenDdrIsReturned, IGFX_XE_HPC_CORE); HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHardwareInfoWhenCallingIsMaxThreadsForWorkgroupWARequiredThenFalseIsReturned, IGFX_XE_HPC_CORE); HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfPipeControlPriorToNonPipelinedStateCommandsWARequiredThenFalseIsReturned, IGFX_XE_HPC_CORE); -HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverFlushTaskDg2AndLaterTests, givenProgramPipeControlPriorToNonPipelinedStateCommandWhenPerDssBackedBufferThenThereIsPipeControlPriorToIt_MatcherIsRTCapable, IGFX_XE_HPC_CORE); +HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverFlushTaskDg2AndLaterTests, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledWhenPerDssBackedBufferThenThereIsPipeControlPriorToIt_MatcherIsRTCapable, IGFX_XE_HPC_CORE); HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverHwTestDg2AndLater, givenGen12AndLaterWhenRayTracingEnabledThenCommandIsAddedToBatchBuffer_MatcherIsRTCapable, IGFX_XE_HPC_CORE); HWTEST_EXCLUDE_PRODUCT(CommandStreamReceiverHwTestDg2AndLater, givenGen12AndLaterWhenRayTracingEnabledButAlreadySentThenCommandIsNotAddedToBatchBuffer_MatcherIsRTCapable, IGFX_XE_HPC_CORE); HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfTile64With3DSurfaceOnBCSIsSupportedThenTrueIsReturned, IGFX_XE_HPC_CORE); diff --git a/opencl/test/unit_test/xe_hpc_core/pvc/test_hw_info_config_pvc.cpp b/opencl/test/unit_test/xe_hpc_core/pvc/test_hw_info_config_pvc.cpp index 6f5e0819e1..2b7463204f 100644 --- a/opencl/test/unit_test/xe_hpc_core/pvc/test_hw_info_config_pvc.cpp +++ b/opencl/test/unit_test/xe_hpc_core/pvc/test_hw_info_config_pvc.cpp @@ -52,10 +52,10 @@ PVCTEST_F(PvcHwInfoConfig, givenHwInfoConfigWhenAskedIfPipeControlPriorToNonPipe auto hwInfo = *defaultHwInfo; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isBasicWARequired); + EXPECT_TRUE(isExtendedWARequired); } PVCTEST_F(PvcHwInfoConfig, givenPvcHwInfoConfigWhenCheckDirectSubmissionSupportedThenTrueIsReturned) { @@ -64,18 +64,18 @@ PVCTEST_F(PvcHwInfoConfig, givenPvcHwInfoConfigWhenCheckDirectSubmissionSupporte EXPECT_TRUE(hwInfoConfig.isDirectSubmissionSupported(hwInfo)); } -PVCTEST_F(PvcHwInfoConfig, givenHwInfoConfigAndProgramPipeControlPriorToNonPipelinedStateCommandDisabledWhenAskedIfPipeControlPriorToNonPipelinedStateCommandsWARequiredThenFalseIsReturned) { +PVCTEST_F(PvcHwInfoConfig, givenHwInfoConfigAndProgramExtendedPipeControlPriorToNonPipelinedStateCommandDisabledWhenAskedIfPipeControlPriorToNonPipelinedStateCommandsWARequiredThenFalseIsReturned) { DebugManagerStateRestore restore; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(0); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(0); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } using CompilerHwInfoConfigHelperTestsPvc = ::testing::Test; diff --git a/shared/source/command_stream/command_stream_receiver_hw_dg2_and_later.inl b/shared/source/command_stream/command_stream_receiver_hw_dg2_and_later.inl index de31168d2b..67c3f8df2d 100644 --- a/shared/source/command_stream/command_stream_receiver_hw_dg2_and_later.inl +++ b/shared/source/command_stream/command_stream_receiver_hw_dg2_and_later.inl @@ -41,10 +41,10 @@ size_t CommandStreamReceiverHw::getCmdSizeForPerDssBackedBuffer(const Ha size_t size = sizeof(_3DSTATE_BTD); auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - std::ignore = isWARequiredOnSingleCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + std::ignore = isBasicWARequired; - if (isWARequiredOnMultiCCS) { + if (isExtendedWARequired) { size += sizeof(typename Family::PIPE_CONTROL); } @@ -55,13 +55,13 @@ template inline void CommandStreamReceiverHw::addPipeControlBefore3dState(LinearStream &commandStream, DispatchFlags &dispatchFlags) { auto &hwInfo = peekHwInfo(); auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - std::ignore = isWARequiredOnSingleCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + std::ignore = isBasicWARequired; PipeControlArgs args; args.dcFlushEnable = MemorySynchronizationCommands::getDcFlushEnable(true, hwInfo); - if (isWARequiredOnMultiCCS && dispatchFlags.usePerDssBackedBuffer && !isPerDssBackedBufferSent) { + if (isExtendedWARequired && dispatchFlags.usePerDssBackedBuffer && !isPerDssBackedBufferSent) { DEBUG_BREAK_IF(perDssBackedBuffer == nullptr); addPipeControlPriorToNonPipelinedStateCommand(commandStream, args); diff --git a/shared/source/command_stream/command_stream_receiver_hw_tgllp_and_later.inl b/shared/source/command_stream/command_stream_receiver_hw_tgllp_and_later.inl index f8fd40e2e9..156f74d3c1 100644 --- a/shared/source/command_stream/command_stream_receiver_hw_tgllp_and_later.inl +++ b/shared/source/command_stream/command_stream_receiver_hw_tgllp_and_later.inl @@ -20,11 +20,10 @@ void CommandStreamReceiverHw::programComputeMode(LinearStream &stream programAdditionalPipelineSelect(stream, dispatchFlags.pipelineSelectArgs, true); auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - std::ignore = isWARequiredOnMultiCCS; - const auto isWARequired = isWARequiredOnSingleCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + std::ignore = isExtendedWARequired; - if (isWARequired) { + if (isBasicWARequired) { PipeControlArgs args; args.dcFlushEnable = MemorySynchronizationCommands::getDcFlushEnable(true, hwInfo); addPipeControlPriorToNonPipelinedStateCommand(stream, args); diff --git a/shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl b/shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl index b4990411cc..d9e856451f 100644 --- a/shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl +++ b/shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl @@ -59,9 +59,9 @@ size_t CommandStreamReceiverHw::getCmdSizeForComputeMode() { auto &hwInfo = peekHwInfo(); if (isComputeModeNeeded()) { auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - std::ignore = isWARequiredOnMultiCCS; - const auto isWARequired = isWARequiredOnSingleCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + std::ignore = isExtendedWARequired; + const auto isWARequired = isBasicWARequired; if (isWARequired) { size += sizeof(typename GfxFamily::PIPE_CONTROL); @@ -168,9 +168,9 @@ template inline void CommandStreamReceiverHw::addPipeControlPriorToNonPipelinedStateCommand(LinearStream &commandStream, PipeControlArgs args) { auto &hwInfo = peekHwInfo(); auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - if (isWARequiredOnMultiCCS) { + if (isExtendedWARequired) { args.textureCacheInvalidationEnable = true; args.hdcPipelineFlush = true; args.amfsFlushEnable = true; @@ -181,7 +181,7 @@ inline void CommandStreamReceiverHw::addPipeControlPriorToNonPipeline args.dcFlushEnable = false; setPipeControlPriorToNonPipelinedStateCommandExtraProperties(args); - } else if (isWARequiredOnSingleCCS) { + } else if (isBasicWARequired) { args.hdcPipelineFlush = true; setPipeControlPriorToNonPipelinedStateCommandExtraProperties(args); @@ -198,11 +198,10 @@ inline void CommandStreamReceiverHw::addPipeControlBeforeStateSip(Lin bool debuggingEnabled = device.getDebugger() != nullptr; PipeControlArgs args; args.dcFlushEnable = MemorySynchronizationCommands::getDcFlushEnable(true, hwInfo); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); - std::ignore = isWARequiredOnMultiCCS; - const auto isWARequired = isWARequiredOnSingleCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs()); + std::ignore = isExtendedWARequired; - if (isWARequired && debuggingEnabled && !hwHelper.isSipWANeeded(hwInfo)) { + if (isBasicWARequired && debuggingEnabled && !hwHelper.isSipWANeeded(hwInfo)) { addPipeControlPriorToNonPipelinedStateCommand(commandStream, args); } } diff --git a/shared/source/command_stream/preemption_xehp_and_later.inl b/shared/source/command_stream/preemption_xehp_and_later.inl index db2f05038e..f4f20add58 100644 --- a/shared/source/command_stream/preemption_xehp_and_later.inl +++ b/shared/source/command_stream/preemption_xehp_and_later.inl @@ -83,8 +83,8 @@ size_t PreemptionHelper::getRequiredStateSipCmdSize(Device &device, b size += 2 * sizeof(typename GfxFamily::MI_LOAD_REGISTER_IMM); } else { auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - const auto isWARequired = isWARequiredOnSingleCCS || isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto isWARequired = isBasicWARequired || isExtendedWARequired; if (isWARequired) { size += sizeof(typename GfxFamily::PIPE_CONTROL); diff --git a/shared/source/debug_settings/debug_variables_base.inl b/shared/source/debug_settings/debug_variables_base.inl index 4d27fbfd23..cb22d412e2 100644 --- a/shared/source/debug_settings/debug_variables_base.inl +++ b/shared/source/debug_settings/debug_variables_base.inl @@ -398,7 +398,7 @@ DECLARE_DEBUG_VARIABLE(bool, DisableDeepBind, false, "Disable passing RTLD_DEEPB DECLARE_DEBUG_VARIABLE(bool, UseUmKmDataTranslator, false, "Use helper library for UMD<->KMD (WDDM) struct layout compatibility") DECLARE_DEBUG_VARIABLE(bool, SkipFlushingEventsOnGetStatusCalls, false, "When set to 1, events are not causing internal flush when querying for CL_EVENT_COMMAND_EXECUTION_STATUS") DECLARE_DEBUG_VARIABLE(bool, AllowUnrestrictedSize, false, "Allow allocating memory with greater size than MAX_MEM_ALLOC_SIZE") -DECLARE_DEBUG_VARIABLE(int32_t, ProgramPipeControlPriorToNonPipelinedStateCommand, -1, "-1: default, 0: disable, 1: enable, Program additional PIPE CONTROL command before non pipelined state command") +DECLARE_DEBUG_VARIABLE(int32_t, ProgramExtendedPipeControlPriorToNonPipelinedStateCommand, -1, "-1: default, 0: disable, 1: enable, Program additional extended version of PIPE CONTROL command before non pipelined state command") DECLARE_DEBUG_VARIABLE(int32_t, OverrideDrmRegion, -1, "-1: disable, 0+: override to given memory region for all allocations") /* Binary Cache */ diff --git a/shared/source/xe_hp_core/os_agnostic_hw_info_config_xe_hp_core.inl b/shared/source/xe_hp_core/os_agnostic_hw_info_config_xe_hp_core.inl index e96ec890d3..e05466eea7 100644 --- a/shared/source/xe_hp_core/os_agnostic_hw_info_config_xe_hp_core.inl +++ b/shared/source/xe_hp_core/os_agnostic_hw_info_config_xe_hp_core.inl @@ -105,14 +105,14 @@ LocalMemoryAccessMode HwInfoConfigHw::getDefaultLocalMemoryAccessMod template <> std::pair HwInfoConfigHw::isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo, bool isRcs) const { - auto isWARequiredOnSingleCCS = true; - auto isWARequiredOnMultiCCS = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1; + auto isBasicWARequired = true; + auto isExtendedWARequired = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1; - if (DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get() != -1) { - isWARequiredOnMultiCCS = DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get(); + if (DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get() != -1) { + isExtendedWARequired = DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get(); } - return {isWARequiredOnSingleCCS, isWARequiredOnMultiCCS}; + return {isBasicWARequired, isExtendedWARequired}; } template <> diff --git a/shared/source/xe_hpc_core/os_agnostic_hw_info_config_pvc.inl b/shared/source/xe_hpc_core/os_agnostic_hw_info_config_pvc.inl index 1a82fe38a2..2c9893f47b 100644 --- a/shared/source/xe_hpc_core/os_agnostic_hw_info_config_pvc.inl +++ b/shared/source/xe_hpc_core/os_agnostic_hw_info_config_pvc.inl @@ -102,14 +102,14 @@ bool HwInfoConfigHw::isDisableOverdispatchAvailable(const HardwareIn template <> std::pair HwInfoConfigHw::isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo, bool isRcs) const { - auto isWARequiredOnSingleCCS = true; - auto isWARequiredOnMultiCCS = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1; + auto isBasicWARequired = true; + auto isExtendedWARequired = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1; - if (DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get() != -1) { - isWARequiredOnMultiCCS = DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get(); + if (DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get() != -1) { + isExtendedWARequired = DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get(); } - return {isWARequiredOnSingleCCS, isWARequiredOnMultiCCS}; + return {isBasicWARequired, isExtendedWARequired}; } template <> diff --git a/shared/source/xe_hpg_core/os_agnostic_hw_info_config_dg2.inl b/shared/source/xe_hpg_core/os_agnostic_hw_info_config_dg2.inl index bf705ce7c1..4f211a0bdc 100644 --- a/shared/source/xe_hpg_core/os_agnostic_hw_info_config_dg2.inl +++ b/shared/source/xe_hpg_core/os_agnostic_hw_info_config_dg2.inl @@ -124,14 +124,14 @@ bool HwInfoConfigHw::isPrefetchDisablingRequired(const HardwareInfo template <> std::pair HwInfoConfigHw::isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo, bool isRcs) const { - auto isWARequiredOnSingleCCS = true; - auto isWARequiredOnMultiCCS = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1 && !isRcs; + auto isBasicWARequired = true; + auto isExtendedWARequired = hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled > 1 && !isRcs; - if (DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get() != -1) { - isWARequiredOnMultiCCS = DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.get(); + if (DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get() != -1) { + isExtendedWARequired = DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.get(); } - return {isWARequiredOnSingleCCS, isWARequiredOnMultiCCS}; + return {isBasicWARequired, isExtendedWARequired}; } template <> diff --git a/shared/test/unit_test/command_stream/compute_mode_tests_xehp_and_later.cpp b/shared/test/unit_test/command_stream/compute_mode_tests_xehp_and_later.cpp index 48cc25cdb6..f38e44b784 100644 --- a/shared/test/unit_test/command_stream/compute_mode_tests_xehp_and_later.cpp +++ b/shared/test/unit_test/command_stream/compute_mode_tests_xehp_and_later.cpp @@ -23,11 +23,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ComputeModeRequirements, givenCoherencyWithoutShare SetUpImpl(); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } @@ -54,8 +54,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ComputeModeRequirements, givenCoherencyWithSharedHa using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = 0u; overrideComputeModeRequest(false, false, true); @@ -67,7 +67,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ComputeModeRequirements, givenCoherencyWithSharedHa EXPECT_EQ(cmdsSize, retSize); cmdsSize = sizeof(STATE_COMPUTE_MODE) + sizeof(PIPE_CONTROL); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } @@ -96,11 +96,11 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithoutSharedHandlesWhenCompute using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } @@ -116,7 +116,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithoutSharedHandlesWhenCompute EXPECT_EQ(cmdsSize, stream.getUsed()); auto scmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -132,7 +132,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithoutSharedHandlesWhenCompute expectedScmCmd = FamilyType::cmdInitStateComputeMode; expectedScmCmd.setForceNonCoherent(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED); scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset)); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset + sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -146,11 +146,11 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithSharedHandlesWhenComputeMod using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE) + sizeof(PIPE_CONTROL); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } char buff[1024] = {0}; @@ -167,7 +167,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithSharedHandlesWhenComputeMod EXPECT_EQ(cmdsSize, stream.getUsed()); auto scmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -175,7 +175,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithSharedHandlesWhenComputeMod EXPECT_TRUE(memcmp(&expectedScmCmd, scmCmd, sizeof(STATE_COMPUTE_MODE)) == 0); auto pcCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(STATE_COMPUTE_MODE))); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { pcCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(STATE_COMPUTE_MODE) + sizeof(PIPE_CONTROL))); } EXPECT_TRUE(memcmp(&expectedPcCmd, pcCmd, sizeof(PIPE_CONTROL)) == 0); @@ -189,7 +189,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithSharedHandlesWhenComputeMod expectedScmCmd = FamilyType::cmdInitStateComputeMode; expectedScmCmd.setForceNonCoherent(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED); scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset)); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset + sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -197,7 +197,7 @@ HWTEST2_F(ComputeModeRequirements, givenCoherencyWithSharedHandlesWhenComputeMod EXPECT_TRUE(memcmp(&expectedScmCmd, scmCmd, sizeof(STATE_COMPUTE_MODE)) == 0); pcCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset + sizeof(STATE_COMPUTE_MODE))); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { pcCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset + sizeof(STATE_COMPUTE_MODE) + sizeof(PIPE_CONTROL))); } EXPECT_TRUE(memcmp(&expectedPcCmd, pcCmd, sizeof(PIPE_CONTROL)) == 0); @@ -347,11 +347,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ComputeModeRequirements, givenComputeModeCmdSizeWhe EXPECT_EQ(cmdSize, retSize); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; cmdSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdSize += +sizeof(PIPE_CONTROL); } @@ -370,11 +370,11 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenLargeGrfModeCh using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } char buff[1024]; @@ -391,7 +391,7 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenLargeGrfModeCh EXPECT_EQ(cmdsSize, stream.getUsed()); auto scmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -408,7 +408,7 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenLargeGrfModeCh expectedScmCmd.setLargeGrfMode(false); expectedScmCmd.setForceNonCoherent(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_GPU_NON_COHERENT); scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset)); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), startOffset + sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -433,11 +433,11 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenRequiredGRFNum using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } char buff[1024]; @@ -453,7 +453,7 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenRequiredGRFNum EXPECT_EQ(cmdsSize, stream.getUsed()); auto scmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); @@ -467,11 +467,11 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenRequiredGRFNum using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } char buff[1024]; @@ -487,7 +487,7 @@ HWTEST2_F(ComputeModeRequirements, givenComputeModeProgrammingWhenRequiredGRFNum EXPECT_EQ(cmdsSize, stream.getUsed()); auto scmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { scmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_TRUE(isValueSet(scmCmd->getMaskBits(), expectedBitsMask)); diff --git a/shared/test/unit_test/xe_hp_core/compute_mode_tests_xe_hp_core.cpp b/shared/test/unit_test/xe_hp_core/compute_mode_tests_xe_hp_core.cpp index f8c3881941..39ff3d4ee7 100644 --- a/shared/test/unit_test/xe_hp_core/compute_mode_tests_xe_hp_core.cpp +++ b/shared/test/unit_test/xe_hp_core/compute_mode_tests_xe_hp_core.cpp @@ -11,9 +11,9 @@ using namespace NEO; -HWTEST2_F(ComputeModeRequirements, GivenProgramPipeControlPriorToNonPipelinedStateCommandThenCorrectCommandsAreAdded, IsXEHP) { +HWTEST2_F(ComputeModeRequirements, GivenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledThenCorrectCommandsAreAdded, IsXEHP) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); SetUpImpl(); @@ -97,9 +97,9 @@ HWTEST2_F(ComputeModeRequirements, GivenMultipleCCSEnabledSetupThenCorrectComman EXPECT_TRUE(memcmp(&expectedScmCmd, stateComputeModeCmd, sizeof(STATE_COMPUTE_MODE)) == 0); } -HWTEST2_F(ComputeModeRequirements, GivenProgramPipeControlPriorToNonPipelinedStateCommandThenCommandSizeIsCalculatedAndCorrectCommandSizeIsReturned, IsXEHP) { +HWTEST2_F(ComputeModeRequirements, GivenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledThenCommandSizeIsCalculatedAndCorrectCommandSizeIsReturned, IsXEHP) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE; using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; diff --git a/shared/test/unit_test/xe_hpc_core/compute_mode_tests_xe_hpc_core.cpp b/shared/test/unit_test/xe_hpc_core/compute_mode_tests_xe_hpc_core.cpp index 82b9274676..c26207c255 100644 --- a/shared/test/unit_test/xe_hpc_core/compute_mode_tests_xe_hpc_core.cpp +++ b/shared/test/unit_test/xe_hpc_core/compute_mode_tests_xe_hpc_core.cpp @@ -392,9 +392,9 @@ PVCTEST_F(PvcComputeModeRequirements, givenComputeModeProgrammingThenCorrectComm EXPECT_TRUE(memcmp(&expectedScmCmd, stateComputeModeCmd, sizeof(STATE_COMPUTE_MODE)) == 0); } -PVCTEST_F(PvcComputeModeRequirements, givenProgramPipeControlPriorToNonPipelinedStateCommandThenCorrectCommandsAreAdded) { +PVCTEST_F(PvcComputeModeRequirements, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledThenCorrectCommandsAreAdded) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); HardwareInfo hwInfo = *defaultHwInfo; hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1; diff --git a/shared/test/unit_test/xe_hpg_core/compute_mode_tests_xe_hpg_core.cpp b/shared/test/unit_test/xe_hpg_core/compute_mode_tests_xe_hpg_core.cpp index 5846ae0930..f262112894 100644 --- a/shared/test/unit_test/xe_hpg_core/compute_mode_tests_xe_hpg_core.cpp +++ b/shared/test/unit_test/xe_hpg_core/compute_mode_tests_xe_hpg_core.cpp @@ -24,11 +24,11 @@ XE_HPG_CORETEST_F(ComputeModeRequirementsXeHpgCore, GivenVariousSettingsWhenComp using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); - std::ignore = isWARequiredOnMultiCCS; + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs()); + std::ignore = isExtendedWARequired; auto cmdsSize = sizeof(STATE_COMPUTE_MODE); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { cmdsSize += +sizeof(PIPE_CONTROL); } @@ -68,7 +68,7 @@ XE_HPG_CORETEST_F(ComputeModeRequirementsXeHpgCore, GivenVariousSettingsWhenComp EXPECT_EQ(cmdsSize, stream.getUsed()); auto pScmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { pScmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_EQ(testValue.zPassThreadLimit, pScmCmd->getZPassAsyncComputeThreadLimit()); @@ -89,7 +89,7 @@ XE_HPG_CORETEST_F(ComputeModeRequirementsXeHpgCore, GivenVariousSettingsWhenComp EXPECT_EQ(cmdsSize, stream.getUsed()); auto pScmCmd = reinterpret_cast(stream.getCpuBase()); - if (isWARequiredOnSingleCCS) { + if (isBasicWARequired) { pScmCmd = reinterpret_cast(ptrOffset(stream.getCpuBase(), sizeof(PIPE_CONTROL))); } EXPECT_EQ(STATE_COMPUTE_MODE::Z_PASS_ASYNC_COMPUTE_THREAD_LIMIT_MAX_60, pScmCmd->getZPassAsyncComputeThreadLimit()); diff --git a/shared/test/unit_test/xe_hpg_core/dg2/compute_mode_tests_dg2.cpp b/shared/test/unit_test/xe_hpg_core/dg2/compute_mode_tests_dg2.cpp index d8141825eb..d368cdcd6b 100644 --- a/shared/test/unit_test/xe_hpg_core/dg2/compute_mode_tests_dg2.cpp +++ b/shared/test/unit_test/xe_hpg_core/dg2/compute_mode_tests_dg2.cpp @@ -19,9 +19,9 @@ using namespace NEO; -HWTEST2_F(ComputeModeRequirements, GivenProgramPipeControlPriorToNonPipelinedStateCommandThenCorrectCommandsAreAdded, IsDG2) { +HWTEST2_F(ComputeModeRequirements, GivenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledThenCorrectCommandsAreAdded, IsDG2) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); SetUpImpl(); @@ -162,9 +162,9 @@ HWTEST2_F(ComputeModeRequirements, GivenSingleCCSEnabledSetupThenCorrectCommands EXPECT_TRUE(memcmp(&expectedScmCmd, stateComputeModeCmd, sizeof(STATE_COMPUTE_MODE)) == 0); } -HWTEST2_F(ComputeModeRequirements, GivenProgramPipeControlPriorToNonPipelinedStateCommandThenCommandSizeIsCalculatedAndCorrectCommandSizeIsReturned, IsDG2) { +HWTEST2_F(ComputeModeRequirements, GivenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledThenCommandSizeIsCalculatedAndCorrectCommandSizeIsReturned, IsDG2) { DebugManagerStateRestore dbgRestorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE; using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; diff --git a/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp b/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp index 612f8da86c..cc374e6cf1 100644 --- a/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp +++ b/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp @@ -95,46 +95,46 @@ DG2TEST_F(HwInfoConfigTestDg2, givenA0OrA1SteppingWhenAskingIfWAIsRequiredThenRe } } -DG2TEST_F(HwInfoConfigTestDg2, givenProgramPipeControlPriorToNonPipelinedStateCommandWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) { +DG2TEST_F(HwInfoConfigTestDg2, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) { DebugManagerStateRestore restorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } -DG2TEST_F(HwInfoConfigTestDg2, givenProgramPipeControlPriorToNonPipelinedStateCommandWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenTrueIsReturned) { +DG2TEST_F(HwInfoConfigTestDg2, givenProgramExtendedPipeControlPriorToNonPipelinedStateCommandEnabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenTrueIsReturned) { DebugManagerStateRestore restorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(true); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = true; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenProgramPipeControlPriorToNonPipelinedStateCommandDisabledWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenFalseIsReturned) { DebugManagerStateRestore restorer; - DebugManager.flags.ProgramPipeControlPriorToNonPipelinedStateCommand.set(0); + DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(0); const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); auto hwInfo = *defaultHwInfo; auto isRcs = true; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithMultipleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) { @@ -143,10 +143,10 @@ DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithMultipleCSSWhenIsPipeControl hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_TRUE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_TRUE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithMultipleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenFalseIsReturned) { @@ -155,10 +155,10 @@ DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithMultipleCSSWhenIsPipeControl hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2; auto isRcs = true; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithSingleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) { @@ -167,10 +167,10 @@ DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithSingleCSSWhenIsPipeControlPr hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1; auto isRcs = false; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithSingleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenTrueIsReturned) { @@ -179,10 +179,10 @@ DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWithSingleCSSWhenIsPipeControlPr hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1; auto isRcs = true; - const auto &[isWARequiredOnSingleCCS, isWARequiredOnMultiCCS] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); + const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs); - EXPECT_FALSE(isWARequiredOnMultiCCS); - EXPECT_TRUE(isWARequiredOnSingleCCS); + EXPECT_FALSE(isExtendedWARequired); + EXPECT_TRUE(isBasicWARequired); } DG2TEST_F(HwInfoConfigTestDg2, givenDg2WhenIsBlitterForImagesSupportedIsCalledThenTrueIsReturned) {