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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22398>
This commit is contained in:
Mike Blumenkrantz 2023-04-07 17:06:45 -04:00 committed by Marge Bot
parent 871aa64e53
commit 75a7dcf35f

View file

@ -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;