@@ -903,6 +903,22 @@ HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEnqueueingThe
903903 EXPECT_EQ (0u , deferredTimestampPackets->peekNodes ().size ());
904904}
905905
906+ HWTEST_F (TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEnqueueingToOoqThenMoveToDeferredList) {
907+ device->getUltCommandStreamReceiver <FamilyType>().timestampPacketWriteEnabled = true ;
908+
909+ auto cmdQ = std::make_unique<MockCommandQueueHw<FamilyType>>(context, device.get (), nullptr );
910+ cmdQ->setOoqEnabled ();
911+
912+ TimestampPacketContainer *deferredTimestampPackets = cmdQ->deferredTimestampPackets .get ();
913+
914+ cmdQ->enqueueKernel (kernel->mockKernel , 1 , nullptr , gws, nullptr , 0 , nullptr , nullptr );
915+ EXPECT_EQ (0u , deferredTimestampPackets->peekNodes ().size ());
916+
917+ cmdQ->enqueueKernel (kernel->mockKernel , 1 , nullptr , gws, nullptr , 0 , nullptr , nullptr );
918+
919+ EXPECT_EQ (1u , deferredTimestampPackets->peekNodes ().size ());
920+ }
921+
906922HWTEST_F (TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEnqueueingBlockingThenTrackOwnershipUntilQueueIsCompleted) {
907923 DebugManager.flags .MakeEachEnqueueBlocking .set (true );
908924
@@ -1403,35 +1419,6 @@ HWTEST_F(TimestampPacketTests, givenAlreadyAssignedNodeWhenEnqueueingBlockedThen
14031419 cmdQ->isQueueBlocked ();
14041420}
14051421
1406- HWTEST_F (TimestampPacketTests, givenAlreadyAssignedNodeWhenEnqueueingThenDontKeepDependencyOnPreviousNodeIfItsReady) {
1407- device->getUltCommandStreamReceiver <FamilyType>().timestampPacketWriteEnabled = true ;
1408-
1409- MockCommandQueueHw<FamilyType> cmdQ (context, device.get (), nullptr );
1410- TimestampPacketContainer previousNodes;
1411- cmdQ.obtainNewTimestampPacketNodes (1 , previousNodes, false , false );
1412- auto firstNode = cmdQ.timestampPacketContainer ->peekNodes ().at (0 );
1413- setTagToReadyState (firstNode);
1414-
1415- cmdQ.enqueueKernel (kernel->mockKernel , 1 , nullptr , gws, nullptr , 0 , nullptr , nullptr );
1416-
1417- HardwareParse hwParser;
1418- hwParser.parseCommands <FamilyType>(*cmdQ.commandStream , 0 );
1419-
1420- uint32_t semaphoresFound = 0 ;
1421- uint32_t atomicsFound = 0 ;
1422- for (auto it = hwParser.cmdList .begin (); it != hwParser.cmdList .end (); it++) {
1423- if (genCmdCast<typename FamilyType::MI_SEMAPHORE_WAIT *>(*it)) {
1424- semaphoresFound++;
1425- }
1426- if (genCmdCast<typename FamilyType::MI_ATOMIC *>(*it)) {
1427- atomicsFound++;
1428- }
1429- }
1430- uint32_t expectedSemaphoresCount = (UnitTestHelper<FamilyType>::isAdditionalMiSemaphoreWaitRequired (device->getHardwareInfo ()) ? 2 : 0 );
1431- EXPECT_EQ (expectedSemaphoresCount, semaphoresFound);
1432- EXPECT_EQ (0u , atomicsFound);
1433- }
1434-
14351422HWTEST_F (TimestampPacketTests, givenAlreadyAssignedNodeWhenEnqueueingThenKeepDependencyOnPreviousNodeIfItsNotReady) {
14361423 using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
14371424 using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
0 commit comments