fix: stall RelaxedOrdering scheduler when programming OCL dependencies

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2023-08-11 14:39:33 +00:00
committed by Compute-Runtime-Automation
parent 908cebafe2
commit a42e88d55b
2 changed files with 51 additions and 1 deletions

View File

@@ -865,6 +865,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
}
auto memoryCompressionState = getGpgpuCommandStreamReceiver().getMemoryCompressionState(auxTranslationRequired);
bool hasStallingCmds = !relaxedOrderingEnabled && (eventsRequest.numEventsInWaitList > 0 || timestampPacketDependencies.previousEnqueueNodes.peekNodes().size() > 0);
DispatchFlags dispatchFlags(
{}, // csrDependencies
@@ -895,7 +896,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
kernel->areMultipleSubDevicesInContext(), // areMultipleSubDevicesInContext
kernel->requiresMemoryMigration(), // memoryMigrationRequired
isTextureCacheFlushNeeded(commandType), // textureCacheFlush
false, // hasStallingCmds
hasStallingCmds, // hasStallingCmds
relaxedOrderingEnabled, // hasRelaxedOrderingDependencies
false, // stateCacheInvalidation
isStallingCommandsOnNextFlushRequired(), // isStallingCommandsOnNextFlushRequired