@@ -784,5 +784,41 @@ HWTEST_F(CommandListAppendLaunchKernel, givenInvalidEventListWhenAppendLaunchCoo
784784 EXPECT_EQ (ZE_RESULT_ERROR_INVALID_ARGUMENT, returnValue);
785785}
786786
787+ HWTEST2_F (CommandListAppendLaunchKernel, givenImmediateCommandListWhenAppendLaunchCooperativeKernelUsingFlushTaskThenExpectCorrectExecuteCall, IsAtLeastSkl) {
788+ createKernel ();
789+
790+ MockCommandListImmediateHw<gfxCoreFamily> cmdList;
791+ cmdList.isFlushTaskSubmissionEnabled = true ;
792+ cmdList.cmdListType = CommandList::CommandListType::TYPE_IMMEDIATE;
793+ cmdList.csr = device->getNEODevice ()->getDefaultEngine ().commandStreamReceiver ;
794+ cmdList.initialize (device, NEO::EngineGroupType::RenderCompute, 0u );
795+
796+ ze_group_count_t groupCount{1 , 1 , 1 };
797+ ze_result_t returnValue;
798+
799+ returnValue = cmdList.appendLaunchCooperativeKernel (kernel->toHandle (), &groupCount, nullptr , 0 , nullptr );
800+ EXPECT_EQ (0u , cmdList.executeCommandListImmediateCalledCount );
801+ EXPECT_EQ (1u , cmdList.executeCommandListImmediateWithFlushTaskCalledCount );
802+ EXPECT_EQ (ZE_RESULT_SUCCESS, returnValue);
803+ }
804+
805+ HWTEST2_F (CommandListAppendLaunchKernel, givenImmediateCommandListWhenAppendLaunchCooperativeKernelNotUsingFlushTaskThenExpectCorrectExecuteCall, IsAtLeastSkl) {
806+ createKernel ();
807+
808+ MockCommandListImmediateHw<gfxCoreFamily> cmdList;
809+ cmdList.isFlushTaskSubmissionEnabled = false ;
810+ cmdList.cmdListType = CommandList::CommandListType::TYPE_IMMEDIATE;
811+ cmdList.csr = device->getNEODevice ()->getDefaultEngine ().commandStreamReceiver ;
812+ cmdList.initialize (device, NEO::EngineGroupType::RenderCompute, 0u );
813+
814+ ze_group_count_t groupCount{1 , 1 , 1 };
815+ ze_result_t returnValue;
816+
817+ returnValue = cmdList.appendLaunchCooperativeKernel (kernel->toHandle (), &groupCount, nullptr , 0 , nullptr );
818+ EXPECT_EQ (1u , cmdList.executeCommandListImmediateCalledCount );
819+ EXPECT_EQ (0u , cmdList.executeCommandListImmediateWithFlushTaskCalledCount );
820+ EXPECT_EQ (ZE_RESULT_SUCCESS, returnValue);
821+ }
822+
787823} // namespace ult
788824} // namespace L0
0 commit comments