From d2ff46e0118660016f069cd79bcd07f254bd5267 Mon Sep 17 00:00:00 2001 From: Aravind Gopalakrishnan Date: Fri, 25 Jun 2021 03:10:15 +0000 Subject: [PATCH] Fix address programming in appendSignalEvent Signed-off-by: Aravind Gopalakrishnan --- level_zero/core/source/cmdlist/cmdlist_hw.inl | 3 ++- .../sources/cmdlist/test_cmdlist_append_signal_event.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/level_zero/core/source/cmdlist/cmdlist_hw.inl b/level_zero/core/source/cmdlist/cmdlist_hw.inl index 28f0776985..e368bb276e 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw.inl @@ -1605,8 +1605,9 @@ ze_result_t CommandListCoreFamily::appendSignalEvent(ze_event_han } else { using MI_STORE_DATA_IMM = typename GfxFamily::MI_STORE_DATA_IMM; MI_STORE_DATA_IMM storeDataImmediate = GfxFamily::cmdInitStoreDataImm; + storeDataImmediate.setAddress(ptrOffset(baseAddr, eventSignalOffset)); storeDataImmediate.setStoreQword(false); - storeDataImmediate.setDwordLength(MI_STORE_DATA_IMM::DWORD_LENGTH::DWORD_LENGTH_STORE_QWORD); + storeDataImmediate.setDwordLength(MI_STORE_DATA_IMM::DWORD_LENGTH::DWORD_LENGTH_STORE_DWORD); storeDataImmediate.setDataDword0(Event::STATE_SIGNALED); auto buffer = commandContainer.getCommandStream()->template getSpaceForCmd(); *buffer = storeDataImmediate; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_signal_event.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_signal_event.cpp index 082c872e88..192660a85f 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_signal_event.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_signal_event.cpp @@ -36,8 +36,11 @@ HWTEST_F(CommandListAppendSignalEvent, WhenAppendingSignalEventWithoutScopeThenM ASSERT_TRUE(FamilyType::PARSE::parseCommandBuffer( cmdList, ptrOffset(commandList->commandContainer.getCommandStream()->getCpuBase(), 0), usedSpaceAfter)); - auto itor = findAll(cmdList.begin(), cmdList.end()); - ASSERT_NE(0u, itor.size()); + auto baseAddr = event->getGpuAddress(device); + auto itor = find(cmdList.begin(), cmdList.end()); + EXPECT_NE(cmdList.end(), itor); + auto cmd = genCmdCast(*itor); + EXPECT_EQ(cmd->getAddress(), baseAddr); } HWTEST_F(CommandListAppendSignalEvent, givenCmdlistWhenAppendingSignalEventThenEventPoolGraphicsAllocationIsAddedToResidencyContainer) {