Don't flush current batch if the dependent wait is a nop

Change-Id: I8a8722b9011fe042c1a4ce195938290fc75e7c86


[ROCm/clr commit: c18892a590]
Этот коммит содержится в:
German Andryeyev committed 2020-06-22 12:41:02 -04:00
1 родитель b7801b2035
Коммит ebe5c3d381
1 file changed
+6 -3
+6 -3
Просмотреть файл
@@ -140,9 +140,12 @@ void HostQueue::loop(device::VirtualDevice* virtualDevice) {
for (const auto& it : events) {
// Only wait if the command is enqueued into another queue.
if (it->command().queue() != this) {
virtualDevice->flush(head, true);
tail = head = NULL;
dependencyFailed |= !it->awaitCompletion();
// Runtime has to flush the current batch only if the dependent wait is blocking
if (it->command().status() != CL_COMPLETE) {
virtualDevice->flush(head, true);
tail = head = NULL;
dependencyFailed |= !it->awaitCompletion();
}
}
}