Module: Mesa Branch: main Commit: 8ea1e58f0ecd1bfa88e544bf1bfc02b81ca2ebd6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ea1e58f0ecd1bfa88e544bf1bfc02b81ca2ebd6
Author: Jesse Natalie <[email protected]> Date: Wed Nov 3 15:25:18 2021 -0700 d3d12: Don't wait for *all* batches when synchronizing a resource Reviewed By: Bill Kristiansen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13669> --- src/gallium/drivers/d3d12/d3d12_resource.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/d3d12/d3d12_resource.cpp b/src/gallium/drivers/d3d12/d3d12_resource.cpp index 7965865f786..4246001e698 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource.cpp +++ b/src/gallium/drivers/d3d12/d3d12_resource.cpp @@ -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; + } } } }
