fix: skip signaling remaining packets only for explicit CB Events

Related-To: HSD-18040605969

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2024-11-15 11:58:51 +00:00
committed by Compute-Runtime-Automation
parent 8797c326b6
commit e363c871c7
2 changed files with 10 additions and 1 deletions

View File

@@ -3913,7 +3913,7 @@ void CommandListCoreFamily<gfxCoreFamily>::dispatchEventPostSyncOperation(Event
template <GFXCORE_FAMILY gfxCoreFamily>
void CommandListCoreFamily<gfxCoreFamily>::dispatchEventRemainingPacketsPostSyncOperation(Event *event, bool copyOperation) {
if (this->signalAllEventPackets && !event->isCounterBased() && event->getPacketsInUse() < event->getMaxPacketsCount()) {
if (this->signalAllEventPackets && !event->isCounterBasedExplicitlyEnabled() && event->getPacketsInUse() < event->getMaxPacketsCount()) {
uint32_t packets = event->getMaxPacketsCount() - event->getPacketsInUse();
CmdListEventOperation remainingPacketsOperation = estimateEventPostSync(event, packets);

View File

@@ -2808,6 +2808,15 @@ HWTEST2_F(InOrderCmdListTests, givenSignalAllPacketsSetWhenProgrammingRemainingP
immCmdList->dispatchEventRemainingPacketsPostSyncOperation(events[0].get(), true);
EXPECT_EQ(offset, cmdStream->getUsed());
events[0]->makeCounterBasedInitiallyDisabled(eventPool->getAllocation());
offset = cmdStream->getUsed();
immCmdList->dispatchEventRemainingPacketsPostSyncOperation(events[0].get(), false);
immCmdList->dispatchEventRemainingPacketsPostSyncOperation(events[0].get(), true);
EXPECT_NE(offset, cmdStream->getUsed());
}
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenProgramPipeControlWithSignalAllocation, IsGen12LP) {