Compositor target refactor
Refactor how the compositor interacts with targets, the goal is to enable
the compositor to render to destinations that isn't backed by a VkSwapchain
.
Introduce comp_target
and remove comp_window
, also refactor vk_swapchain
to be a sub-class of comp_target
named comp_target_swapchain
, the window
backends now sub class comp_target_swapchain
.
It's a lot of code that is touched, not sure if it's worth to review each individual commit, I think thinking about squashing the commits.
I have only tested XCB and Android backends myself, status so far:
-
✅ Android -
✅ Windowed XCB -
❓ Direct mode XCB -
✅ Direct mode NVIDIA -
❓ Wayland