From 76fca0c59182466e744440d5f4ce447c715b34e7 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Wed, 26 Jun 2024 15:58:07 +0200 Subject: [PATCH] chore: Fix smithay version --- Cargo.lock | 335 +++++++++++++++++++++++++++------ Cargo.toml | 4 +- src/backend/kms/device.rs | 2 +- src/backend/kms/socket.rs | 5 +- src/backend/kms/surface/mod.rs | 32 ++-- src/backend/winit.rs | 2 +- src/backend/x11.rs | 6 +- src/wayland/protocols/drm.rs | 7 +- 8 files changed, 302 insertions(+), 91 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9439764e..48654762 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -86,9 +86,9 @@ checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" [[package]] name = "android-activity" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", "bitflags 2.5.0", @@ -198,6 +198,15 @@ dependencies = [ "libloading 0.7.4", ] +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading 0.8.3", +] + [[package]] name = "async-broadcast" version = "0.5.1" @@ -467,22 +476,12 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" -dependencies = [ - "objc-sys", -] - [[package]] name = "block2" -version = "0.3.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "block-sys", "objc2", ] @@ -563,7 +562,6 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "async-task", "bitflags 2.5.0", "log", "polling 3.7.0", @@ -572,6 +570,20 @@ dependencies = [ "thiserror", ] +[[package]] +name = "calloop" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58a38167d6fba8c67cce63c4a91f2a73ca42cbdaf6fb9ba164f1e07b43ecc10" +dependencies = [ + "async-task", + "bitflags 2.5.0", + "log", + "polling 3.7.0", + "rustix 0.38.34", + "slab", +] + [[package]] name = "calloop-wayland-source" version = "0.2.0" @@ -856,7 +868,7 @@ dependencies = [ "anyhow", "bitflags 2.5.0", "bytemuck", - "calloop 0.13.0", + "calloop 0.14.0", "cosmic-comp-config", "cosmic-config", "cosmic-protocols", @@ -1277,6 +1289,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" + [[package]] name = "drm" version = "0.11.1" @@ -2401,7 +2419,7 @@ dependencies = [ "serde", "smol_str", "thiserror", - "web-time", + "web-time 0.2.4", "window_clipboard", "xxhash-rust", ] @@ -2535,17 +2553,6 @@ dependencies = [ "window_clipboard", ] -[[package]] -name = "icrate" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" -dependencies = [ - "block2", - "dispatch", - "objc2", -] - [[package]] name = "id_tree" version = "1.8.0" @@ -3279,9 +3286,9 @@ dependencies = [ [[package]] name = "ndk" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ "bitflags 2.5.0", "jni-sys", @@ -3300,9 +3307,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.5.0+25.2.9519653" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ "jni-sys", ] @@ -3525,19 +3532,200 @@ checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ "objc-sys", "objc2-encode", ] [[package]] -name = "objc2-encode" -version = "3.0.0" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.5.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.5.0", + "block2", + "dispatch", + "libc", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] [[package]] name = "objc_exception" @@ -3794,6 +3982,26 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -4086,15 +4294,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -4554,12 +4753,12 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/smithay//smithay?branch=feature/thread-safe-rendering#236468917cfd8b2114432f3e205a757b338221dc" +source = "git+https://github.com/smithay//smithay?rev=69b379d#69b379d00af9e1bcc98dac2d452bfd86eafdaf34" dependencies = [ "appendlist", - "ash", + "ash 0.38.0+1.3.281", "bitflags 2.5.0", - "calloop 0.13.0", + "calloop 0.14.0", "cc", "cgmath", "cursor-icon", @@ -4591,6 +4790,8 @@ dependencies = [ "thiserror", "tracing", "udev", + "wayland-client", + "wayland-cursor", "wayland-egl", "wayland-protocols 0.32.1", "wayland-protocols-misc", @@ -5762,6 +5963,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "weezl" version = "0.1.8" @@ -5824,7 +6035,7 @@ source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b802 dependencies = [ "android_system_properties", "arrayvec", - "ash", + "ash 0.37.3+1.3.251", "bit-set", "bitflags 2.5.0", "block", @@ -6177,36 +6388,40 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winit" -version = "0.29.15" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +checksum = "49f45a7b7e2de6af35448d7718dab6d95acec466eb3bb7a56f4d31d1af754004" dependencies = [ "ahash", "android-activity", "atomic-waker", "bitflags 2.5.0", + "block2", "bytemuck", "calloop 0.12.4", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", + "concurrent-queue", "core-foundation", "core-graphics", "cursor-icon", - "icrate", + "dpi", "js-sys", "libc", - "log", "memmap2 0.9.4", "ndk", - "ndk-sys", "objc2", - "once_cell", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", "percent-encoding", + "pin-project", "raw-window-handle", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix 0.38.34", "smithay-client-toolkit 0.18.1", "smol_str", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", @@ -6215,8 +6430,8 @@ dependencies = [ "wayland-protocols 0.31.2", "wayland-protocols-plasma", "web-sys", - "web-time", - "windows-sys 0.48.0", + "web-time 1.1.0", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", diff --git a/Cargo.toml b/Cargo.toml index 464ad42b..f737d06b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ members = [ anyhow = {version = "1.0.51", features = ["backtrace"]} bitflags = "2.4" bytemuck = "1.12" -calloop = {version = "0.13.0", features = ["executor"]} +calloop = {version = "0.14.0", features = ["executor"]} cosmic-comp-config = {path = "cosmic-comp-config"} cosmic-config = {git = "https://github.com/pop-os/libcosmic/", features = ["calloop", "macro"]} cosmic-protocols = {git = "https://github.com/pop-os/cosmic-protocols", branch = "main", default-features = false, features = ["server"]} @@ -118,4 +118,4 @@ inherits = "release" lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = {git = "https://github.com/smithay//smithay", branch = "feature/thread-safe-rendering"} #rev = "74e8c4f"} +smithay = {git = "https://github.com/smithay//smithay", rev = "69b379d"} diff --git a/src/backend/kms/device.rs b/src/backend/kms/device.rs index 2fc0d89d..bde92613 100644 --- a/src/backend/kms/device.rs +++ b/src/backend/kms/device.rs @@ -179,7 +179,7 @@ impl State { ) .with_context(|| format!("Failed to add drm device to event loop: {}", dev))?; - let socket = match self.create_socket(dh, render_node, render_formats.clone().into_iter()) { + let socket = match self.create_socket(dh, render_node, render_formats.clone()) { Ok(socket) => Some(socket), Err(err) => { warn!( diff --git a/src/backend/kms/socket.rs b/src/backend/kms/socket.rs index f8de7b63..88070161 100644 --- a/src/backend/kms/socket.rs +++ b/src/backend/kms/socket.rs @@ -3,7 +3,7 @@ use anyhow::{anyhow, Context, Result}; use smithay::{ backend::{ - allocator::Format, + allocator::format::FormatSet, drm::{DrmNode, NodeType}, }, reexports::{ @@ -32,9 +32,8 @@ impl State { &mut self, dh: &DisplayHandle, render_node: DrmNode, - formats: impl Iterator, + formats: FormatSet, ) -> Result { - let formats = formats.collect::>(); let socket_name = format!( "{}-{}", &self.common.socket.to_string_lossy(), diff --git a/src/backend/kms/surface/mod.rs b/src/backend/kms/surface/mod.rs index 503e862e..6a2a0af5 100644 --- a/src/backend/kms/surface/mod.rs +++ b/src/backend/kms/surface/mod.rs @@ -21,8 +21,9 @@ use calloop::channel::Channel; use smithay::{ backend::{ allocator::{ + format::FormatSet, gbm::{GbmAllocator, GbmBufferFlags, GbmDevice}, - Format, Fourcc, + Fourcc, }, drm::{ compositor::{BlitFrameResultError, DrmCompositor, FrameError, PrimaryPlaneElement}, @@ -108,7 +109,7 @@ pub struct Surface { active: Arc, feedback: HashMap, - plane_formats: HashSet, + plane_formats: FormatSet, loop_handle: LoopHandle<'static, State>, thread_command: Sender, @@ -310,20 +311,18 @@ impl Surface { .api .single_renderer(&source_node) .unwrap() - .dmabuf_formats() - .collect::>(); + .dmabuf_formats(); let target_formats = kms .api .single_renderer(&target_node) .unwrap() - .dmabuf_formats() - .collect::>(); + .dmabuf_formats(); get_surface_dmabuf_feedback( source_node, target_node, render_formats, target_formats, - &surface.plane_formats, + surface.plane_formats.clone(), ) }) .clone(), @@ -341,7 +340,7 @@ impl Surface { known_nodes: HashSet::new(), active, feedback: HashMap::new(), - plane_formats: HashSet::new(), + plane_formats: FormatSet::default(), loop_handle: evlh.clone(), thread_command: tx, thread_token, @@ -407,7 +406,7 @@ impl Surface { .primary .formats .iter() - .cloned() + .copied() .chain( surface .planes() @@ -415,7 +414,7 @@ impl Surface { .iter() .flat_map(|p| p.formats.iter().cloned()), ) - .collect::>(); + .collect::(); let _ = self.thread_command.send(ThreadCommand::Resume { surface, @@ -593,8 +592,7 @@ impl SurfaceThreadState { .api .single_renderer(&self.target_node) .unwrap() - .dmabuf_formats() - .collect(); + .dmabuf_formats(); self.timings.set_refresh_interval(Some(Duration::from_nanos( drm_helpers::calculate_refresh_rate(surface.pending_mode()) as u64, @@ -1368,14 +1366,14 @@ fn render_node_for_output( fn get_surface_dmabuf_feedback( render_node: DrmNode, target_node: DrmNode, - render_formats: HashSet, - target_formats: HashSet, - plane_formats: &HashSet, + render_formats: FormatSet, + target_formats: FormatSet, + plane_formats: FormatSet, ) -> SurfaceDmabufFeedback { let combined_formats = render_formats .intersection(&target_formats) .copied() - .collect::>(); + .collect::(); // We limit the scan-out trache to formats we can also render from // so that there is always a fallback render path available in case @@ -1383,7 +1381,7 @@ fn get_surface_dmabuf_feedback( let planes_formats = plane_formats .intersection(&combined_formats) .copied() - .collect::>(); + .collect::(); let builder = DmabufFeedbackBuilder::new(render_node.dev_id(), render_formats); /* diff --git a/src/backend/winit.rs b/src/backend/winit.rs index bfc39165..9d31248b 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -240,7 +240,7 @@ fn init_egl_client_side( let render_node = EGLDevice::device_for_display(renderer.renderer().egl_context().display()) .and_then(|device| device.try_get_render_node()); - let dmabuf_formats = renderer.renderer().dmabuf_formats().collect::>(); + let dmabuf_formats = renderer.renderer().dmabuf_formats(); match render_node { Ok(Some(node)) => { diff --git a/src/backend/x11.rs b/src/backend/x11.rs index 6b0f8cf8..50d0e03c 100644 --- a/src/backend/x11.rs +++ b/src/backend/x11.rs @@ -273,9 +273,7 @@ fn try_vulkan_allocator(node: &DrmNode) -> Option { let Some(device) = devices .filter(|phd| { - phd.has_device_extension( - smithay::reexports::ash::extensions::ext::PhysicalDeviceDrm::name(), - ) + phd.has_device_extension(smithay::reexports::ash::ext::physical_device_drm::NAME) }) .find(|phd| { phd.primary_node().unwrap() == Some(*node) || phd.render_node().unwrap() == Some(*node) @@ -480,7 +478,7 @@ where "Could not determine path for gpu node: {}", render_node ))?, - renderer.dmabuf_formats().collect(), + renderer.dmabuf_formats(), &dmabuf_global, ); diff --git a/src/wayland/protocols/drm.rs b/src/wayland/protocols/drm.rs index dba123ca..6185db18 100644 --- a/src/wayland/protocols/drm.rs +++ b/src/wayland/protocols/drm.rs @@ -24,7 +24,8 @@ mod generated { use smithay::{ backend::allocator::{ dmabuf::{Dmabuf, DmabufFlags}, - Format, Fourcc, Modifier, + format::FormatSet, + Fourcc, Modifier, }, reexports::wayland_server::{ backend::GlobalId, protocol::wl_buffer::WlBuffer, Client, DataInit, Dispatch, @@ -223,7 +224,7 @@ impl WlDrmState { &mut self, display: &DisplayHandle, device_path: PathBuf, - formats: Vec, + formats: FormatSet, dmabuf_global: &DmabufGlobal, ) -> GlobalId where @@ -242,7 +243,7 @@ impl WlDrmState { &mut self, display: &DisplayHandle, device_path: PathBuf, - formats: Vec, + formats: FormatSet, dmabuf_global: &DmabufGlobal, client_filter: F, ) -> GlobalId