mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-06-13 14:32:57 -04:00
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 |
||
|---|---|---|
| .. | ||
| allocator | ||
| gles2 | ||
| pixman | ||
| vulkan | ||
| color.c | ||
| color_fallback.c | ||
| color_lcms2.c | ||
| dmabuf.c | ||
| dmabuf_fallback.c | ||
| dmabuf_linux.c | ||
| drm_format_set.c | ||
| drm_syncobj.c | ||
| drm_syncobj_merger.c | ||
| egl.c | ||
| meson.build | ||
| pass.c | ||
| pixel_format.c | ||
| swapchain.c | ||
| wlr_renderer.c | ||
| wlr_texture.c | ||