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:
parent
891cc2d09b
commit
d27d81f206
|
@ -938,7 +938,7 @@ bool DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchCommandBuffer(BatchBuffe
|
||||||
this->startRingBuffer();
|
this->startRingBuffer();
|
||||||
|
|
||||||
bool relaxedOrderingSchedulerWillBeNeeded = (this->relaxedOrderingSchedulerRequired || batchBuffer.hasRelaxedOrderingDependencies);
|
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);
|
size_t dispatchSize = getSizeDispatch(relaxedOrderingSchedulerWillBeNeeded, batchBuffer.hasRelaxedOrderingDependencies, dispatchMonitorFence);
|
||||||
|
|
||||||
|
@ -980,7 +980,7 @@ bool DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchCommandBuffer(BatchBuffe
|
||||||
currentQueueWorkCount++;
|
currentQueueWorkCount++;
|
||||||
DirectSubmissionDiagnostics::diagnosticModeOneSubmit(diagnostic.get());
|
DirectSubmissionDiagnostics::diagnosticModeOneSubmit(diagnostic.get());
|
||||||
|
|
||||||
uint64_t flushValue = updateTagValue(batchBuffer.dispatchMonitorFence);
|
uint64_t flushValue = updateTagValue(batchBuffer.hasStallingCmds);
|
||||||
flushStamp.setStamp(flushValue);
|
flushStamp.setStamp(flushValue);
|
||||||
|
|
||||||
return ringStart;
|
return ringStart;
|
||||||
|
|
|
@ -629,7 +629,7 @@ HWTEST_F(WddmDirectSubmissionTest, givenMiMemFenceRequiredThenGpuVaForAdditional
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST_F(WddmDirectSubmissionTest,
|
HWTEST_F(WddmDirectSubmissionTest,
|
||||||
givenRenderDirectSubmissionWithDisabledMonitorFenceWhenMonitrFenceExplicitlyRequiredThenDispatchPostSyncOperation) {
|
givenRenderDirectSubmissionWithDisabledMonitorFenceWhenHasStallingCommandDispatchedThenDispatchPostSyncOperation) {
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
using Dispatcher = RenderDispatcher<FamilyType>;
|
using Dispatcher = RenderDispatcher<FamilyType>;
|
||||||
|
@ -654,7 +654,7 @@ HWTEST_F(WddmDirectSubmissionTest,
|
||||||
batchBuffer.usedSize = 0x40;
|
batchBuffer.usedSize = 0x40;
|
||||||
batchBuffer.taskStartAddress = clientCommandBuffer->getGpuAddress();
|
batchBuffer.taskStartAddress = clientCommandBuffer->getGpuAddress();
|
||||||
batchBuffer.stream = clientStream.get();
|
batchBuffer.stream = clientStream.get();
|
||||||
batchBuffer.dispatchMonitorFence = true;
|
batchBuffer.hasStallingCmds = true;
|
||||||
|
|
||||||
FlushStampTracker flushStamp(true);
|
FlushStampTracker flushStamp(true);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue