From 2eff4607bdcf6e4cb368fb7a37354ddd937443e7 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Fri, 19 Dec 2025 18:49:58 +0100 Subject: [PATCH] kms/device: Advertise texture_formats instead of render_formats --- src/backend/kms/device.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/backend/kms/device.rs b/src/backend/kms/device.rs index 0cf9e083..926af374 100644 --- a/src/backend/kms/device.rs +++ b/src/backend/kms/device.rs @@ -244,7 +244,7 @@ impl State { let gbm = GbmDevice::new(fd) .with_context(|| format!("Failed to initialize GBM device for {}", path.display()))?; - let (render_node, render_formats, is_software) = { + let (render_node, render_formats, texture_formats, is_software) = { let egl = init_egl(&gbm)?; let render_node = egl @@ -254,8 +254,14 @@ impl State { .and_then(std::convert::identity) .unwrap_or(drm_node); let render_formats = egl.context.dmabuf_render_formats().clone(); + let texture_formats = egl.context.dmabuf_texture_formats().clone(); - (render_node, render_formats, egl.device.is_software()) + ( + render_node, + render_formats, + texture_formats, + egl.device.is_software(), + ) }; let token = self @@ -279,7 +285,7 @@ impl State { .with_context(|| format!("Failed to add drm device to event loop: {}", dev))?; let socket = match (!is_software) - .then(|| self.create_socket(dh, render_node, render_formats.clone())) + .then(|| self.create_socket(dh, render_node, texture_formats)) .transpose() { Ok(socket) => socket,