• Tapani Pälli's avatar
    anv: destroy descriptor sets when pool gets destroyed · 105002bd
    Tapani Pälli authored
    Patch maintains a list of sets in the pool and destroys possible
    remaining sets when pool is destroyed.
    
    As stated in Vulkan spec:
       "When a pool is destroyed, all descriptor sets allocated from
        the pool are implicitly freed and become invalid."
    
    This fixes memory leaks spotted with valgrind:
    
       ==19622== 96 bytes in 1 blocks are definitely lost in loss record 2 of 3
       ==19622==    at 0x483880B: malloc (vg_replace_malloc.c:309)
       ==19622==    by 0x495B67E: default_alloc_func (anv_device.c:547)
       ==19622==    by 0x4955E05: vk_alloc (vk_alloc.h:36)
       ==19622==    by 0x4956A8F: anv_multialloc_alloc (anv_private.h:538)
       ==19622==    by 0x4956A8F: anv_CreateDescriptorSetLayout (anv_descriptor_set.c:217)
    
    Fixes: 14f6275c
    
     ("anv/descriptor_set: add reference counting for descriptor set layouts")
    Signed-off-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
    Reviewed-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
    Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
    105002bd
anv_descriptor_set.c 47.1 KB