svga: use util_unreference_framebuffer_state to unref fb state
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 3 May 2023 23:45:36 +0000 (23:45 +0000)
Fixes: f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>

src/gallium/drivers/svga/svga_pipe_misc.c

index f4ed782..c6cc66d 100644 (file)
@@ -91,18 +91,11 @@ svga_set_polygon_stipple(struct pipe_context *pipe,
 void
 svga_cleanup_framebuffer(struct svga_context *svga)
 {
-   struct svga_screen *svgascreen = svga_screen(svga->pipe.screen);
    struct pipe_framebuffer_state *curr = &svga->curr.framebuffer;
    struct pipe_framebuffer_state *hw = &svga->state.hw_clear.framebuffer;
-   unsigned i;
-
-   for (i = 0; i < svgascreen->max_color_buffers; i++) {
-      pipe_surface_reference(&curr->cbufs[i], NULL);
-      pipe_surface_reference(&hw->cbufs[i], NULL);
-   }
 
-   pipe_surface_reference(&curr->zsbuf, NULL);
-   pipe_surface_reference(&hw->zsbuf, NULL);
+   util_unreference_framebuffer_state(curr);
+   util_unreference_framebuffer_state(hw);
 }