diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 446cf1bdbde..144ce2e7ea0 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;