@@ -4312,3 +4312,30 @@ HWTEST_F(CommandStreamReceiverHwTest, givenDcFlushRequiredFalseWhenProgramStalli
4312
4312
ASSERT_NE (nullptr , pipeControl);
4313
4313
EXPECT_FALSE (pipeControl->getDcFlushEnable ());
4314
4314
}
4315
+
4316
+ HWTEST2_F (CommandStreamReceiverHwTest,
4317
+ givenImmediateFlushTaskWhenNextDispatchRequiresScratchSpaceAndSshPointerIsNullThenFrontEndCommandIsNotDispatched,
4318
+ IsAtLeastXeHpCore) {
4319
+ using CFE_STATE = typename FamilyType::CFE_STATE;
4320
+
4321
+ auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver <FamilyType>();
4322
+
4323
+ EXPECT_TRUE (commandStreamReceiver.getMediaVFEStateDirty ());
4324
+
4325
+ commandStreamReceiver.flushImmediateTask (commandStream, commandStream.getUsed (), immediateFlushTaskFlags, *pDevice);
4326
+
4327
+ commandStreamReceiver.setRequiredScratchSizes (0x100 , 0 );
4328
+ immediateFlushTaskFlags.sshCpuBase = nullptr ;
4329
+
4330
+ size_t usedSize = commandStreamReceiver.commandStream .getUsed ();
4331
+ commandStreamReceiver.flushImmediateTask (commandStream,
4332
+ commandStream.getUsed (),
4333
+ immediateFlushTaskFlags,
4334
+ *pDevice);
4335
+
4336
+ HardwareParse hwParserCsr;
4337
+ hwParserCsr.parseCommands <FamilyType>(commandStreamReceiver.commandStream , usedSize);
4338
+ auto frontEndCmd = hwParserCsr.getCommand <CFE_STATE>();
4339
+ EXPECT_EQ (nullptr , frontEndCmd);
4340
+ EXPECT_FALSE (commandStreamReceiver.getMediaVFEStateDirty ());
4341
+ }
0 commit comments