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; + } } } }