Mesa (master): mesa: use atexit() handler to release GLSL compiler memory

Brian Paul brianp at kemper.freedesktop.org
Fri Aug 27 20:32:31 UTC 2010


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

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Aug 27 11:54:32 2010 -0600

mesa: use atexit() handler to release GLSL compiler memory

This releases a bunch of memory that was showing up as leaks with
valgrind.

If atexit() isn't widely supported we may need to add some #ifdef
tests around the call.

---

 src/mesa/main/context.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 6205d34..4852f46 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -140,6 +140,10 @@
 #include "sparc/sparc.h"
 #endif
 
+#include "glsl_parser_extras.h"
+
+
+
 #ifndef MESA_VERBOSE
 int MESA_VERBOSE = 0;
 #endif
@@ -434,6 +438,11 @@ one_time_init( GLcontext *ctx )
    }
    _glthread_UNLOCK_MUTEX(OneTimeLock);
 
+   /* Hopefully atexit() is widely available.  If not, we may need some
+    * #ifdef tests here.
+    */
+   atexit(_mesa_destroy_shader_compiler);
+
    dummy_enum_func();
 }
 




More information about the mesa-commit mailing list