Skip to content

Commit ace0fcf

Browse files
Improve commands size expectations in flush task tests
Change-Id: I45c40a21ef0f4a789da4be29ec00d40abe19e589
1 parent ef5bd7e commit ace0fcf

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

unit_tests/command_stream/command_stream_receiver_hw_tests.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757

5858
using namespace OCLRT;
5959

60-
using ::testing::Invoke;
6160
using ::testing::_;
61+
using ::testing::Invoke;
6262

6363
HWTEST_F(UltCommandStreamReceiverTest, requiredCmdSizeForPreamble) {
6464
auto expectedCmdSize =
@@ -682,8 +682,7 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, nonblockingFlushWithNoPreviousDepe
682682
}
683683

684684
HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPreamble) {
685-
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
686-
typedef typename FamilyType::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
685+
typedef typename FamilyType::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START;
687686
typedef typename FamilyType::MI_BATCH_BUFFER_END MI_BATCH_BUFFER_END;
688687

689688
WhitelistedRegisters forceRegs = {0};
@@ -700,6 +699,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPr
700699
auto &csrCS = commandStreamReceiver.getCS();
701700
size_t sizeNeededForPreamble = getSizeRequiredPreambleCS<FamilyType>(MockDevice(commandStreamReceiver.hwInfo));
702701
size_t sizeNeeded = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags);
702+
sizeNeeded -= sizeof(MI_BATCH_BUFFER_START); // no task to submit
703+
sizeNeeded += sizeof(MI_BATCH_BUFFER_END); // no task to submit, add BBE to CSR stream
703704
sizeNeeded = alignUp(sizeNeeded, MemoryConstants::cacheLineSize);
704705

705706
csrCS.getSpace(csrCS.getAvailableSpace() - sizeNeededForPreamble);
@@ -712,6 +713,7 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPr
712713
HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPreambleAndSba) {
713714
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
714715
typedef typename FamilyType::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
716+
typedef typename FamilyType::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START;
715717
typedef typename FamilyType::MI_BATCH_BUFFER_END MI_BATCH_BUFFER_END;
716718

717719
WhitelistedRegisters forceRegs = {0};
@@ -729,6 +731,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, flushTaskWithOnlyEnoughMemoryForPr
729731
size_t sizeNeededForPreamble = getSizeRequiredPreambleCS<FamilyType>(MockDevice(commandStreamReceiver.hwInfo));
730732
size_t sizeNeededForStateBaseAddress = sizeof(STATE_BASE_ADDRESS) + sizeof(PIPE_CONTROL);
731733
size_t sizeNeeded = commandStreamReceiver.getRequiredCmdStreamSize(flushTaskFlags);
734+
sizeNeeded -= sizeof(MI_BATCH_BUFFER_START); // no task to submit
735+
sizeNeeded += sizeof(MI_BATCH_BUFFER_END); // no task to submit, add BBE to CSR stream
732736
sizeNeeded = alignUp(sizeNeeded, MemoryConstants::cacheLineSize);
733737

734738
csrCS.getSpace(csrCS.getAvailableSpace() - sizeNeededForPreamble - sizeNeededForStateBaseAddress);

0 commit comments

Comments
 (0)