From 44d35b35348a0c62bcf670b2a252ba1e45407ced Mon Sep 17 00:00:00 2001 From: Maciej Dziuban Date: Fri, 20 Apr 2018 13:55:54 +0200 Subject: [PATCH] L3 programming refactor 2/n - Rename misnamed test function - Adjust 2 tests, so they use CSR size getters instead of hardcoded values - Move getSizeRequiredPreambleCS() into CommandStreamReceiverHw class - Improve PreambleHelper size estimating Change-Id: I3f292d50e08f3d10d190c9f8722e1f0498481154 --- .../command_stream_receiver_hw.h | 3 +- .../command_stream_receiver_hw.inl | 19 +++-- runtime/gen8/command_stream_receiver_hw.cpp | 2 - runtime/gen9/command_stream_receiver_hw.cpp | 2 - runtime/gen9/preamble.cpp | 7 +- runtime/helpers/preamble.h | 1 + runtime/helpers/preamble.inl | 5 ++ .../command_stream_receiver_hw_tests.cpp | 80 ++++++++++++------- .../command_stream_receiver_hw_tests.inl | 5 +- .../command_stream_receiver_hw_tests_gen8.cpp | 2 +- unit_tests/gen8/test_preamble_gen8.cpp | 1 + .../command_stream_receiver_hw_tests_gen9.cpp | 6 +- unit_tests/gen9/skl/test_preamble_skl.cpp | 4 +- 13 files changed, 85 insertions(+), 52 deletions(-) diff --git a/runtime/command_stream/command_stream_receiver_hw.h b/runtime/command_stream/command_stream_receiver_hw.h index bbd42e657b..8988dc56ec 100644 --- a/runtime/command_stream/command_stream_receiver_hw.h +++ b/runtime/command_stream/command_stream_receiver_hw.h @@ -60,6 +60,7 @@ class CommandStreamReceiverHw : public CommandStreamReceiver { size_t getRequiredCmdStreamSize(const DispatchFlags &dispatchFlags); size_t getRequiredCmdStreamSizeAligned(const DispatchFlags &dispatchFlags); + size_t getRequiredCmdSizeForPreamble() const; size_t getCmdSizeForPreemption(const DispatchFlags &dispatchFlags) const; size_t getCmdSizeForL3Config() const; size_t getCmdSizeForPipelineSelect() const; @@ -107,6 +108,4 @@ class CommandStreamReceiverHw : public CommandStreamReceiver { std::unique_ptr kmdNotifyHelper; }; -template -size_t getSizeRequiredPreambleCS(const Device &device); } // namespace OCLRT diff --git a/runtime/command_stream/command_stream_receiver_hw.inl b/runtime/command_stream/command_stream_receiver_hw.inl index 0a72b671e0..3b5fc6aa64 100644 --- a/runtime/command_stream/command_stream_receiver_hw.inl +++ b/runtime/command_stream/command_stream_receiver_hw.inl @@ -84,9 +84,13 @@ inline void CommandStreamReceiverHw::alignToCacheLine(LinearStream &c } template -size_t getSizeRequiredPreambleCS(const Device &device) { - return sizeof(typename GfxFamily::PIPE_CONTROL) + - sizeof(typename GfxFamily::MEDIA_VFE_STATE) + PreambleHelper::getAdditionalCommandsSize(device); +inline size_t CommandStreamReceiverHw::getRequiredCmdSizeForPreamble() const { + size_t size = sizeof(typename GfxFamily::PIPE_CONTROL) + sizeof(typename GfxFamily::MEDIA_VFE_STATE); + size += PreambleHelper::getAdditionalCommandsSize(*memoryManager->device); + if (!this->isPreambleSent || this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) { + size += PreambleHelper::getThreadArbitrationCommandsSize(); + } + return size; } template @@ -577,11 +581,10 @@ size_t CommandStreamReceiverHw::getRequiredCmdStreamSizeAligned(const template size_t CommandStreamReceiverHw::getRequiredCmdStreamSize(const DispatchFlags &dispatchFlags) { - size_t size = getSizeRequiredPreambleCS(*memoryManager->device) + - sizeof(typename GfxFamily::STATE_BASE_ADDRESS) + - sizeof(PIPE_CONTROL) + - getRequiredPipeControlSize() + - sizeof(typename GfxFamily::MI_BATCH_BUFFER_START); + size_t size = getRequiredCmdSizeForPreamble(); + size += sizeof(typename GfxFamily::STATE_BASE_ADDRESS) + sizeof(PIPE_CONTROL); + size += getRequiredPipeControlSize(); + size += sizeof(typename GfxFamily::MI_BATCH_BUFFER_START); size += getCmdSizeForL3Config(); size += getCmdSizeForCoherency(); diff --git a/runtime/gen8/command_stream_receiver_hw.cpp b/runtime/gen8/command_stream_receiver_hw.cpp index 0fcadafbd4..58c691756a 100644 --- a/runtime/gen8/command_stream_receiver_hw.cpp +++ b/runtime/gen8/command_stream_receiver_hw.cpp @@ -52,8 +52,6 @@ void CommandStreamReceiverHw::addDcFlushToPipeControl(Family::PIPE_CONTR pCmd->setDcFlushEnable(flushDC); } -template size_t getSizeRequiredPreambleCS(const Device &hwInfo); - template <> void populateFactoryTable>() { extern CommandStreamReceiverCreateFunc commandStreamReceiverFactory[2 * IGFX_MAX_CORE]; diff --git a/runtime/gen9/command_stream_receiver_hw.cpp b/runtime/gen9/command_stream_receiver_hw.cpp index a4719640e3..838354f510 100644 --- a/runtime/gen9/command_stream_receiver_hw.cpp +++ b/runtime/gen9/command_stream_receiver_hw.cpp @@ -56,8 +56,6 @@ template <> void CommandStreamReceiverHw::addDcFlushToPipeControl(Family::PIPE_CONTROL *pCmd, bool flushDC) { } -template size_t getSizeRequiredPreambleCS(const Device &device); - template <> void populateFactoryTable>() { extern CommandStreamReceiverCreateFunc commandStreamReceiverFactory[2 * IGFX_MAX_CORE]; diff --git a/runtime/gen9/preamble.cpp b/runtime/gen9/preamble.cpp index 46fd7bd3f0..db33803bf3 100644 --- a/runtime/gen9/preamble.cpp +++ b/runtime/gen9/preamble.cpp @@ -86,9 +86,14 @@ void PreambleHelper::programThreadArbitration(LinearStream *pCommandS pCmd->setDataDword(DebugControlReg2::getRegData(requiredThreadArbitrationPolicy)); } +template <> +size_t PreambleHelper::getThreadArbitrationCommandsSize() { + return sizeof(MI_LOAD_REGISTER_IMM) + sizeof(PIPE_CONTROL); +} + template <> size_t PreambleHelper::getAdditionalCommandsSize(const Device &device) { - size_t totalSize = PreemptionHelper::getRequiredPreambleSize(device) + sizeof(MI_LOAD_REGISTER_IMM) + sizeof(PIPE_CONTROL); + size_t totalSize = PreemptionHelper::getRequiredPreambleSize(device); totalSize += getKernelDebuggingCommandsSize(device.isSourceLevelDebuggerActive()); return totalSize; } diff --git a/runtime/helpers/preamble.h b/runtime/helpers/preamble.h index 8019dcfc86..cca642c5af 100644 --- a/runtime/helpers/preamble.h +++ b/runtime/helpers/preamble.h @@ -53,6 +53,7 @@ struct PreambleHelper { static void programKernelDebugging(LinearStream *pCommandStream); static uint32_t getL3Config(const HardwareInfo &hwInfo, bool useSLM); static size_t getAdditionalCommandsSize(const Device &device); + static size_t getThreadArbitrationCommandsSize(); static size_t getKernelDebuggingCommandsSize(bool debuggingActive); static void programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo); static uint32_t getUrbEntryAllocationSize(); diff --git a/runtime/helpers/preamble.inl b/runtime/helpers/preamble.inl index 93d856abc3..c6bdb5c105 100644 --- a/runtime/helpers/preamble.inl +++ b/runtime/helpers/preamble.inl @@ -36,6 +36,11 @@ template void PreambleHelper::programThreadArbitration(LinearStream *pCommandStream, uint32_t requiredThreadArbitrationPolicy) { } +template +size_t PreambleHelper::getThreadArbitrationCommandsSize() { + return 0; +} + template uint32_t PreambleHelper::getDefaultThreadArbitrationPolicy() { return 0; diff --git a/unit_tests/command_stream/command_stream_receiver_hw_tests.cpp b/unit_tests/command_stream/command_stream_receiver_hw_tests.cpp index 69c6ff02cd..9553eb6b9c 100644 --- a/unit_tests/command_stream/command_stream_receiver_hw_tests.cpp +++ b/unit_tests/command_stream/command_stream_receiver_hw_tests.cpp @@ -60,14 +60,48 @@ using namespace OCLRT; using ::testing::_; using ::testing::Invoke; -HWTEST_F(UltCommandStreamReceiverTest, requiredCmdSizeForPreamble) { +HWTEST_F(UltCommandStreamReceiverTest, givenThreadArbitrationPolicyNotChangedWhenEstimatingPreambleCmdSizeThenReturnItsValue) { + auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); + commandStreamReceiver.isPreambleSent = true; + commandStreamReceiver.requiredThreadArbitrationPolicy = commandStreamReceiver.lastSentThreadArbitrationPolicy; auto expectedCmdSize = sizeof(typename FamilyType::PIPE_CONTROL) + sizeof(typename FamilyType::MEDIA_VFE_STATE) + PreambleHelper::getAdditionalCommandsSize(*pDevice); - EXPECT_EQ(expectedCmdSize, getSizeRequiredPreambleCS(*pDevice)); + EXPECT_EQ(expectedCmdSize, commandStreamReceiver.getRequiredCmdSizeForPreamble()); } + +HWTEST_F(UltCommandStreamReceiverTest, givenThreadArbitrationPolicyChangedWhenEstimatingPreambleCmdSizeThenResultDependsOnPolicyProgrammingCmdSize) { + auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); + commandStreamReceiver.isPreambleSent = true; + + commandStreamReceiver.requiredThreadArbitrationPolicy = commandStreamReceiver.lastSentThreadArbitrationPolicy; + auto policyNotChanged = commandStreamReceiver.getRequiredCmdSizeForPreamble(); + + commandStreamReceiver.requiredThreadArbitrationPolicy = commandStreamReceiver.lastSentThreadArbitrationPolicy + 1; + auto policyChanged = commandStreamReceiver.getRequiredCmdSizeForPreamble(); + + auto actualDifference = policyChanged - policyNotChanged; + auto expectedDifference = PreambleHelper::getThreadArbitrationCommandsSize(); + EXPECT_EQ(actualDifference, expectedDifference); +} + +HWTEST_F(UltCommandStreamReceiverTest, givenPreambleNotSentPolicyChangedWhenEstimatingPreambleCmdSizeThenResultDependsOnPolicyProgrammingCmdSize) { + auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); + commandStreamReceiver.requiredThreadArbitrationPolicy = commandStreamReceiver.lastSentThreadArbitrationPolicy; + + commandStreamReceiver.isPreambleSent = false; + auto preambleNotSent = commandStreamReceiver.getRequiredCmdSizeForPreamble(); + + commandStreamReceiver.isPreambleSent = true; + auto preambleSent = commandStreamReceiver.getRequiredCmdSizeForPreamble(); + + auto actualDifference = preambleNotSent - preambleSent; + auto expectedDifference = PreambleHelper::getThreadArbitrationCommandsSize(); + EXPECT_EQ(actualDifference, expectedDifference); +} + HWTEST_F(UltCommandStreamReceiverTest, givenCommandStreamReceiverInInitialStateWhenHeapsAreAskedForDirtyStatusThenTrueIsReturned) { auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); @@ -697,7 +731,7 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPr commandStreamReceiver.lastSentL3Config = l3Config; auto &csrCS = commandStreamReceiver.getCS(); - size_t sizeNeededForPreamble = getSizeRequiredPreambleCS(MockDevice(commandStreamReceiver.hwInfo)); + size_t sizeNeededForPreamble = commandStreamReceiver.getRequiredCmdSizeForPreamble(); size_t sizeNeeded = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); sizeNeeded -= sizeof(MI_BATCH_BUFFER_START); // no task to submit sizeNeeded += sizeof(MI_BATCH_BUFFER_END); // no task to submit, add BBE to CSR stream @@ -728,7 +762,7 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPr commandStreamReceiver.lastSentL3Config = l3Config; auto &csrCS = commandStreamReceiver.getCS(); - size_t sizeNeededForPreamble = getSizeRequiredPreambleCS(MockDevice(commandStreamReceiver.hwInfo)); + size_t sizeNeededForPreamble = commandStreamReceiver.getRequiredCmdSizeForPreamble(); size_t sizeNeededForStateBaseAddress = sizeof(STATE_BASE_ADDRESS) + sizeof(PIPE_CONTROL); size_t sizeNeeded = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); sizeNeeded -= sizeof(MI_BATCH_BUFFER_START); // no task to submit @@ -1783,12 +1817,11 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, givenEnabledPreemptionWhenFlushTas HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithPCWhenPreambleSentAndL3ConfigChanged) { typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL; - typedef typename FamilyType::STATE_BASE_ADDRESS STATE_BASE_ADDRESS; - typedef typename FamilyType::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START; - typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; - typedef typename FamilyType::MEDIA_VFE_STATE MEDIA_VFE_STATE; + CsrSizeRequestFlags csrSizeRequest = {}; commandStream.getSpace(sizeof(PIPE_CONTROL)); + flushTaskFlags.useSLM = true; + flushTaskFlags.preemptionMode = PreemptionHelper::getDefaultPreemptionMode(pDevice->getHardwareInfo()); auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); // Force a PIPE_CONTROL through a taskLevel transition @@ -1797,60 +1830,49 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithPCWhenPreambleSentAnd commandStreamReceiver.lastPreemptionMode = pDevice->getPreemptionMode(); commandStreamReceiver.lastMediaSamplerConfig = 0; commandStreamReceiver.lastSentThreadArbitrationPolicy = commandStreamReceiver.requiredThreadArbitrationPolicy; + csrSizeRequest.l3ConfigChanged = true; + commandStreamReceiver.overrideCsrSizeReqFlags(csrSizeRequest); auto &csrCS = commandStreamReceiver.getCS(); - size_t sizeNeeded = 2 * sizeof(PIPE_CONTROL) + sizeof(MI_LOAD_REGISTER_IMM) + sizeof(MEDIA_VFE_STATE) + - sizeof(MI_BATCH_BUFFER_START) + sizeof(STATE_BASE_ADDRESS) + sizeof(PIPE_CONTROL) + - commandStreamReceiver.getRequiredPipeControlSize(); - - sizeNeeded = alignUp(sizeNeeded, MemoryConstants::cacheLineSize); - + size_t sizeNeeded = commandStreamReceiver.getRequiredCmdStreamSizeAligned(flushTaskFlags); auto expectedUsed = csrCS.getUsed() + sizeNeeded; - DispatchFlags dispatchFlags; - dispatchFlags.useSLM = true; - dispatchFlags.preemptionMode = PreemptionHelper::getDefaultPreemptionMode(pDevice->getHardwareInfo()); - - commandStreamReceiver.flushTask(commandStream, 0, dsh, ioh, ssh, taskLevel, dispatchFlags); + commandStreamReceiver.flushTask(commandStream, 0, dsh, ioh, ssh, taskLevel, flushTaskFlags); // Verify that we didn't grab a new CS buffer EXPECT_EQ(expectedUsed, csrCS.getUsed()); } HWTEST_F(CommandStreamReceiverFlushTaskTests, givenCsrWhenPreambleSentThenRequiredCsrSizeDependsOnL3ConfigChanged) { - typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL; - typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; UltCommandStreamReceiver &commandStreamReceiver = (UltCommandStreamReceiver &)pDevice->getCommandStreamReceiver(); CsrSizeRequestFlags csrSizeRequest = {}; - DispatchFlags flags; commandStreamReceiver.isPreambleSent = true; csrSizeRequest.l3ConfigChanged = true; commandStreamReceiver.overrideCsrSizeReqFlags(csrSizeRequest); - auto l3ConfigChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flags); + auto l3ConfigChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); + auto expectedDifference = commandStreamReceiver.getCmdSizeForL3Config(); csrSizeRequest.l3ConfigChanged = false; commandStreamReceiver.overrideCsrSizeReqFlags(csrSizeRequest); - auto l3ConfigNotChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flags); + auto l3ConfigNotChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); - EXPECT_NE(l3ConfigNotChangedSize, l3ConfigChangedSize); auto difference = l3ConfigChangedSize - l3ConfigNotChangedSize; - EXPECT_EQ(sizeof(PIPE_CONTROL) + sizeof(MI_LOAD_REGISTER_IMM), difference); + EXPECT_EQ(expectedDifference, difference); } HWTEST_F(CommandStreamReceiverFlushTaskTests, givenCsrWhenPreambleNotSentThenRequiredCsrSizeDoesntDependOnL3ConfigChanged) { UltCommandStreamReceiver &commandStreamReceiver = (UltCommandStreamReceiver &)pDevice->getCommandStreamReceiver(); CsrSizeRequestFlags csrSizeRequest = {}; - DispatchFlags flags; commandStreamReceiver.isPreambleSent = false; csrSizeRequest.l3ConfigChanged = true; commandStreamReceiver.overrideCsrSizeReqFlags(csrSizeRequest); - auto l3ConfigChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flags); + auto l3ConfigChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); csrSizeRequest.l3ConfigChanged = false; commandStreamReceiver.overrideCsrSizeReqFlags(csrSizeRequest); - auto l3ConfigNotChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flags); + auto l3ConfigNotChangedSize = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags); EXPECT_EQ(l3ConfigNotChangedSize, l3ConfigChangedSize); } diff --git a/unit_tests/command_stream/command_stream_receiver_hw_tests.inl b/unit_tests/command_stream/command_stream_receiver_hw_tests.inl index 7689d67355..9a8331e85d 100644 --- a/unit_tests/command_stream/command_stream_receiver_hw_tests.inl +++ b/unit_tests/command_stream/command_stream_receiver_hw_tests.inl @@ -38,7 +38,7 @@ struct CommandStreamReceiverHwTest : public DeviceFixture, } void givenKernelWithSlmWhenPreviousNOSLML3WasSentThenProgramL3WithSLML3ConfigImpl(); - void givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); + void givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); }; template @@ -83,7 +83,8 @@ void CommandStreamReceiverHwTest::givenKernelWithSlmWhenPreviousNOSLM } template -void CommandStreamReceiverHwTest::givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblockingImpl() { +void CommandStreamReceiverHwTest::givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentThenProgramL3WithSLML3ConfigAfterUnblockingImpl() { + typedef typename GfxFamily::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; size_t GWS = 1; MockContext ctx(pDevice); diff --git a/unit_tests/gen8/command_stream_receiver_hw_tests_gen8.cpp b/unit_tests/gen8/command_stream_receiver_hw_tests_gen8.cpp index d15b319c22..2c97c3d71d 100644 --- a/unit_tests/gen8/command_stream_receiver_hw_tests_gen8.cpp +++ b/unit_tests/gen8/command_stream_receiver_hw_tests_gen8.cpp @@ -47,5 +47,5 @@ GEN8TEST_F(CommandStreamReceiverHwTestGen8, GivenKernelWithSlmWhenPreviousNOSLML } GEN8TEST_F(CommandStreamReceiverHwTestGen8, GivenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblocking) { - givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); + givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); } diff --git a/unit_tests/gen8/test_preamble_gen8.cpp b/unit_tests/gen8/test_preamble_gen8.cpp index a5bb0090ba..4ed2fad69b 100644 --- a/unit_tests/gen8/test_preamble_gen8.cpp +++ b/unit_tests/gen8/test_preamble_gen8.cpp @@ -76,6 +76,7 @@ BDWTEST_F(ThreadArbitrationGen8, givenPolicyWhenThreadArbitrationProgrammedThenD EXPECT_EQ(0u, cs.getUsed()); EXPECT_EQ(0u, PreambleHelper::getAdditionalCommandsSize(MockDevice(**platformDevices))); + EXPECT_EQ(0u, PreambleHelper::getThreadArbitrationCommandsSize()); EXPECT_EQ(0u, PreambleHelper::getDefaultThreadArbitrationPolicy()); } diff --git a/unit_tests/gen9/command_stream_receiver_hw_tests_gen9.cpp b/unit_tests/gen9/command_stream_receiver_hw_tests_gen9.cpp index a543a0e926..88c995f7da 100644 --- a/unit_tests/gen9/command_stream_receiver_hw_tests_gen9.cpp +++ b/unit_tests/gen9/command_stream_receiver_hw_tests_gen9.cpp @@ -58,7 +58,7 @@ GEN9TEST_F(UltCommandStreamReceiverTest, givenNotSentPreambleAndMidThreadPreempt uint32_t newL3Config; DispatchFlags dispatchFlags; - auto cmdSizePreambleMidThread = getSizeRequiredPreambleCS(*pDevice); + auto cmdSizePreambleMidThread = commandStreamReceiver.getRequiredCmdSizeForPreamble(); StackVec preemptionBuffer; preemptionBuffer.resize(cmdSizePreambleMidThread); LinearStream preambleStream(&*preemptionBuffer.begin(), preemptionBuffer.size()); @@ -88,7 +88,7 @@ GEN9TEST_F(UltCommandStreamReceiverTest, givenNotSentPreambleAndKernelDebuggingA uint32_t newL3Config; DispatchFlags dispatchFlags; - auto cmdSizePreambleMidThread = getSizeRequiredPreambleCS(*pDevice); + auto cmdSizePreambleMidThread = commandStreamReceiver.getRequiredCmdSizeForPreamble(); StackVec preemptionBuffer; preemptionBuffer.resize(cmdSizePreambleMidThread); LinearStream preambleStream(&*preemptionBuffer.begin(), preemptionBuffer.size()); @@ -113,5 +113,5 @@ GEN9TEST_F(CommandStreamReceiverHwTestGen9, GivenKernelWithSlmWhenPreviousNOSLML } GEN9TEST_F(CommandStreamReceiverHwTestGen9, GivenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblocking) { - givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentOnThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); + givenBlockedKernelWithSlmWhenPreviousNOSLML3WasSentThenProgramL3WithSLML3ConfigAfterUnblockingImpl(); } diff --git a/unit_tests/gen9/skl/test_preamble_skl.cpp b/unit_tests/gen9/skl/test_preamble_skl.cpp index 3199192923..c6f7f084dd 100644 --- a/unit_tests/gen9/skl/test_preamble_skl.cpp +++ b/unit_tests/gen9/skl/test_preamble_skl.cpp @@ -99,8 +99,8 @@ SKLTEST_F(ThreadArbitration, givenPreambleWhenItIsProgrammedThenThreadArbitratio EXPECT_EQ(0xE404u, lri.getRegisterOffset()); EXPECT_EQ(0x100u, lri.getDataDword()); - EXPECT_EQ(sizeof(MI_LOAD_REGISTER_IMM) + sizeof(PIPE_CONTROL), - PreambleHelper::getAdditionalCommandsSize(MockDevice(*platformDevices[0]))); + EXPECT_EQ(0u, PreambleHelper::getAdditionalCommandsSize(MockDevice(*platformDevices[0]))); + EXPECT_EQ(sizeof(MI_LOAD_REGISTER_IMM) + sizeof(PIPE_CONTROL), PreambleHelper::getThreadArbitrationCommandsSize()); } SKLTEST_F(ThreadArbitration, defaultArbitrationPolicy) {