[Mesa-dev] [PATCH 4/4] vulkan/wsi/wayland: Use proxy wrappers for swapchain

Emil Velikov emil.l.velikov at gmail.com
Thu May 4 12:21:26 UTC 2017


On 4 May 2017 at 10:33, Daniel Stone <daniels at collabora.com> wrote:
> Though most swapchain operations used a queue, they were racy in that
> the object was created with the queue only set later, meaning that its
> event could potentially be dispatched from the default queue in between
> these two steps.
>
> Use proxy wrappers to avoid this race, also assigning wl_buffers created
> for the swapchain to the event queue.
>
> Signed-off-by: Daniel Stone <daniels at collabora.com>
> ---
>  src/vulkan/wsi/wsi_common_wayland.c | 52 +++++++++++++++++++++++++------------
>  1 file changed, 36 insertions(+), 16 deletions(-)
>
> diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
> index c67ba089f9..cb72183efd 100644
> --- a/src/vulkan/wsi/wsi_common_wayland.c
> +++ b/src/vulkan/wsi/wsi_common_wayland.c
> @@ -510,6 +510,7 @@ struct wsi_wl_swapchain {
>     struct wl_event_queue *                      queue;
>     struct wl_surface *                          surface;
>     uint32_t                                     surface_version;
> +   struct wl_drm *                              drm_wrapper;
>
Based on a quick skim 3/4 aligns with commit
36b9976e1f99e8070c67cb8a255793939db77d02.
At the same time we don't seem to have a drm_wrapper in egl/wayland -
is that intentional?

The series looks like important bugfixes - please add a Fixes or Cc:
mesa-stable tag.

Thanks
Emil


More information about the mesa-dev mailing list