[Mesa-dev] [PATCH 1/1] vulkan/wsi: Destroy swapchain images after terminating FIFO queues

Alex Smith asmith at feralinteractive.com
Fri Jun 8 07:56:32 UTC 2018


Any feedback on this?

On 1 June 2018 at 12:16, Cameron Kumar <ckumar at feralinteractive.com> wrote:

> The queue_manager thread can access the images from x11_present_to_x11,
> hence this reorder prevents dereferencing of dangling pointers.
>
> Cc: "18.1" <mesa-stable at lists.freedesktop.org>
> ---
>  src/vulkan/wsi/wsi_common_x11.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_
> x11.c
> index 1bfbc7c300..20d7cf5a2c 100644
> --- a/src/vulkan/wsi/wsi_common_x11.c
> +++ b/src/vulkan/wsi/wsi_common_x11.c
> @@ -1235,9 +1235,6 @@ x11_swapchain_destroy(struct wsi_swapchain
> *anv_chain,
>     struct x11_swapchain *chain = (struct x11_swapchain *)anv_chain;
>     xcb_void_cookie_t cookie;
>
> -   for (uint32_t i = 0; i < chain->base.image_count; i++)
> -      x11_image_finish(chain, pAllocator, &chain->images[i]);
> -
>     if (chain->threaded) {
>        chain->status = VK_ERROR_OUT_OF_DATE_KHR;
>        /* Push a UINT32_MAX to wake up the manager */
> @@ -1247,6 +1244,9 @@ x11_swapchain_destroy(struct wsi_swapchain
> *anv_chain,
>        wsi_queue_destroy(&chain->present_queue);
>     }
>
> +   for (uint32_t i = 0; i < chain->base.image_count; i++)
> +      x11_image_finish(chain, pAllocator, &chain->images[i]);
> +
>     xcb_unregister_for_special_event(chain->conn, chain->special_event);
>     cookie = xcb_present_select_input_checked(chain->conn,
> chain->event_id,
>                                               chain->window,
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180608/688a510f/attachment-0001.html>


More information about the mesa-dev mailing list