chore: Fix smithay version
This commit is contained in:
parent
449048bdc5
commit
76fca0c591
8 changed files with 302 additions and 91 deletions
335
Cargo.lock
generated
335
Cargo.lock
generated
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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"}
|
||||
|
|
|
|||
|
|
@ -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!(
|
||||
|
|
|
|||
|
|
@ -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<Item = Format>,
|
||||
formats: FormatSet,
|
||||
) -> Result<Socket> {
|
||||
let formats = formats.collect::<Vec<_>>();
|
||||
let socket_name = format!(
|
||||
"{}-{}",
|
||||
&self.common.socket.to_string_lossy(),
|
||||
|
|
|
|||
|
|
@ -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<AtomicBool>,
|
||||
feedback: HashMap<DrmNode, SurfaceDmabufFeedback>,
|
||||
plane_formats: HashSet<Format>,
|
||||
plane_formats: FormatSet,
|
||||
|
||||
loop_handle: LoopHandle<'static, State>,
|
||||
thread_command: Sender<ThreadCommand>,
|
||||
|
|
@ -310,20 +311,18 @@ impl Surface {
|
|||
.api
|
||||
.single_renderer(&source_node)
|
||||
.unwrap()
|
||||
.dmabuf_formats()
|
||||
.collect::<HashSet<_>>();
|
||||
.dmabuf_formats();
|
||||
let target_formats = kms
|
||||
.api
|
||||
.single_renderer(&target_node)
|
||||
.unwrap()
|
||||
.dmabuf_formats()
|
||||
.collect::<HashSet<_>>();
|
||||
.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::<HashSet<_>>();
|
||||
.collect::<FormatSet>();
|
||||
|
||||
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<Format>,
|
||||
target_formats: HashSet<Format>,
|
||||
plane_formats: &HashSet<Format>,
|
||||
render_formats: FormatSet,
|
||||
target_formats: FormatSet,
|
||||
plane_formats: FormatSet,
|
||||
) -> SurfaceDmabufFeedback {
|
||||
let combined_formats = render_formats
|
||||
.intersection(&target_formats)
|
||||
.copied()
|
||||
.collect::<HashSet<_>>();
|
||||
.collect::<FormatSet>();
|
||||
|
||||
// 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::<Vec<_>>();
|
||||
.collect::<FormatSet>();
|
||||
|
||||
let builder = DmabufFeedbackBuilder::new(render_node.dev_id(), render_formats);
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -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::<Vec<_>>();
|
||||
let dmabuf_formats = renderer.renderer().dmabuf_formats();
|
||||
|
||||
match render_node {
|
||||
Ok(Some(node)) => {
|
||||
|
|
|
|||
|
|
@ -273,9 +273,7 @@ fn try_vulkan_allocator(node: &DrmNode) -> Option<Allocator> {
|
|||
|
||||
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,
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -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<R: 'static> WlDrmState<R> {
|
|||
&mut self,
|
||||
display: &DisplayHandle,
|
||||
device_path: PathBuf,
|
||||
formats: Vec<Format>,
|
||||
formats: FormatSet,
|
||||
dmabuf_global: &DmabufGlobal,
|
||||
) -> GlobalId
|
||||
where
|
||||
|
|
@ -242,7 +243,7 @@ impl<R: 'static> WlDrmState<R> {
|
|||
&mut self,
|
||||
display: &DisplayHandle,
|
||||
device_path: PathBuf,
|
||||
formats: Vec<Format>,
|
||||
formats: FormatSet,
|
||||
dmabuf_global: &DmabufGlobal,
|
||||
client_filter: F,
|
||||
) -> GlobalId
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue