From 352fee176c763a75d26eaeec262ad5b98cd1af8b Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Thu, 2 Mar 2023 18:09:04 +0100 Subject: [PATCH] mesa/framebuffer: fix gl_framebuffer.resolve refcnt imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Indeed, "resolve" is not freed at the gl_framebuffer destroy stage. For instance, this issue is triggered and detected with "piglit/bin/fbo-depthstencil clear default_fb -samples=2 -auto" while setting GALLIUM_REFCNT_LOG=refcnt.log. Fixes: f5bde99cbdd2 ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state") Signed-off-by: Patrick Lerda Reviewed-by: Marek Olšák Part-of: --- src/mesa/main/framebuffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 9df3012..f2d4a60 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -203,6 +203,8 @@ _mesa_free_framebuffer_data(struct gl_framebuffer *fb) assert(fb); assert(fb->RefCount == 0); + pipe_resource_reference(&fb->resolve, NULL); + simple_mtx_destroy(&fb->Mutex); for (unsigned i = 0; i < BUFFER_COUNT; i++) { -- 2.7.4