@@ -1469,13 +1469,14 @@ HWTEST_F(EnqueueKernelTest, givenInOrderCommandQueueWhenEnqueueKernelReturningEv
1469
1469
clReleaseEvent (event);
1470
1470
}
1471
1471
1472
- HWTEST_F (EnqueueKernelTest, givenOutOfOrderCommandQueueWhenEnqueueKernelReturningEventIsMadeThenPipeControlPositionIsRecorded ) {
1473
- const cl_queue_properties props[3 ] = {CL_QUEUE_PROPERTIES, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, 0 };
1472
+ HWTEST_F (EnqueueKernelTest, givenInOrderCommandQueueWhenEnqueueKernelReturningEventIsMadeAndCommandStreamReceiverIsInNTo1ModeThenPipeControlPositionIsRecorded ) {
1473
+ const cl_queue_properties props[] = {0 };
1474
1474
auto inOrderQueue = clCreateCommandQueueWithProperties (context, pDevice, props, nullptr );
1475
1475
1476
1476
auto mockCsr = new MockCsrHw2<FamilyType>(pDevice->getHardwareInfo ());
1477
1477
mockCsr->overrideDispatchPolicy (DispatchMode::BatchedDispatch);
1478
1478
pDevice->resetCommandStreamReceiver (mockCsr);
1479
+ mockCsr->enableNTo1SubmissionModel ();
1479
1480
1480
1481
auto mockedSubmissionsAggregator = new mockSubmissionsAggregator ();
1481
1482
mockCsr->overrideSubmissionAggregator (mockedSubmissionsAggregator);
@@ -1486,6 +1487,32 @@ HWTEST_F(EnqueueKernelTest, givenOutOfOrderCommandQueueWhenEnqueueKernelReturnin
1486
1487
1487
1488
clEnqueueNDRangeKernel (inOrderQueue, mockKernel.mockKernel , 1 , nullptr , gws, nullptr , 0 , nullptr , &event);
1488
1489
1490
+ EXPECT_FALSE (mockedSubmissionsAggregator->peekCmdBufferList ().peekIsEmpty ());
1491
+ auto cmdBuffer = mockedSubmissionsAggregator->peekCmdBufferList ().peekHead ();
1492
+ EXPECT_NE (nullptr , cmdBuffer->pipeControlThatMayBeErasedLocation );
1493
+ EXPECT_NE (nullptr , cmdBuffer->epiloguePipeControlLocation );
1494
+
1495
+ clReleaseCommandQueue (inOrderQueue);
1496
+ clReleaseEvent (event);
1497
+ }
1498
+
1499
+ HWTEST_F (EnqueueKernelTest, givenOutOfOrderCommandQueueWhenEnqueueKernelReturningEventIsMadeThenPipeControlPositionIsRecorded) {
1500
+ auto mockCsr = new MockCsrHw2<FamilyType>(pDevice->getHardwareInfo ());
1501
+ mockCsr->overrideDispatchPolicy (DispatchMode::BatchedDispatch);
1502
+ pDevice->resetCommandStreamReceiver (mockCsr);
1503
+
1504
+ auto mockedSubmissionsAggregator = new mockSubmissionsAggregator ();
1505
+ mockCsr->overrideSubmissionAggregator (mockedSubmissionsAggregator);
1506
+
1507
+ const cl_queue_properties props[3 ] = {CL_QUEUE_PROPERTIES, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, 0 };
1508
+ auto inOrderQueue = clCreateCommandQueueWithProperties (context, pDevice, props, nullptr );
1509
+
1510
+ MockKernelWithInternals mockKernel (*pDevice);
1511
+ size_t gws[3 ] = {1 , 0 , 0 };
1512
+ cl_event event;
1513
+
1514
+ clEnqueueNDRangeKernel (inOrderQueue, mockKernel.mockKernel , 1 , nullptr , gws, nullptr , 0 , nullptr , &event);
1515
+
1489
1516
EXPECT_FALSE (mockedSubmissionsAggregator->peekCmdBufferList ().peekIsEmpty ());
1490
1517
auto cmdBuffer = mockedSubmissionsAggregator->peekCmdBufferList ().peekHead ();
1491
1518
EXPECT_NE (nullptr , cmdBuffer->pipeControlThatMayBeErasedLocation );
0 commit comments