kms/device: Advertise texture_formats instead of render_formats

This commit is contained in:
Victoria Brekenfeld 2025-12-19 18:49:58 +01:00 committed by Victoria Brekenfeld
parent ca00df0b37
commit 2eff4607bd

View file

@ -244,7 +244,7 @@ impl State {
let gbm = GbmDevice::new(fd) let gbm = GbmDevice::new(fd)
.with_context(|| format!("Failed to initialize GBM device for {}", path.display()))?; .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 egl = init_egl(&gbm)?;
let render_node = egl let render_node = egl
@ -254,8 +254,14 @@ impl State {
.and_then(std::convert::identity) .and_then(std::convert::identity)
.unwrap_or(drm_node); .unwrap_or(drm_node);
let render_formats = egl.context.dmabuf_render_formats().clone(); 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 let token = self
@ -279,7 +285,7 @@ impl State {
.with_context(|| format!("Failed to add drm device to event loop: {}", dev))?; .with_context(|| format!("Failed to add drm device to event loop: {}", dev))?;
let socket = match (!is_software) 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() .transpose()
{ {
Ok(socket) => socket, Ok(socket) => socket,