From: Jason Ekstrand Date: Wed, 24 Apr 2019 02:46:32 +0000 (-0500) Subject: anv/descriptor_set: Destroy sets before pool finalization X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0bc1942c9ddce4e796322a7561f06af5dec0decd;p=mesa.git anv/descriptor_set: Destroy sets before pool finalization Fixes: 105002bd2d "anv: destroy descriptor sets when pool gets..." Reviewed-by: Lionel Landwerlin --- diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index a1dd8a3527f..882c42f231e 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -745,6 +745,11 @@ void anv_DestroyDescriptorPool( if (!pool) return; + list_for_each_entry_safe(struct anv_descriptor_set, set, + &pool->desc_sets, pool_link) { + anv_descriptor_set_destroy(device, pool, set); + } + if (pool->bo.size) { anv_gem_munmap(pool->bo.map, pool->bo.size); anv_vma_free(device, &pool->bo); @@ -752,11 +757,6 @@ void anv_DestroyDescriptorPool( } anv_state_stream_finish(&pool->surface_state_stream); - list_for_each_entry_safe(struct anv_descriptor_set, set, - &pool->desc_sets, pool_link) { - anv_descriptor_set_destroy(device, pool, set); - } - util_vma_heap_finish(&pool->bo_heap); vk_free2(&device->alloc, pAllocator, pool);