From 75a7dcf35faab45c5cd09f030f7ac9ef682872d9 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 7 Apr 2023 17:06:45 -0400 Subject: [PATCH] zink: try to prune resources from barrier jit on fb unbind if a resource has no binds remaining then it should not remain in the queue for barrier updates on the next draw cc: mesa-stable Part-of: --- src/gallium/drivers/zink/zink_context.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 446cf1b..144ce2e 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -3252,6 +3252,8 @@ unbind_fb_surface(struct zink_context *ctx, struct pipe_surface *surf, unsigned ctx->rp_changed = true; } res->fb_bind_count--; + if (!res->fb_bind_count && !res->bind_count[0]) + _mesa_set_remove_key(ctx->need_barriers[0], res); unsigned feedback_loops = ctx->feedback_loops; if (ctx->feedback_loops & BITFIELD_BIT(idx)) { ctx->dynamic_fb.attachments[idx].imageLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; -- 2.7.4