From 497ce3c38a498d0f0aada7303d258bee4c0fd05b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 12 Oct 2021 14:03:51 -0400 Subject: [PATCH] zink: clear descriptor refs on buffer replacement the bo here can only ever be destroyed before it gets reused, so prune it from the descriptor cache immediately Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_context.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 58fbc220624..8ba86e6f851 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -3973,6 +3973,7 @@ zink_context_replace_buffer_storage(struct pipe_context *pctx, struct pipe_resou assert(d->obj); assert(s->obj); util_idalloc_mt_free(&screen->buffer_ids, delete_buffer_id); + zink_descriptor_set_refs_clear(&d->obj->desc_set_refs, d->obj); /* add a ref just like check_resource_for_batch_ref() would've */ if (zink_resource_has_binds(d) && zink_resource_has_usage(d)) zink_batch_reference_resource(&ctx->batch, d);