wsi: Move common objects to the wayland wsi::surface
authorRosen Zhelev <rosen.zhelev@arm.com>
Thu, 22 Jul 2021 22:49:15 +0000 (23:49 +0100)
committerRosen Zhelev <rosen.zhelev@arm.com>
Tue, 17 Aug 2021 15:42:21 +0000 (16:42 +0100)
commit24f18c6c44162b005a58c6639badb0c6e6ef68b0
treeca72b4cd4d64310335c3f58ad550ed516859179e
parentc7be05e3ff0d8ef022310d39cc6681acd82eabd4
wsi: Move common objects to the wayland wsi::surface

Moves data and Wayland objects such as the registry to the
wsi::wayland::surface implementation. This also fixes a few issues
with queries where the Wayland display's default queue was wrongly
used and minimizes leaking of server memory from registry creation.

Moves the ownership of the zwp_linux_dmabuf_interface object to the
wsi::wayland::surface as it can be shared between swapchains.

Fixes issues with casting VkSurfaces in the Wayland backend that can
fail when using other layers that wrap the object.

Change-Id: Ibacf0d4229b73bd685254507f52e58d6341aa9b6
Signed-off-by: Rosen Zhelev <rosen.zhelev@arm.com>
wsi/wayland/surface.cpp
wsi/wayland/surface.hpp
wsi/wayland/surface_properties.cpp
wsi/wayland/surface_properties.hpp
wsi/wayland/swapchain.cpp
wsi/wayland/swapchain.hpp
wsi/wayland/wl_helpers.cpp
wsi/wayland/wl_helpers.hpp
wsi/wayland/wl_object_owner.hpp