Sfoglia il codice sorgente

nir: free dead_ctx in case of no progress

Fixes a leak:

  ==7576== 320 (48 direct, 272 indirect) bytes in 1 blocks are definitely lost in loss record 26 of 26
  ==7576==    at 0x4C2EE3B: malloc (vg_replace_malloc.c:309)
  ==7576==    by 0x53EF0E4: ralloc_size (ralloc.c:119)
  ==7576==    by 0x53EF0C2: ralloc_context (ralloc.c:113)
  ==7576==    by 0x5471F64: nir_split_per_member_structs (nir_split_per_member_structs.c:176)
  ==7576==    by 0x51288CF: anv_shader_compile_to_nir (anv_pipeline.c:216)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
tags/19.1-branchpoint
Tapani Pälli 6 anni fa
parent
commit
8b010f3557
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3
    1
      src/compiler/nir/nir_split_per_member_structs.c

+ 3
- 1
src/compiler/nir/nir_split_per_member_structs.c Vedi File

@@ -183,8 +183,10 @@ nir_split_per_member_structs(nir_shader *shader)
var_to_member_map, dead_ctx);
progress |= split_variables_in_list(&shader->system_values, shader,
var_to_member_map, dead_ctx);
if (!progress)
if (!progress) {
ralloc_free(dead_ctx);
return false;
}

nir_foreach_function(function, shader) {
if (!function->impl)

Loading…
Annulla
Salva