From 2b3773c88e0dae5075e427b62a4483b306df80d2 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 25 Jan 2024 18:32:17 -0800 Subject: [PATCH] Handle `gbm::Modifier::Invalid` --- src/wayland/buffer.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/wayland/buffer.rs b/src/wayland/buffer.rs index d4585de..118aeb3 100644 --- a/src/wayland/buffer.rs +++ b/src/wayland/buffer.rs @@ -82,12 +82,22 @@ impl AppData { }; let format = gbm::Format::try_from(buffer_info.format)?; let modifier = gbm::Modifier::try_from(format_info.modifier)?; - let bo = gbm.create_buffer_object_with_modifiers::<()>( - buffer_info.width, - buffer_info.height, - format, - [modifier].into_iter(), - )?; + let bo = if modifier != gbm::Modifier::Invalid { + gbm.create_buffer_object_with_modifiers::<()>( + buffer_info.width, + buffer_info.height, + format, + [modifier].into_iter(), + )? + } else { + // TODO make sure this isn't used across different GPUs + gbm.create_buffer_object::<()>( + buffer_info.width, + buffer_info.height, + format, + gbm::BufferObjectFlags::empty(), + )? + }; let fd = bo.fd()?; let stride = bo.stride()?;