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

Jason Ekstrand jason at jlekstrand.net
Mon Mar 11 17:43:22 UTC 2019


Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

On Mon, Mar 11, 2019 at 12:34 PM Juan A. Suarez Romero <jasuarez at igalia.com>
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;
> --
> 2.20.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190311/a76a06bf/attachment-0001.html>


More information about the mesa-dev mailing list