diff --git a/level_zero/core/source/cmdlist/cmdlist_hw.inl b/level_zero/core/source/cmdlist/cmdlist_hw.inl index a7d686f2e3..c2ed7c40da 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw.inl @@ -2247,7 +2247,7 @@ void CommandListCoreFamily::updateStreamProperties(Kernel &kernel if (finalStreamState.stateComputeMode.isDirty()) { clearComputeModePropertiesIfNeeded(false, kernelAttributes.numGrfRequired, threadArbitrationPolicy); NEO::EncodeWA::encodeAdditionalPipelineSelect(neoDevice, *commandContainer.getCommandStream(), true); - NEO::EncodeComputeMode::adjustComputeMode(*commandContainer.getCommandStream(), nullptr, finalStreamState.stateComputeMode, hwInfo); + NEO::EncodeComputeMode::programComputeModeCommand(*commandContainer.getCommandStream(), finalStreamState.stateComputeMode, hwInfo); NEO::EncodeWA::encodeAdditionalPipelineSelect(neoDevice, *commandContainer.getCommandStream(), false); } } diff --git a/shared/source/command_container/command_encoder.h b/shared/source/command_container/command_encoder.h index da8ef894e0..11cc0b0970 100644 --- a/shared/source/command_container/command_encoder.h +++ b/shared/source/command_container/command_encoder.h @@ -280,7 +280,7 @@ struct EncodeSurfaceState { template struct EncodeComputeMode { - static void adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo); + static void programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo); static void adjustPipelineSelect(CommandContainer &container, const NEO::KernelDescriptor &kernelDescriptor); }; diff --git a/shared/source/command_container/command_encoder_bdw_and_later.inl b/shared/source/command_container/command_encoder_bdw_and_later.inl index 358584d0f6..36ae66d92a 100644 --- a/shared/source/command_container/command_encoder_bdw_and_later.inl +++ b/shared/source/command_container/command_encoder_bdw_and_later.inl @@ -366,7 +366,7 @@ size_t EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(Device } template -inline void EncodeComputeMode::adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { +inline void EncodeComputeMode::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { } template diff --git a/shared/source/command_container/command_encoder_xehp_and_later.inl b/shared/source/command_container/command_encoder_xehp_and_later.inl index 5a9b62c9e1..5fe34367c0 100644 --- a/shared/source/command_container/command_encoder_xehp_and_later.inl +++ b/shared/source/command_container/command_encoder_xehp_and_later.inl @@ -540,11 +540,11 @@ size_t EncodeStateBaseAddress::getRequiredSizeForStateBaseAddress(Device } template -void EncodeComputeMode::adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { +void EncodeComputeMode::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE; using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT; - STATE_COMPUTE_MODE stateComputeMode = (stateComputeModePtr != nullptr) ? *(static_cast(stateComputeModePtr)) : Family::cmdInitStateComputeMode; + STATE_COMPUTE_MODE stateComputeMode = Family::cmdInitStateComputeMode; auto maskBits = stateComputeMode.getMaskBits(); if (properties.isCoherencyRequired.isDirty) { 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 d3c64ef3b2..09dfb866d5 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 @@ -28,11 +28,10 @@ void CommandStreamReceiverHw::programComputeMode(LinearStream &stream addPipeControlPriorToNonPipelinedStateCommand(stream, args); } - auto stateComputeMode = GfxFamily::cmdInitStateComputeMode; StreamProperties properties{}; properties.stateComputeMode.setProperties(dispatchFlags.requiresCoherency, dispatchFlags.numGrfRequired, this->requiredThreadArbitrationPolicy); - EncodeComputeMode::adjustComputeMode(stream, &stateComputeMode, properties.stateComputeMode, hwInfo); + EncodeComputeMode::programComputeModeCommand(stream, properties.stateComputeMode, hwInfo); if (csrSizeRequestFlags.hasSharedHandles) { auto pc = stream.getSpaceForCmd(); diff --git a/shared/source/gen12lp/command_encoder_gen12lp.cpp b/shared/source/gen12lp/command_encoder_gen12lp.cpp index 999ce8f4d8..f2f547a819 100644 --- a/shared/source/gen12lp/command_encoder_gen12lp.cpp +++ b/shared/source/gen12lp/command_encoder_gen12lp.cpp @@ -38,12 +38,11 @@ size_t EncodeStates::getAdjustStateComputeModeSize() { } template <> -void EncodeComputeMode::adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { +void EncodeComputeMode::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE; using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT; - STATE_COMPUTE_MODE stateComputeMode = (stateComputeModePtr) ? *(static_cast(stateComputeModePtr)) - : Family::cmdInitStateComputeMode; + STATE_COMPUTE_MODE stateComputeMode = Family::cmdInitStateComputeMode; auto maskBits = stateComputeMode.getMaskBits(); if (properties.isCoherencyRequired.isDirty) { diff --git a/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp b/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp index 16fb6b7579..4cf301aaae 100644 --- a/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp +++ b/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp @@ -48,11 +48,11 @@ inline void EncodeAtomic::setMiAtomicAddress(MI_ATOMIC &atomic, uint64_t } template <> -void EncodeComputeMode::adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { +void EncodeComputeMode::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE; using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT; - STATE_COMPUTE_MODE stateComputeMode = (stateComputeModePtr != nullptr) ? *(static_cast(stateComputeModePtr)) : Family::cmdInitStateComputeMode; + STATE_COMPUTE_MODE stateComputeMode = Family::cmdInitStateComputeMode; auto maskBits = stateComputeMode.getMaskBits(); if (properties.isCoherencyRequired.isDirty) { diff --git a/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp b/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp index 79da51b2bc..195f07a523 100644 --- a/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp +++ b/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp @@ -120,14 +120,13 @@ void EncodeDispatchKernel::encodeAdditionalWalkerFields(const HardwareIn } template <> -void EncodeComputeMode::adjustComputeMode(LinearStream &csr, void *const stateComputeModePtr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { +void EncodeComputeMode::programComputeModeCommand(LinearStream &csr, StateComputeModeProperties &properties, const HardwareInfo &hwInfo) { using STATE_COMPUTE_MODE = typename Family::STATE_COMPUTE_MODE; using FORCE_NON_COHERENT = typename STATE_COMPUTE_MODE::FORCE_NON_COHERENT; using PIXEL_ASYNC_COMPUTE_THREAD_LIMIT = typename STATE_COMPUTE_MODE::PIXEL_ASYNC_COMPUTE_THREAD_LIMIT; using Z_PASS_ASYNC_COMPUTE_THREAD_LIMIT = typename STATE_COMPUTE_MODE::Z_PASS_ASYNC_COMPUTE_THREAD_LIMIT; - STATE_COMPUTE_MODE stateComputeMode = (stateComputeModePtr != nullptr) ? *(static_cast(stateComputeModePtr)) - : Family::cmdInitStateComputeMode; + STATE_COMPUTE_MODE stateComputeMode = Family::cmdInitStateComputeMode; auto maskBits = stateComputeMode.getMaskBits(); if (properties.zPassAsyncComputeThreadLimit.isDirty) { diff --git a/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp b/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp index ec39481733..f2bc758c69 100644 --- a/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp +++ b/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp @@ -34,8 +34,8 @@ GEN12LPTEST_F(CommandEncoderTest, WhenAdjustComputeModeIsCalledThenStateComputeM // Adjust the State Compute Mode which sets FORCE_NON_COHERENT_FORCE_GPU_NON_COHERENT StreamProperties properties{}; properties.stateComputeMode.setProperties(false, cmdContainer.lastSentNumGrfRequired, 0); - NEO::EncodeComputeMode::adjustComputeMode(*cmdContainer.getCommandStream(), nullptr, - properties.stateComputeMode, *defaultHwInfo); + NEO::EncodeComputeMode::programComputeModeCommand(*cmdContainer.getCommandStream(), + properties.stateComputeMode, *defaultHwInfo); auto usedSpaceAfter = cmdContainer.getCommandStream()->getUsed(); ASSERT_GT(usedSpaceAfter, usedSpaceBefore); diff --git a/shared/test/common/gen12lp/test_encode_gen12lp.cpp b/shared/test/common/gen12lp/test_encode_gen12lp.cpp index 7002c62b78..a0d136ea68 100644 --- a/shared/test/common/gen12lp/test_encode_gen12lp.cpp +++ b/shared/test/common/gen12lp/test_encode_gen12lp.cpp @@ -23,21 +23,21 @@ GEN12LPTEST_F(CommandEncodeGen12LpTest, whenProgrammingStateComputeModeThenPrope StateComputeModeProperties properties; auto pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); auto pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); properties.isCoherencyRequired.value = 0; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); properties.isCoherencyRequired.isDirty = true; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(FamilyType::stateComputeModeForceNonCoherentMask, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_GPU_NON_COHERENT, pScm->getForceNonCoherent()); diff --git a/shared/test/common/xe_hp_core/test_encode_xe_hp_core.cpp b/shared/test/common/xe_hp_core/test_encode_xe_hp_core.cpp index 80805e9d07..546565bc7b 100644 --- a/shared/test/common/xe_hp_core/test_encode_xe_hp_core.cpp +++ b/shared/test/common/xe_hp_core/test_encode_xe_hp_core.cpp @@ -26,7 +26,7 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, whenProgrammingStateComputeModeThen StateComputeModeProperties properties; auto pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); auto pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -35,7 +35,7 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, whenProgrammingStateComputeModeThen properties.isCoherencyRequired.value = 0; properties.largeGrfMode.value = 1; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -44,7 +44,7 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, whenProgrammingStateComputeModeThen properties.isCoherencyRequired.isDirty = true; properties.largeGrfMode.isDirty = true; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); auto expectedMask = FamilyType::stateComputeModeForceNonCoherentMask | FamilyType::stateComputeModeLargeGrfModeMask; @@ -61,12 +61,9 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, givenForceDisableMultiAtomicsWhenDe uint8_t buffer[64]{}; - STATE_COMPUTE_MODE scmCommandTemplate = FamilyType::cmdInitStateComputeMode; - scmCommandTemplate.setForceDisableSupportForMultiGpuAtomics(true); - StateComputeModeProperties properties; LinearStream cmdStream(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(cmdStream, &scmCommandTemplate, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(cmdStream, properties, *defaultHwInfo); auto scmCommand = reinterpret_cast(cmdStream.getCpuBase()); uint32_t expectedMaskBits = FamilyType::stateComputeModeForceDisableSupportMultiGpuAtomics; @@ -82,12 +79,9 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, givenForceDisableMultiAtomicsWhenDe uint8_t buffer[64]{}; - STATE_COMPUTE_MODE scmCommandTemplate = FamilyType::cmdInitStateComputeMode; - scmCommandTemplate.setForceDisableSupportForMultiGpuAtomics(false); - StateComputeModeProperties properties; LinearStream cmdStream(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(cmdStream, &scmCommandTemplate, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(cmdStream, properties, *defaultHwInfo); auto scmCommand = reinterpret_cast(cmdStream.getCpuBase()); uint32_t expectedMaskBits = FamilyType::stateComputeModeForceDisableSupportMultiGpuAtomics; @@ -103,12 +97,9 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, givenForceDisableMultiPartialWrites uint8_t buffer[64]{}; - STATE_COMPUTE_MODE scmCommandTemplate = FamilyType::cmdInitStateComputeMode; - scmCommandTemplate.setForceDisableSupportForMultiGpuPartialWrites(true); - StateComputeModeProperties properties; LinearStream cmdStream(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(cmdStream, &scmCommandTemplate, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(cmdStream, properties, *defaultHwInfo); auto scmCommand = reinterpret_cast(cmdStream.getCpuBase()); uint32_t expectedMaskBits = FamilyType::stateComputeModeForceDisableSupportMultiGpuPartialWrites; @@ -124,12 +115,9 @@ XE_HP_CORE_TEST_F(CommandEncodeXeHpCoreTest, givenForceDisableMultiPartialWrites uint8_t buffer[64]{}; - STATE_COMPUTE_MODE scmCommandTemplate = FamilyType::cmdInitStateComputeMode; - scmCommandTemplate.setForceDisableSupportForMultiGpuPartialWrites(false); - StateComputeModeProperties properties; LinearStream cmdStream(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(cmdStream, &scmCommandTemplate, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(cmdStream, properties, *defaultHwInfo); auto scmCommand = reinterpret_cast(cmdStream.getCpuBase()); uint32_t expectedMaskBits = FamilyType::stateComputeModeForceDisableSupportMultiGpuPartialWrites; diff --git a/shared/test/common/xe_hpc_core/test_encode_xe_hpc_core.cpp b/shared/test/common/xe_hpc_core/test_encode_xe_hpc_core.cpp index 8a805cb514..033c099240 100644 --- a/shared/test/common/xe_hpc_core/test_encode_xe_hpc_core.cpp +++ b/shared/test/common/xe_hpc_core/test_encode_xe_hpc_core.cpp @@ -234,7 +234,7 @@ XE_HPC_CORETEST_F(CommandEncodeXeHpcCoreTest, whenProgrammingStateComputeModeThe StateComputeModeProperties properties; auto pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); auto pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -245,7 +245,7 @@ XE_HPC_CORETEST_F(CommandEncodeXeHpcCoreTest, whenProgrammingStateComputeModeThe properties.threadArbitrationPolicy.value = ThreadArbitrationPolicy::RoundRobin; properties.largeGrfMode.value = 1; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -256,7 +256,7 @@ XE_HPC_CORETEST_F(CommandEncodeXeHpcCoreTest, whenProgrammingStateComputeModeThe properties.threadArbitrationPolicy.isDirty = true; properties.largeGrfMode.isDirty = true; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); auto expectedMask = FamilyType::stateComputeModeForceNonCoherentMask | FamilyType::stateComputeModeEuThreadSchedulingModeOverrideMask | FamilyType::stateComputeModeLargeGrfModeMask; @@ -275,25 +275,25 @@ XE_HPC_CORETEST_F(CommandEncodeXeHpcCoreTest, whenAdjustComputeModeIsCalledThenC auto pLinearStream = std::make_unique(buffer, sizeof(buffer)); properties.stateComputeMode.setProperties(false, 0, ThreadArbitrationPolicy::AgeBased); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties.stateComputeMode, *defaultHwInfo); auto pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_OLDEST_FIRST, pScm->getEuThreadSchedulingModeOverride()); pLinearStream = std::make_unique(buffer, sizeof(buffer)); properties.stateComputeMode.setProperties(false, 0, ThreadArbitrationPolicy::RoundRobin); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties.stateComputeMode, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_ROUND_ROBIN, pScm->getEuThreadSchedulingModeOverride()); pLinearStream = std::make_unique(buffer, sizeof(buffer)); properties.stateComputeMode.setProperties(false, 0, ThreadArbitrationPolicy::RoundRobinAfterDependency); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties.stateComputeMode, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN, pScm->getEuThreadSchedulingModeOverride()); pLinearStream = std::make_unique(buffer, sizeof(buffer)); properties.stateComputeMode.setProperties(false, 0, ThreadArbitrationPolicy::NotPresent); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties.stateComputeMode, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_HW_DEFAULT, pScm->getEuThreadSchedulingModeOverride()); } diff --git a/shared/test/common/xe_hpg_core/dg2/test_encode_dg2.cpp b/shared/test/common/xe_hpg_core/dg2/test_encode_dg2.cpp index 1893ecda14..65c990c0c8 100644 --- a/shared/test/common/xe_hpg_core/dg2/test_encode_dg2.cpp +++ b/shared/test/common/xe_hpg_core/dg2/test_encode_dg2.cpp @@ -25,7 +25,7 @@ DG2TEST_F(CommandEncodeDG2Test, whenProgrammingStateComputeModeThenProperFieldsA StateComputeModeProperties properties; auto pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); auto pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -38,7 +38,7 @@ DG2TEST_F(CommandEncodeDG2Test, whenProgrammingStateComputeModeThenProperFieldsA properties.pixelAsyncComputeThreadLimit.value = 1; properties.largeGrfMode.value = 1; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); EXPECT_EQ(0u, pScm->getMaskBits()); EXPECT_EQ(STATE_COMPUTE_MODE::FORCE_NON_COHERENT_FORCE_DISABLED, pScm->getForceNonCoherent()); @@ -51,7 +51,7 @@ DG2TEST_F(CommandEncodeDG2Test, whenProgrammingStateComputeModeThenProperFieldsA properties.pixelAsyncComputeThreadLimit.isDirty = true; properties.largeGrfMode.isDirty = true; pLinearStream = std::make_unique(buffer, sizeof(buffer)); - EncodeComputeMode::adjustComputeMode(*pLinearStream, nullptr, properties, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*pLinearStream, properties, *defaultHwInfo); pScm = reinterpret_cast(pLinearStream->getCpuBase()); auto expectedMask = FamilyType::stateComputeModeForceNonCoherentMask | FamilyType::stateComputeModeZPassAsyncComputeThreadLimitMask | diff --git a/shared/test/unit_test/encoders/test_encode_dispatch_kernel_pvc_and_later.cpp b/shared/test/unit_test/encoders/test_encode_dispatch_kernel_pvc_and_later.cpp index 04bb8e934c..6d20ec3bae 100644 --- a/shared/test/unit_test/encoders/test_encode_dispatch_kernel_pvc_and_later.cpp +++ b/shared/test/unit_test/encoders/test_encode_dispatch_kernel_pvc_and_later.cpp @@ -58,10 +58,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTestPvcAndLater, givenCommandCon using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT; using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE; cmdContainer->lastSentNumGrfRequired = GrfConfig::DefaultGrfNumber; - auto stateComputeMode = FamilyType::cmdInitStateComputeMode; StreamProperties streamProperties{}; streamProperties.stateComputeMode.setProperties(false, GrfConfig::LargeGrfNumber, 0u); - EncodeComputeMode::adjustComputeMode(*cmdContainer->getCommandStream(), &stateComputeMode, streamProperties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*cmdContainer->getCommandStream(), streamProperties.stateComputeMode, *defaultHwInfo); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); diff --git a/shared/test/unit_test/encoders/test_encode_grf_mode_xe_hp_and_later.cpp b/shared/test/unit_test/encoders/test_encode_grf_mode_xe_hp_and_later.cpp index 5085bd2dca..04335d75ef 100644 --- a/shared/test/unit_test/encoders/test_encode_grf_mode_xe_hp_and_later.cpp +++ b/shared/test/unit_test/encoders/test_encode_grf_mode_xe_hp_and_later.cpp @@ -21,11 +21,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenCommandContainerWhenN using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT; using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE; cmdContainer->lastSentNumGrfRequired = 0; - auto stateComputeMode = cmdContainer->getCommandStream()->getSpaceForCmd(); - *stateComputeMode = FamilyType::cmdInitStateComputeMode; StreamProperties streamProperties{}; streamProperties.stateComputeMode.setProperties(false, cmdContainer->lastSentNumGrfRequired + 1, 0u); - EncodeComputeMode::adjustComputeMode(*cmdContainer->getCommandStream(), stateComputeMode, streamProperties.stateComputeMode, *defaultHwInfo); + EncodeComputeMode::programComputeModeCommand(*cmdContainer->getCommandStream(), streamProperties.stateComputeMode, *defaultHwInfo); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -58,11 +56,10 @@ HWTEST2_F(CommandEncodeStatesTest, givenLargeGrfModeProgrammedThenExpectedComman auto usedSpaceBefore = cmdContainer->getCommandStream()->getUsed(); - auto stateComputeMode = FamilyType::cmdInitStateComputeMode; NEO::EncodeComputeMode::adjustPipelineSelect(*cmdContainer, descriptor); StreamProperties streamProperties{}; streamProperties.stateComputeMode.setProperties(false, 256u, 0u); - NEO::EncodeComputeMode::adjustComputeMode(*cmdContainer->getCommandStream(), &stateComputeMode, streamProperties.stateComputeMode, *defaultHwInfo); + NEO::EncodeComputeMode::programComputeModeCommand(*cmdContainer->getCommandStream(), streamProperties.stateComputeMode, *defaultHwInfo); auto usedSpaceAfter = cmdContainer->getCommandStream()->getUsed(); ASSERT_GT(usedSpaceAfter, usedSpaceBefore); @@ -79,11 +76,10 @@ HWTEST2_F(CommandEncodeStatesTest, givenLargeGrfModeDisabledThenExpectedCommands auto usedSpaceBefore = cmdContainer->getCommandStream()->getUsed(); - auto stateComputeMode = FamilyType::cmdInitStateComputeMode; NEO::EncodeComputeMode::adjustPipelineSelect(*cmdContainer, descriptor); StreamProperties streamProperties{}; streamProperties.stateComputeMode.largeGrfMode.set(0); - NEO::EncodeComputeMode::adjustComputeMode(*cmdContainer->getCommandStream(), &stateComputeMode, streamProperties.stateComputeMode, *defaultHwInfo); + NEO::EncodeComputeMode::programComputeModeCommand(*cmdContainer->getCommandStream(), streamProperties.stateComputeMode, *defaultHwInfo); auto usedSpaceAfter = cmdContainer->getCommandStream()->getUsed(); ASSERT_GT(usedSpaceAfter, usedSpaceBefore); diff --git a/shared/test/unit_test/encoders/test_encode_states.cpp b/shared/test/unit_test/encoders/test_encode_states.cpp index dcbb14bec7..e820240f60 100644 --- a/shared/test/unit_test/encoders/test_encode_states.cpp +++ b/shared/test/unit_test/encoders/test_encode_states.cpp @@ -362,7 +362,7 @@ HWTEST2_F(CommandEncodeStatesTest, whenAdjustStateComputeModeIsCalledThenNothing using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT; auto initialUsed = cmdContainer->getCommandStream()->getUsed(); StreamProperties emptyProperties{}; - NEO::EncodeComputeMode::adjustComputeMode(*cmdContainer->getCommandStream(), nullptr, - emptyProperties.stateComputeMode, *defaultHwInfo); + NEO::EncodeComputeMode::programComputeModeCommand(*cmdContainer->getCommandStream(), + emptyProperties.stateComputeMode, *defaultHwInfo); EXPECT_EQ(initialUsed, cmdContainer->getCommandStream()->getUsed()); }