Remove extra barriers
Don't flush current batch if the dependent wait is a nop Change-Id: I8a8722b9011fe042c1a4ce195938290fc75e7c86
Этот коммит содержится в:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user