anv: destroy descriptor sets when pool gets reset

As stated in Vulkan spec:
   "Resetting a descriptor pool recycles all of the resources from all
    of the descriptor sets allocated from the descriptor pool back to
    the descriptor pool, and the descriptor sets are implicitly freed."

This fixes dEQP-VK.api.descriptor_pool.*

Fixes: 14f6275c92 "anv/descriptor_set: add reference counting for..."
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Clayton Craft <clayton.a.craft@intel.com>
This commit is contained in:
Juan A. Suarez Romero 2019-03-11 18:33:54 +01:00 committed by Jason Ekstrand
parent 3235a942c1
commit 775aabdd01
1 changed files with 6 additions and 0 deletions

View File

@ -636,6 +636,12 @@ VkResult anv_ResetDescriptorPool(
}
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);
}
anv_state_stream_init(&pool->surface_state_stream,
&device->surface_state_pool, 4096);
pool->surface_state_free_list = NULL;