fix: request for task count should enable monitor fence dispatch
Related-To: NEO-10356 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
parent
fc770cacf2
commit
cd904269ed
|
@ -2238,6 +2238,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::handleImmediateFlushSendBatc
|
|||
size_t chainedBatchBufferStartOffset = startFromCsr ? csrStream.getUsed() : 0;
|
||||
uint64_t taskStartAddress = immediateCommandStream.getGpuBase() + immediateCommandStreamStart;
|
||||
bool hasStallingCmds = (startFromCsr || dispatchFlags.blockingAppend || dispatchFlags.hasStallingCmds);
|
||||
bool dispatchMonitorFence = dispatchFlags.blockingAppend || dispatchFlags.requireTaskCountUpdate;
|
||||
|
||||
constexpr bool immediateLowPriority = false;
|
||||
const QueueThrottle immediateThrottle = getThrottleFromPowerSavingUint(this->getUmdPowerHintValue());
|
||||
|
@ -2246,7 +2247,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::handleImmediateFlushSendBatc
|
|||
BatchBuffer batchBuffer{streamToSubmit.getGraphicsAllocation(), startOffset, chainedBatchBufferStartOffset, taskStartAddress, chainedBatchBuffer,
|
||||
immediateLowPriority, immediateThrottle, immediateSliceCount,
|
||||
streamToSubmit.getUsed(), &streamToSubmit, flushData.endPtr, this->getNumClients(), hasStallingCmds,
|
||||
dispatchFlags.hasRelaxedOrderingDependencies, dispatchFlags.blockingAppend, false};
|
||||
dispatchFlags.hasRelaxedOrderingDependencies, dispatchMonitorFence, false};
|
||||
updateStreamTaskCount(streamToSubmit, taskCount + 1);
|
||||
|
||||
auto submissionStatus = flushHandler(batchBuffer, this->getResidencyAllocations());
|
||||
|
|
|
@ -6368,6 +6368,8 @@ HWTEST_F(CommandStreamReceiverHwTest, givenEpilogueStreamAvailableWhenFlushImmed
|
|||
LinearStream epilogueStream(commandBuffer);
|
||||
|
||||
commandStreamReceiver.storeMakeResidentAllocations = true;
|
||||
commandStreamReceiver.recordFlushedBatchBuffer = true;
|
||||
|
||||
immediateFlushTaskFlags.requireTaskCountUpdate = true;
|
||||
immediateFlushTaskFlags.optionalEpilogueCmdStream = &epilogueStream;
|
||||
|
||||
|
@ -6377,6 +6379,7 @@ HWTEST_F(CommandStreamReceiverHwTest, givenEpilogueStreamAvailableWhenFlushImmed
|
|||
*pDevice);
|
||||
|
||||
EXPECT_TRUE(commandStreamReceiver.isMadeResident(commandBuffer));
|
||||
EXPECT_TRUE(commandStreamReceiver.latestFlushedBatchBuffer.dispatchMonitorFence);
|
||||
|
||||
HardwareParse hwParser;
|
||||
|
||||
|
|
Loading…
Reference in New Issue