wlroots/render/vulkan
Simon Ser f141edcd02 render/vulkan: add support for split render/display devices
Some systems have a split render/display architecture: the display
side is managed by a KMS driver and the render side is managed by a
separate Vulkan driver. Figuring out that these two drivers can
work together is not trivial.

Currently, the Vulkan renderer tries to find a Vulkan physical
device which matches the DRM device's dev_t. On split render/display,
there is no such device.

The platform bus has historically been abused for situations
where no other bus would make sense (e.g. VKMS, evdi). A new "faux"
bus has been introduced [1] for such devices, so the platform bus
should now be a pretty good hint that all devices are on the same
system-on-chip.

When we don't find a Vulkan physical device and the DRM device is
using the platform bus, fall back to any Vulkan physical which
also uses the platform bus.

[1]: https://lore.kernel.org/all/2025021023-sandstorm-precise-9f5d@gregkh/

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/work_items/4055
2026-06-13 09:59:46 +00:00
..
shaders
meson.build
pass.c
pixel_format.c
renderer.c
texture.c
util.c
vulkan.c