diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp index a96b0c80cd..6784a457ef 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp @@ -2960,7 +2960,7 @@ HWTEST_F(CommandListCreate, givenCommandListWhenAppendingBarrierWithIncorrectWai EXPECT_EQ(returnValue, ZE_RESULT_ERROR_INVALID_ARGUMENT); } -HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingBeforeCommandForCopyOnlyThenCommandsHaveCorrectEventOffsets, IsAtLeastSkl) { +HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingBeforeCommandForCopyOnlyThenCommandsHaveCorrectEventOffsets, IsAtLeastGen12lp) { using GfxFamily = typename NEO::GfxFamilyMapper::GfxFamily; using MI_STORE_REGISTER_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM; auto commandList = std::make_unique>>(); @@ -2990,15 +2990,15 @@ HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingBeforeCommandForCo auto itor = find(cmdList.begin(), cmdList.end()); EXPECT_NE(cmdList.end(), itor); auto cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, globalOffset)); EXPECT_NE(cmdList.end(), ++itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, contextOffset)); } -HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingAfterCommandForCopyOnlyThenCommandsHaveCorrectEventOffsets, IsAtLeastSkl) { +HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingAfterCommandForCopyOnlyThenCommandsHaveCorrectEventOffsets, IsAtLeastGen12lp) { using GfxFamily = typename NEO::GfxFamilyMapper::GfxFamily; using MI_STORE_REGISTER_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM; auto commandList = std::make_unique>>(); @@ -3025,11 +3025,11 @@ HWTEST2_F(CommandListCreate, givenCopyCommandListWhenProfilingAfterCommandForCop auto itor = find(cmdList.begin(), cmdList.end()); EXPECT_NE(cmdList.end(), itor); auto cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, globalOffset)); EXPECT_NE(cmdList.end(), ++itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, contextOffset)); } diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_memory.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_memory.cpp index 2b887b46ad..8cf61605de 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_memory.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_memory.cpp @@ -679,7 +679,7 @@ HWTEST2_F(AppendMemoryCopy, givenCommandListAndHostPointersWhenMemoryCopyCalledT EXPECT_EQ(expectedDcFlushPipeControl, dcFlushPipeControl); } -HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyThenAppendProfilingCalledOnceBeforeAndAfterCommand, IsAtLeastSkl) { +HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyThenAppendProfilingCalledOnceBeforeAndAfterCommand, IsAtLeastGen12lp) { using GfxFamily = typename NEO::GfxFamilyMapper::GfxFamily; using MI_STORE_REGISTER_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM; using MI_FLUSH_DW = typename GfxFamily::MI_FLUSH_DW; @@ -712,11 +712,11 @@ HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyT auto itor = find(cmdList.begin(), cmdList.end()); EXPECT_NE(cmdList.end(), itor); auto cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); itor++; EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); itor = find(itor, cmdList.end()); EXPECT_NE(cmdList.end(), itor); @@ -724,11 +724,11 @@ HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyT itor = find(itor, cmdList.end()); EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); itor++; EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); itor++; EXPECT_EQ(cmdList.end(), itor); } diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp index 9f9743a4ee..986f5e2a46 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp @@ -221,7 +221,7 @@ HWTEST2_F(AppendMemoryCopy, givenCopyOnlyCommandListThenDcFlushIsNotAddedAfterBl EXPECT_EQ(cmd->getSourceBaseAddress(), ptrOffset(srcPtr, srcOffset)); } -HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyRegionBlitThenTimeStampRegistersAreAdded, IsAtLeastSkl) { +HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyRegionBlitThenTimeStampRegistersAreAdded, IsAtLeastGen12lp) { using GfxFamily = typename NEO::GfxFamilyMapper::GfxFamily; using MI_STORE_REGISTER_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM; auto commandList = std::make_unique>>(); @@ -262,29 +262,29 @@ HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyR auto itor = find(cmdList.begin(), cmdList.end()); EXPECT_NE(cmdList.end(), itor); auto cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, globalStartOffset)); itor++; EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, contextStartOffset)); itor++; itor = find(itor, cmdList.end()); EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, globalEndOffset)); itor++; EXPECT_NE(cmdList.end(), itor); cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::gpThreadTimeRegAddressOffsetLow); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::gpThreadTimeRegAddressOffsetLow); EXPECT_EQ(cmd->getMemoryAddress(), ptrOffset(baseAddr, contextEndOffset)); itor++; EXPECT_EQ(cmdList.end(), itor); } -HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToImageCopyBlitThenTimeStampRegistersAreAdded, IsAtLeastSkl) { +HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToImageCopyBlitThenTimeStampRegistersAreAdded, IsAtLeastGen12lp) { using GfxFamily = typename NEO::GfxFamilyMapper::GfxFamily; using MI_STORE_REGISTER_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM; auto commandList = std::make_unique>>(); @@ -314,7 +314,7 @@ HWTEST2_F(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToImageCopyBl auto itor = find(cmdList.begin(), cmdList.end()); EXPECT_NE(cmdList.end(), itor); auto cmd = genCmdCast(*itor); - EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::globalTimestampLdw); + EXPECT_EQ(cmd->getRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::globalTimestampLdw); } using ImageSupport = IsWithinProducts; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xe2_and_later.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xe2_and_later.cpp index 30a692f264..aac985161c 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xe2_and_later.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xe2_and_later.cpp @@ -23,8 +23,8 @@ namespace L0 { namespace ult { -HWTEST_EXCLUDE_PRODUCT(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyRegionBlitThenTimeStampRegistersAreAdded_IsAtLeastSkl, IGFX_XE2_HPG_CORE); -HWTEST_EXCLUDE_PRODUCT(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyThenAppendProfilingCalledOnceBeforeAndAfterCommand_IsAtLeastSkl, IGFX_XE2_HPG_CORE); +HWTEST_EXCLUDE_PRODUCT(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyRegionBlitThenTimeStampRegistersAreAdded_IsAtLeastGen12lp, IGFX_XE2_HPG_CORE); +HWTEST_EXCLUDE_PRODUCT(AppendMemoryCopy, givenCopyCommandListWhenTimestampPassedToMemoryCopyThenAppendProfilingCalledOnceBeforeAndAfterCommand_IsAtLeastGen12lp, IGFX_XE2_HPG_CORE); using Platforms = IsAtLeastXe2HpgCore; diff --git a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_1_tests.cpp b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_1_tests.cpp index 24d9996229..6ff2baa2ae 100644 --- a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_1_tests.cpp +++ b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_1_tests.cpp @@ -1068,12 +1068,12 @@ HWTEST2_F(RelaxedOrderingBcsTests, givenDependenciesWhenFlushingThenProgramCorre EXPECT_TRUE(csr.latestFlushedBatchBuffer.hasRelaxedOrderingDependencies); auto lrrCmd = reinterpret_cast(ptrOffset(csr.commandStream.getCpuBase(), cmdsOffset)); - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR4); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR4); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0); lrrCmd++; - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR4 + 4); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0 + 4); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR4 + 4); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0 + 4); auto eventNode = timestamp.peekNodes()[0]; auto compareAddress = eventNode->getGpuAddress() + eventNode->getContextEndOffset(); diff --git a/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp b/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp index 540314a8b4..63d4839815 100644 --- a/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp +++ b/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp @@ -102,7 +102,7 @@ XE2_HPG_CORETEST_F(CommandStreamReceiverXe2HpgCoreTests, givenProfilingEnabledWh auto lriCmd = genCmdCast(*cmdIterator); - EXPECT_EQ(expectRegister, lriCmd->getRegisterAddress()); + EXPECT_EQ(expectRegister + RegisterOffsets::bcs0Base, lriCmd->getRegisterAddress()); EXPECT_EQ(expectedAddress, lriCmd->getMemoryAddress()); }; diff --git a/shared/source/command_container/command_encoder.inl b/shared/source/command_container/command_encoder.inl index cb69a4f82e..a15b642293 100644 --- a/shared/source/command_container/command_encoder.inl +++ b/shared/source/command_container/command_encoder.inl @@ -378,6 +378,9 @@ void EncodeSetMMIO::encodeMEM(LinearStream &cmdStream, uint32_t offset, cmd.setRegisterAddress(offset); cmd.setMemoryAddress(address); remapOffset(&cmd); + if (isBcs) { + cmd.setRegisterAddress(offset + RegisterOffsets::bcs0Base); + } auto buffer = cmdStream.getSpaceForCmd(); *buffer = cmd; @@ -389,6 +392,10 @@ void EncodeSetMMIO::encodeREG(LinearStream &cmdStream, uint32_t dstOffse cmd.setSourceRegisterAddress(srcOffset); cmd.setDestinationRegisterAddress(dstOffset); remapOffset(&cmd); + if (isBcs) { + cmd.setSourceRegisterAddress(srcOffset + RegisterOffsets::bcs0Base); + cmd.setDestinationRegisterAddress(dstOffset + RegisterOffsets::bcs0Base); + } auto buffer = cmdStream.getSpaceForCmd(); *buffer = cmd; } @@ -408,6 +415,9 @@ inline void EncodeStoreMMIO::encode(MI_STORE_REGISTER_MEM *cmdBuffer, ui cmd.setRegisterAddress(offset); cmd.setMemoryAddress(address); appendFlags(&cmd, workloadPartition); + if (isBcs) { + cmd.setRegisterAddress(offset + RegisterOffsets::bcs0Base); + } *cmdBuffer = cmd; } diff --git a/shared/test/unit_test/command_container/command_encoder_tests.cpp b/shared/test/unit_test/command_container/command_encoder_tests.cpp index b75b9d6954..a69d507d3f 100644 --- a/shared/test/unit_test/command_container/command_encoder_tests.cpp +++ b/shared/test/unit_test/command_container/command_encoder_tests.cpp @@ -680,6 +680,81 @@ HWTEST2_F(CommandEncoderTests, whenUsingDefaultFilteringAndAppendSamplerStatePar EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter()); } +HWTEST2_F(CommandEncoderTests, givenMiStoreRegisterMemWhenEncodeAndIsBcsThenRegisterOffsetsBcs0Base, IsAtLeastGen12lp) { + using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM; + + uint64_t baseAddr = 0x10; + uint32_t offset = 0x2000; + + constexpr size_t bufferSize = 2100; + uint8_t buffer[bufferSize]; + LinearStream cmdStream(buffer, bufferSize); + auto buf = cmdStream.getSpaceForCmd(); + + bool isBcs = true; + EncodeStoreMMIO::encode(buf, offset, baseAddr, true, isBcs); + auto storeRegMem = genCmdCast(buffer); + ASSERT_NE(nullptr, storeRegMem); + EXPECT_EQ(storeRegMem->getRegisterAddress(), RegisterOffsets::bcs0Base + offset); + + isBcs = false; + EncodeStoreMMIO::encode(buf, offset, baseAddr, true, isBcs); + storeRegMem = genCmdCast(buffer); + ASSERT_NE(nullptr, storeRegMem); + EXPECT_EQ(storeRegMem->getRegisterAddress(), offset); +} + +HWTEST2_F(CommandEncoderTests, givenMiLoadRegisterMemWhenEncodememAndIsBcsThenRegisterOffsetsBcs0Base, IsAtLeastGen12lp) { + using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM; + + uint64_t baseAddr = 0x10; + uint32_t offset = 0x2000; + + constexpr size_t bufferSize = 2100; + uint8_t buffer[bufferSize]; + LinearStream cmdStream(buffer, bufferSize); + uint8_t *ptr = buffer; + bool isBcs = true; + + EncodeSetMMIO::encodeMEM(cmdStream, offset, baseAddr, isBcs); + auto loadRegMem = genCmdCast(ptr); + ASSERT_NE(nullptr, loadRegMem); + EXPECT_EQ(loadRegMem->getRegisterAddress(), RegisterOffsets::bcs0Base + offset); + + isBcs = false; + ptr += sizeof(MI_LOAD_REGISTER_MEM); + EncodeSetMMIO::encodeMEM(cmdStream, offset, baseAddr, isBcs); + loadRegMem = genCmdCast(ptr); + ASSERT_NE(nullptr, loadRegMem); + EXPECT_EQ(loadRegMem->getRegisterAddress(), offset); +} + +HWTEST2_F(CommandEncoderTests, givenMiLoadRegisterRegwhenencoderegAndIsBcsThenRegisterOffsetsBcs0Base, IsAtLeastGen12lp) { + using MI_LOAD_REGISTER_REG = typename FamilyType::MI_LOAD_REGISTER_REG; + + uint32_t srcOffset = 0x2000; + uint32_t dstOffset = 0x2004; + + constexpr size_t bufferSize = 2100; + uint8_t buffer[bufferSize]; + LinearStream cmdStream(buffer, bufferSize); + uint8_t *ptr = buffer; + bool isBcs = true; + + EncodeSetMMIO::encodeREG(cmdStream, dstOffset, srcOffset, isBcs); + auto storeRegReg = genCmdCast(buffer); + ASSERT_NE(nullptr, storeRegReg); + EXPECT_EQ(storeRegReg->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + srcOffset); + EXPECT_EQ(storeRegReg->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + dstOffset); + + isBcs = false; + ptr += sizeof(MI_LOAD_REGISTER_REG); + EncodeSetMMIO::encodeREG(cmdStream, dstOffset, srcOffset, isBcs); + storeRegReg = genCmdCast(ptr); + EXPECT_EQ(storeRegReg->getSourceRegisterAddress(), srcOffset); + EXPECT_EQ(storeRegReg->getDestinationRegisterAddress(), dstOffset); +} + HWTEST2_F(CommandEncoderTests, whenForcingLowQualityFilteringAndAppendSamplerStateParamsThenEnableLowQualityFilter, IsAtLeastGen12lp) { DebugManagerStateRestore dbgRestore; diff --git a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp index f7ff5e6a46..42ac528096 100644 --- a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp +++ b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp @@ -2211,12 +2211,12 @@ HWTEST2_F(DirectSubmissionRelaxedOrderingTests, givenBcsRelaxedOrderingEnabledWh auto lrrCmdIt = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); auto lrrCmd = genCmdCast(*lrrCmdIt); - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR3); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR3); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0); lrrCmd++; - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR3 + 4); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0 + 4); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR3 + 4); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0 + 4); auto bbStartCmd = reinterpret_cast(++lrrCmd); EXPECT_EQ(1u, bbStartCmd->getIndirectAddressEnable()); @@ -2276,12 +2276,12 @@ HWTEST2_F(DirectSubmissionRelaxedOrderingTests, whenProgrammingEndingCmdsThenSet auto lrrCmdIt = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); auto lrrCmd = genCmdCast(*lrrCmdIt); - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR3); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR3); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0); lrrCmd++; - EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::csGprR3 + 4); - EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::csGprR0 + 4); + EXPECT_EQ(lrrCmd->getSourceRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR3 + 4); + EXPECT_EQ(lrrCmd->getDestinationRegisterAddress(), RegisterOffsets::bcs0Base + RegisterOffsets::csGprR0 + 4); auto bbStartCmd = reinterpret_cast(++lrrCmd); EXPECT_EQ(1u, bbStartCmd->getIndirectAddressEnable());