OSDN Git Service

st/mesa: purge framebuffers when unbinding a context
authorMarek Olšák <marek.olsak@amd.com>
Mon, 21 Jan 2019 17:09:07 +0000 (12:09 -0500)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 29 Jan 2019 17:44:27 +0000 (17:44 +0000)
This fixes pipe_surface "leaks".

Cc: 18.3 <mesa-stable@lists.freedesktop.org>
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
(cherry picked from commit c89e8470e58066637c4bfd5c76a2247eb3608b8b)

src/mesa/state_tracker/st_manager.c

index 776b563..7b74a37 100644 (file)
@@ -1071,7 +1071,12 @@ st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi,
       st_framebuffers_purge(st);
    }
    else {
+      GET_CURRENT_CONTEXT(ctx);
+
       ret = _mesa_make_current(NULL, NULL, NULL);
+
+      if (ctx)
+         st_framebuffers_purge(ctx->st);
    }
 
    return ret;