fix: bcs enqueue after marker properly waits

For an example sequence of:
IOQ_1 -> enqueue copy, enqueue marker with waitlist (out event)
IOQ_2 -> enqueue marker with waitlist (event), enqueue copy

Add missing synchronization between the enqueue copies

Related-To: NEO-11694

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek
2024-07-11 08:48:10 +00:00
committed by Compute-Runtime-Automation
parent 05eb4e7a0d
commit bdeccab7aa
3 changed files with 102 additions and 5 deletions

View File

@@ -1461,7 +1461,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueBlit(const MultiDispatchInfo &multiDisp
}
auto gpgpuSubmission = isGpgpuSubmissionForBcsRequired(blockQueue, timestampPacketDependencies);
if (isCacheFlushForBcsRequired() && gpgpuSubmission) {
if ((isCacheFlushForBcsRequired() || NEO::EnqueueProperties::Operation::dependencyResolveOnGpu == latestSentEnqueueType) && gpgpuSubmission) {
timestampPacketDependencies.cacheFlushNodes.add(allocator->getTag());
}