[Mesa-dev] [PATCH] anv: destroy descriptor sets when pool gets reset

Tapani Pälli tapani.palli at intel.com
Tue Mar 12 05:44:56 UTC 2019


Makes sense, sorry I missed this one;

Reviewed-by: Tapani Pälli <tapani.palli at intel.com>

On 3/11/19 7:33 PM, Juan A. Suarez Romero wrote:
> 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: 14f6275c92f1 ("anv/descriptor_set: add reference counting for descriptor set layouts")
> CC: Tapani Pälli <tapani.palli at intel.com>
> CC: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> CC: Jason Ekstrand <jason at jlekstrand.net>
> ---
>   src/intel/vulkan/anv_descriptor_set.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c
> index f293cf469ee..f34a44aefd7 100644
> --- a/src/intel/vulkan/anv_descriptor_set.c
> +++ b/src/intel/vulkan/anv_descriptor_set.c
> @@ -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;
> 


More information about the mesa-dev mailing list