From 8ea1e58f0ecd1bfa88e544bf1bfc02b81ca2ebd6 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Wed, 3 Nov 2021 15:25:18 -0700 Subject: [PATCH] d3d12: Don't wait for *all* batches when synchronizing a resource Reviewed By: Bill Kristiansen Part-of: --- 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; + } } } }