anv/descriptor_set: Destroy sets before pool finalization

Fixes: 105002bd2d "anv: destroy descriptor sets when pool gets..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
Jason Ekstrand
2019-04-23 21:46:32 -05:00
parent 6be603edf7
commit 0bc1942c9d

View File

@@ -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);