mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
glsl: Rely on talloc_autofree_context() instead of trying to free on our own.
Because the static types talloc their names at dlopen time, talloc_freeing the types at DRI driver screen teardown means that if the screen gets brought back up again, the names will point at freed memory. talloc_autofree_context() exists to do just what we want here: Free memory referenced across the program's lifetime so that we avoid noise in memory leak checkers. Fixes: bug #29722 (assertion failure in unigine).
This commit is contained in:
parent
e0564d56b1
commit
8dd619ba68
1 changed files with 1 additions and 6 deletions
|
|
@ -41,7 +41,7 @@ void
|
|||
glsl_type::init_talloc_type_ctx(void)
|
||||
{
|
||||
if (glsl_type::mem_ctx == NULL) {
|
||||
glsl_type::mem_ctx = talloc_init("glsl_type");
|
||||
glsl_type::mem_ctx = talloc_autofree_context();
|
||||
assert(glsl_type::mem_ctx != NULL);
|
||||
}
|
||||
}
|
||||
|
|
@ -230,11 +230,6 @@ _mesa_glsl_release_types(void)
|
|||
hash_table_dtor(glsl_type::record_types);
|
||||
glsl_type::record_types = NULL;
|
||||
}
|
||||
|
||||
if (glsl_type::mem_ctx != NULL) {
|
||||
talloc_free(glsl_type::mem_ctx);
|
||||
glsl_type::mem_ctx = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue