Mesa (master): mesa: fix geometry shader memory leaks

Brian Paul brianp at kemper.freedesktop.org
Wed Jul 9 13:03:39 UTC 2014


Module: Mesa
Branch: master
Commit: 176b64b81104bffed114a0bdd919338e1e54ed19
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=176b64b81104bffed114a0bdd919338e1e54ed19

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Jul  8 16:23:38 2014 -0600

mesa: fix geometry shader memory leaks

Spotted by Charmaine Lee.
Cc: "10.2" <mesa-stable at lists.freedesktop.org>

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/main/context.c |    3 +++
 src/mesa/main/shared.c  |    1 +
 2 files changed, 4 insertions(+)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index b082159..50aae8b 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1215,6 +1215,9 @@ _mesa_free_context_data( struct gl_context *ctx )
    _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, NULL);
    _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, NULL);
 
+   _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, NULL);
+   _mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current, NULL);
+
    _mesa_reference_fragprog(ctx, &ctx->FragmentProgram.Current, NULL);
    _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL);
    _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL);
diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index dc22025..5ae7014 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -312,6 +312,7 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
    _mesa_DeleteHashTable(shared->Programs);
 
    _mesa_reference_vertprog(ctx, &shared->DefaultVertexProgram, NULL);
+   _mesa_reference_geomprog(ctx, &shared->DefaultGeometryProgram, NULL);
    _mesa_reference_fragprog(ctx, &shared->DefaultFragmentProgram, NULL);
 
    _mesa_HashDeleteAll(shared->ATIShaders, delete_fragshader_cb, ctx);




More information about the mesa-commit mailing list