diff --git a/.pick_status.json b/.pick_status.json index 4e3f11ecc18..c94b8203294 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -454,7 +454,7 @@ "description": "lima: fix refcnt imbalance related to framebuffer", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/lima/lima_context.c b/src/gallium/drivers/lima/lima_context.c index d4f1552e0e9..802f308f48e 100644 --- a/src/gallium/drivers/lima/lima_context.c +++ b/src/gallium/drivers/lima/lima_context.c @@ -147,6 +147,7 @@ lima_context_destroy(struct pipe_context *pctx) lima_program_fini(ctx); lima_state_fini(ctx); + util_unreference_framebuffer_state(&ctx->framebuffer.base); if (ctx->blitter) util_blitter_destroy(ctx->blitter); diff --git a/src/gallium/drivers/lima/lima_state.c b/src/gallium/drivers/lima/lima_state.c index badd815a8b5..a7dc87747fb 100644 --- a/src/gallium/drivers/lima/lima_state.c +++ b/src/gallium/drivers/lima/lima_state.c @@ -473,7 +473,4 @@ lima_state_fini(struct lima_context *ctx) util_set_vertex_buffers_mask(so->vb, &so->enabled_mask, NULL, 0, 0, ARRAY_SIZE(so->vb), false); - - pipe_surface_reference(&ctx->framebuffer.base.cbufs[0], NULL); - pipe_surface_reference(&ctx->framebuffer.base.zsbuf, NULL); }