d3d12: Don't wait for *all* batches when synchronizing a resource

Reviewed By: Bill Kristiansen <billkris@microsoft.com>

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13669>
This commit is contained in:
Jesse Natalie 2021-11-03 15:25:18 -07:00 committed by Marge Bot
parent 5bb72ff750
commit 8ea1e58f0e

View file

@ -90,9 +90,11 @@ d3d12_resource_wait_idle(struct d3d12_context *ctx,
d3d12_flush_cmdlist_and_wait(ctx);
} else {
d3d12_foreach_submitted_batch(ctx, batch) {
d3d12_reset_batch(ctx, batch, PIPE_TIMEOUT_INFINITE);
if (!resource_is_busy(ctx, res))
break;
if (d3d12_batch_has_references(batch, res->bo)) {
d3d12_reset_batch(ctx, batch, PIPE_TIMEOUT_INFINITE);
if (!resource_is_busy(ctx, res))
break;
}
}
}
}