diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 800f5a79de2..8743228d1e2 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -614,6 +614,15 @@ zink_batch_reference_resource(struct zink_batch *batch, struct zink_resource *re batch->has_work = true; } +void +zink_batch_reference_resource_move(struct zink_batch *batch, struct zink_resource *res) +{ + if (!batch_ptr_add_usage(batch, batch->state->resources, res->obj)) + return; + batch->state->resource_size += res->obj->size; + batch->has_work = true; +} + void zink_batch_reference_bufferview(struct zink_batch *batch, struct zink_buffer_view *buffer_view) { diff --git a/src/gallium/drivers/zink/zink_batch.h b/src/gallium/drivers/zink/zink_batch.h index 3448f2b6e68..7187cd00a3b 100644 --- a/src/gallium/drivers/zink/zink_batch.h +++ b/src/gallium/drivers/zink/zink_batch.h @@ -156,6 +156,9 @@ zink_batch_reference_resource_rw(struct zink_batch *batch, void zink_batch_reference_resource(struct zink_batch *batch, struct zink_resource *res); +void +zink_batch_reference_resource_move(struct zink_batch *batch, struct zink_resource *res); + void zink_batch_reference_sampler_view(struct zink_batch *batch, struct zink_sampler_view *sv);