Commit acc56300 authored by Mike Blumenkrantz's avatar Mike Blumenkrantz 🏋 Committed by Marge Bot

zink: explicitly unref old fb object when setting new one

this object has a ref from being created, and its lifetime is expected to
be a single frame, so remove that initial ref when we expect to stop
using it

Closes: #2648
Reviewed-by: Erik Faye-Lund 's avatarErik Faye-Lund <>
Part-of: <mesa/mesa!4768>
parent d3f0022a
......@@ -638,7 +638,11 @@ zink_set_framebuffer_state(struct pipe_context *pctx,
util_copy_framebuffer_state(&ctx->fb_state, state);
struct zink_framebuffer *fb = create_framebuffer(ctx);
struct zink_framebuffer *fb = ctx->framebuffer;
/* explicitly unref previous fb to ensure it gets destroyed */
if (fb)
zink_framebuffer_reference(screen, &fb, NULL);
fb = create_framebuffer(ctx);
zink_framebuffer_reference(screen, &ctx->framebuffer, fb);
zink_render_pass_reference(screen, &ctx->gfx_pipeline_state.render_pass, fb->rp);
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment