fix: dispatch monitor fence when stalling command dispatched

Resolves: NEO-9034

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz 2023-10-02 13:27:50 +00:00 committed by Compute-Runtime-Automation
parent 891cc2d09b
commit d27d81f206
2 changed files with 4 additions and 4 deletions

View File

@ -938,7 +938,7 @@ bool DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchCommandBuffer(BatchBuffe
this->startRingBuffer();
bool relaxedOrderingSchedulerWillBeNeeded = (this->relaxedOrderingSchedulerRequired || batchBuffer.hasRelaxedOrderingDependencies);
bool dispatchMonitorFence = this->dispatchMonitorFenceRequired(batchBuffer.dispatchMonitorFence);
bool dispatchMonitorFence = this->dispatchMonitorFenceRequired(batchBuffer.hasStallingCmds);
size_t dispatchSize = getSizeDispatch(relaxedOrderingSchedulerWillBeNeeded, batchBuffer.hasRelaxedOrderingDependencies, dispatchMonitorFence);
@ -980,7 +980,7 @@ bool DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchCommandBuffer(BatchBuffe
currentQueueWorkCount++;
DirectSubmissionDiagnostics::diagnosticModeOneSubmit(diagnostic.get());
uint64_t flushValue = updateTagValue(batchBuffer.dispatchMonitorFence);
uint64_t flushValue = updateTagValue(batchBuffer.hasStallingCmds);
flushStamp.setStamp(flushValue);
return ringStart;

View File

@ -629,7 +629,7 @@ HWTEST_F(WddmDirectSubmissionTest, givenMiMemFenceRequiredThenGpuVaForAdditional
}
HWTEST_F(WddmDirectSubmissionTest,
givenRenderDirectSubmissionWithDisabledMonitorFenceWhenMonitrFenceExplicitlyRequiredThenDispatchPostSyncOperation) {
givenRenderDirectSubmissionWithDisabledMonitorFenceWhenHasStallingCommandDispatchedThenDispatchPostSyncOperation) {
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
using Dispatcher = RenderDispatcher<FamilyType>;
@ -654,7 +654,7 @@ HWTEST_F(WddmDirectSubmissionTest,
batchBuffer.usedSize = 0x40;
batchBuffer.taskStartAddress = clientCommandBuffer->getGpuAddress();
batchBuffer.stream = clientStream.get();
batchBuffer.dispatchMonitorFence = true;
batchBuffer.hasStallingCmds = true;
FlushStampTracker flushStamp(true);