diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2019-03-11 11:30:01 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-03-12 09:27:29 -0700 |
commit | f763433180a6ee6f8d7314c2a63a015ab5fbe01b (patch) | |
tree | bb121f0ff9ec330c64f8b15b4472342445cf8743 /src | |
parent | ab43e60540bed9808cf979c1c5a495ef2292c8e1 (diff) | |
download | mesa-f763433180a6ee6f8d7314c2a63a015ab5fbe01b.tar.gz mesa-f763433180a6ee6f8d7314c2a63a015ab5fbe01b.tar.bz2 mesa-f763433180a6ee6f8d7314c2a63a015ab5fbe01b.zip |
anv: release memory allocated by glsl types during spirv_to_nir
Fixes leaks for each glsl_type generated:
==32470== 384 bytes in 3 blocks are possibly lost in loss record 18 of 18
==32470== at 0x483880B: malloc (vg_replace_malloc.c:309)
==32470== by 0x4C43F4A: ralloc_size (ralloc.c:119)
==32470== by 0x4C44014: rzalloc_size (ralloc.c:151)
==32470== by 0x4C44258: rzalloc_array_size (ralloc.c:215)
==32470== by 0x4D38957: glsl_type::glsl_type(glsl_struct_field const*, unsigned int, char const*) (glsl_types.cpp:114)
==32470== by 0x4D3BEED: glsl_type::get_struct_instance(glsl_struct_field const*, unsigned int, char const*) (glsl_types.cpp:1146)
==32470== by 0x4D42ECC: glsl_struct_type (nir_types.cpp:501)
==32470== by 0x4CDB5A1: vtn_handle_type (spirv_to_nir.c:1269)
==32470== by 0x4CE53DD: vtn_handle_variable_or_type_instruction (spirv_to_nir.c:4018)
==32470== by 0x4CD8CFF: vtn_foreach_instruction (spirv_to_nir.c:365)
==32470== by 0x4CE5E6B: spirv_to_nir (spirv_to_nir.c:4490)
==32470== by 0x497AF10: anv_shader_compile_to_nir (anv_pipeline.c:173)
v2: move release call to vkDestroyInstance
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit 47fc359822494935852de1e70e4d840b2fe6a25c)
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/vulkan/anv_device.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index f0583d22774..f35d10f56e0 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -41,6 +41,7 @@ #include "git_sha1.h" #include "vk_util.h" #include "common/gen_defines.h" +#include "compiler/glsl_types.h" #include "genxml/gen7_pack.h" @@ -703,6 +704,7 @@ void anv_DestroyInstance( vk_debug_report_instance_destroy(&instance->debug_report_callbacks); + _mesa_glsl_release_types(); _mesa_locale_fini(); vk_free(&instance->alloc, instance); |