@@ -279,9 +279,11 @@ HWTEST2_F(L0DebuggerTest, givenL0DebuggerAndDebuggerLogsDisabledWhenCommandQueue
279
279
280
280
HWTEST2_F (L0DebuggerTest, givenDebuggingEnabledWhenNonCopyCommandListIsInititalizedOrResetThenSSHAddressIsTracked, Gen12Plus) {
281
281
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
282
+ using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
282
283
283
284
DebugManagerStateRestore dbgRestorer;
284
285
DebugManager.flags .EnableStateBaseAddressTracking .set (0 );
286
+ DebugManager.flags .DispatchCmdlistCmdBufferPrimary .set (0 );
285
287
286
288
size_t usedSpaceBefore = 0 ;
287
289
ze_result_t returnValue;
@@ -304,10 +306,34 @@ HWTEST2_F(L0DebuggerTest, givenDebuggingEnabledWhenNonCopyCommandListIsInititali
304
306
EXPECT_EQ (expectedGpuVa, sshGpuVa);
305
307
EXPECT_EQ (1u , getMockDebuggerL0Hw<FamilyType>()->captureStateBaseAddressCount );
306
308
309
+ auto bbStartList = findAll<MI_BATCH_BUFFER_START *>(cmdList.begin (), cmdList.end ());
310
+ for (const auto &bbStartIt : bbStartList) {
311
+ auto bbStartCmd = reinterpret_cast <MI_BATCH_BUFFER_START *>(*bbStartIt);
312
+ EXPECT_EQ (MI_BATCH_BUFFER_START::SECOND_LEVEL_BATCH_BUFFER_SECOND_LEVEL_BATCH, bbStartCmd->getSecondLevelBatchBuffer ());
313
+ }
314
+
307
315
commandList->reset ();
308
316
EXPECT_EQ (2u , getMockDebuggerL0Hw<FamilyType>()->captureStateBaseAddressCount );
309
317
310
318
commandList->destroy ();
319
+
320
+ DebugManager.flags .DispatchCmdlistCmdBufferPrimary .set (1 );
321
+ commandListHandle = CommandList::create (productFamily, device, NEO::EngineGroupType::RenderCompute, 0u , returnValue)->toHandle ();
322
+ commandList = CommandList::fromHandle (commandListHandle);
323
+
324
+ cmdList.clear ();
325
+ ASSERT_TRUE (FamilyType::PARSE::parseCommandBuffer (
326
+ cmdList,
327
+ commandList->getCmdContainer ().getCommandStream ()->getCpuBase (),
328
+ commandList->getCmdContainer ().getCommandStream ()->getUsed ()));
329
+
330
+ bbStartList = findAll<MI_BATCH_BUFFER_START *>(cmdList.begin (), cmdList.end ());
331
+ for (const auto &bbStartIt : bbStartList) {
332
+ auto bbStartCmd = reinterpret_cast <MI_BATCH_BUFFER_START *>(*bbStartIt);
333
+ EXPECT_EQ (MI_BATCH_BUFFER_START::SECOND_LEVEL_BATCH_BUFFER_FIRST_LEVEL_BATCH, bbStartCmd->getSecondLevelBatchBuffer ());
334
+ }
335
+
336
+ commandList->destroy ();
311
337
}
312
338
313
339
HWTEST2_F (L0DebuggerTest, givenDebuggingEnabledWhenCommandListIsExecutedThenSbaBufferIsPushedToResidencyContainer, Gen12Plus) {
0 commit comments