-
-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update libs #86
Conversation
fb5cab0
to
7642de2
Compare
7e0407a
to
a7fab79
Compare
inotify watches had to be update
aa8f6fd
to
959d843
Compare
959d843
to
9549889
Compare
5351e57
to
0b8abfd
Compare
dedfbef
to
d24c4c2
Compare
Is there still incentive to work on this? I've made a few commits on top of this PR, and am now stuck at getting vulkan to work properly. The error I'm getting is
Here's what I've done so far, as a big patchdiff --git a/Cargo.lock b/Cargo.lock
index c02c1eb..e6fda9a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -98,9 +98,9 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
[[package]]
name = "ash"
-version = "0.37.3+1.3.251"
+version = "0.38.0+1.3.281"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
+checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f"
[[package]]
name = "autocfg"
@@ -164,6 +164,26 @@ version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+[[package]]
+name = "bytemuck"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "byteorder"
version = "1.5.0"
@@ -172,16 +192,28 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "calloop"
-version = "0.10.6"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
+checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.6.0",
"log",
- "nix 0.25.1",
- "slotmap",
+ "polling",
+ "rustix",
+ "slab",
"thiserror",
- "vec_map",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
+dependencies = [
+ "calloop",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
]
[[package]]
@@ -219,7 +251,7 @@ dependencies = [
"js-sys",
"num-traits",
"wasm-bindgen",
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -239,6 +271,15 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+[[package]]
+name = "concurrent-queue"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
+dependencies = [
+ "crossbeam-utils",
+]
+
[[package]]
name = "core-foundation"
version = "0.9.4"
@@ -279,6 +320,18 @@ dependencies = [
"libc",
]
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
[[package]]
name = "dbus"
version = "0.9.7"
@@ -500,6 +553,12 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+[[package]]
+name = "hermit-abi"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
+
[[package]]
name = "home"
version = "0.5.9"
@@ -583,11 +642,11 @@ dependencies = [
[[package]]
name = "inotify"
-version = "0.10.2"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc"
+checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.6.0",
"futures-core",
"inotify-sys",
"libc",
@@ -613,17 +672,6 @@ dependencies = [
"mach2",
]
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
@@ -656,9 +704,9 @@ dependencies = [
[[package]]
name = "lazy_static"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "lazycell"
@@ -688,7 +736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
dependencies = [
"cfg-if",
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -786,40 +834,22 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "memmap2"
-version = "0.5.10"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
dependencies = [
"libc",
]
[[package]]
name = "memmap2"
-version = "0.7.1"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
dependencies = [
"libc",
]
-[[package]]
-name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
-dependencies = [
- "autocfg",
-]
-
[[package]]
name = "minimal-lexical"
version = "0.2.1"
@@ -841,7 +871,7 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.9",
"libc",
"wasi",
"windows-sys 0.52.0",
@@ -849,14 +879,13 @@ dependencies = [
[[package]]
name = "mockall"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+checksum = "d4c28b3fb6d753d28c20e826cd46ee611fda1cf3cde03a443a974043247c065a"
dependencies = [
"cfg-if",
"downcast",
"fragile",
- "lazy_static",
"mockall_derive",
"predicates",
"predicates-tree",
@@ -864,9 +893,9 @@ dependencies = [
[[package]]
name = "mockall_derive"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+checksum = "341014e7f530314e9a1fdbc7400b244efea7122662c96bfa248c31da5bfb2020"
dependencies = [
"cfg-if",
"proc-macro2",
@@ -874,31 +903,6 @@ dependencies = [
"syn",
]
-[[package]]
-name = "nix"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
-dependencies = [
- "autocfg",
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset 0.6.5",
-]
-
-[[package]]
-name = "nix"
-version = "0.26.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset 0.7.1",
-]
-
[[package]]
name = "nom"
version = "3.2.1"
@@ -982,6 +986,21 @@ version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+[[package]]
+name = "polling"
+version = "3.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "hermit-abi 0.4.0",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.59.0",
+]
+
[[package]]
name = "predicates"
version = "3.1.2"
@@ -1027,15 +1046,6 @@ dependencies = [
"unicode-ident",
]
-[[package]]
-name = "quick-xml"
-version = "0.28.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
-dependencies = [
- "memchr 2.7.4",
-]
-
[[package]]
name = "quick-xml"
version = "0.34.0"
@@ -1190,12 +1200,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
-name = "slotmap"
-version = "1.0.7"
+name = "slab"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [
- "version_check",
+ "autocfg",
]
[[package]]
@@ -1206,26 +1216,30 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "smithay-client-toolkit"
-version = "0.17.0"
+version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1476c3d89bb67079264b88aaf4f14358353318397e083b7c4e8c14517f55de7"
+checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.6.0",
+ "bytemuck",
"calloop",
- "dlib",
- "lazy_static",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
"log",
- "memmap2 0.5.10",
- "nix 0.26.4",
+ "memmap2 0.9.4",
"pkg-config",
+ "rustix",
"thiserror",
- "wayland-backend 0.1.2",
- "wayland-client 0.30.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-csd-frame",
"wayland-cursor",
- "wayland-protocols 0.30.1",
- "wayland-protocols-wlr 0.1.0",
- "wayland-scanner 0.30.1",
+ "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
"xkbcommon",
+ "xkeysym",
]
[[package]]
@@ -1323,6 +1337,22 @@ dependencies = [
"winnow",
]
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+
[[package]]
name = "udev"
version = "0.2.0"
@@ -1377,18 +1407,6 @@ dependencies = [
"bindgen",
]
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version_check"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-
[[package]]
name = "void"
version = "1.0.2"
@@ -1456,21 +1474,6 @@ version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
-[[package]]
-name = "wayland-backend"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8"
-dependencies = [
- "cc",
- "downcast-rs",
- "io-lifetimes",
- "nix 0.26.4",
- "scoped-tls",
- "smallvec",
- "wayland-sys 0.30.1",
-]
-
[[package]]
name = "wayland-backend"
version = "0.3.6"
@@ -1482,20 +1485,7 @@ dependencies = [
"rustix",
"scoped-tls",
"smallvec",
- "wayland-sys 0.31.4",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.30.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
-dependencies = [
- "bitflags 1.3.2",
- "calloop",
- "nix 0.26.4",
- "wayland-backend 0.1.2",
- "wayland-scanner 0.30.1",
+ "wayland-sys",
]
[[package]]
@@ -1506,31 +1496,30 @@ checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943"
dependencies = [
"bitflags 2.6.0",
"rustix",
- "wayland-backend 0.3.6",
- "wayland-scanner 0.31.4",
+ "wayland-backend",
+ "wayland-scanner",
]
[[package]]
-name = "wayland-cursor"
-version = "0.30.0"
+name = "wayland-csd-frame"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d0c3a0d5b4b688b07b0442362d3ed6bf04724fcc16cd69ab6285b90dbc487aa"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
dependencies = [
- "nix 0.26.4",
- "wayland-client 0.30.2",
- "xcursor",
+ "bitflags 2.6.0",
+ "cursor-icon",
+ "wayland-backend",
]
[[package]]
-name = "wayland-protocols"
-version = "0.30.1"
+name = "wayland-cursor"
+version = "0.31.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b28101e5ca94f70461a6c2d610f76d85ad223d042dd76585ab23d3422dd9b4d"
+checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95"
dependencies = [
- "bitflags 1.3.2",
- "wayland-backend 0.1.2",
- "wayland-client 0.30.2",
- "wayland-scanner 0.30.1",
+ "rustix",
+ "wayland-client",
+ "xcursor",
]
[[package]]
@@ -1540,22 +1529,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa"
dependencies = [
"bitflags 2.6.0",
- "wayland-backend 0.3.6",
- "wayland-client 0.31.5",
- "wayland-scanner 0.31.4",
-]
-
-[[package]]
-name = "wayland-protocols-wlr"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fce991093320e4a6a525876e6b629ab24da25f9baef0c2e0080ad173ec89588a"
-dependencies = [
- "bitflags 1.3.2",
- "wayland-backend 0.1.2",
- "wayland-client 0.30.2",
- "wayland-protocols 0.30.1",
- "wayland-scanner 0.30.1",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
]
[[package]]
@@ -1565,21 +1541,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953"
dependencies = [
"bitflags 2.6.0",
- "wayland-backend 0.3.6",
- "wayland-client 0.31.5",
- "wayland-protocols 0.32.3",
- "wayland-scanner 0.31.4",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e"
-dependencies = [
- "proc-macro2",
- "quick-xml 0.28.2",
- "quote",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
]
[[package]]
@@ -1589,21 +1554,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6"
dependencies = [
"proc-macro2",
- "quick-xml 0.34.0",
+ "quick-xml",
"quote",
]
-[[package]]
-name = "wayland-sys"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
-dependencies = [
- "dlib",
- "log",
- "pkg-config",
-]
-
[[package]]
name = "wayland-sys"
version = "0.31.4"
@@ -1662,16 +1616,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets",
]
[[package]]
@@ -1680,22 +1625,16 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
-name = "windows-targets"
-version = "0.48.5"
+name = "windows-sys"
+version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
+ "windows-targets",
]
[[package]]
@@ -1704,46 +1643,28 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
"windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
]
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -1756,48 +1677,24 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
@@ -1832,10 +1729,10 @@ dependencies = [
"smithay-client-toolkit",
"toml",
"v4l",
- "wayland-backend 0.3.6",
- "wayland-client 0.31.5",
- "wayland-protocols 0.32.3",
- "wayland-protocols-wlr 0.3.3",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-protocols-wlr",
"xdg",
]
@@ -1853,12 +1750,22 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
[[package]]
name = "xkbcommon"
-version = "0.5.1"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52db25b599e92bf6e3904134618728eeb7b49a5a4f38f107f92399bb9c496b88"
+checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
dependencies = [
"libc",
- "memmap2 0.7.1",
+ "memmap2 0.8.0",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
+dependencies = [
+ "bytemuck",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index bd18e17..7403588 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,21 +9,21 @@ wayland-client = { version = "~0.31" }
wayland-backend = { version = "~0.3", features = ["dlopen"] }
wayland-protocols = { version = "~0.32", features = ["client"] }
wayland-protocols-wlr = { version = "~0.3", features = ["client"] }
-smithay-client-toolkit = "~0.17"
+smithay-client-toolkit = "~0.19"
serde = { version = "~1.0", features = ["derive"] }
serde_yaml = "~0.9"
toml = "~0.8"
chrono = "~0.4"
-ash = { version = "~0.37", features = ["linked"], default-features = false }
+ash = { version = "~0.38", features = ["linked"], default-features = false }
itertools = "~0.13"
v4l = { version = "~0.14", features = ["libv4l"], default-features = false }
ddc-hi = "~0.4"
log = "~0.4"
env_logger = "~0.11"
-inotify = "~0.10"
-lazy_static = "~1.4"
+inotify = "~0.11"
+lazy_static = "~1.5"
xdg = "~2.5"
dbus = "~0.9"
[dev-dependencies]
-mockall = "0.12"
+mockall = "0.13"
diff --git a/flake.lock b/flake.lock
index 2d9e81a..5fcbf0e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,23 +1,5 @@
{
"nodes": {
- "flake-utils": {
- "inputs": {
- "systems": "systems"
- },
- "locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
"naersk": {
"inputs": {
"nixpkgs": "nixpkgs"
@@ -67,23 +49,23 @@
},
"root": {
"inputs": {
- "flake-utils": "flake-utils",
"naersk": "naersk",
- "nixpkgs": "nixpkgs_2"
+ "nixpkgs": "nixpkgs_2",
+ "systems": "systems"
}
},
"systems": {
"locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default",
+ "repo": "default-linux",
"type": "github"
}
}
diff --git a/flake.nix b/flake.nix
index ff31dd3..96be764 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,45 +2,60 @@
inputs = {
naersk.url = "github:nix-community/naersk/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- flake-utils.url = "github:numtide/flake-utils";
+ systems.url = "github:nix-systems/default-linux";
};
- outputs = { self, nixpkgs, flake-utils, naersk }:
- let systems = [ "x86_64-linux" "aarch64-linux" ];
- in flake-utils.lib.eachSystem systems (system:
- let
- pkgs = import nixpkgs { inherit system; };
- naersk-lib = pkgs.callPackage naersk { };
- libs = with pkgs; [
+ outputs = {
+ self,
+ nixpkgs,
+ naersk,
+ systems,
+ }: let
+ inherit (nixpkgs) lib;
+ eachSystem = lib.genAttrs (import systems);
+ pkgsFor = nixpkgs.legacyPackages;
+ naersk-lib = eachSystem (system: pkgsFor.${system}.callPackage naersk {});
+ in {
+ packages = eachSystem (system: {
+ default = naersk-lib.${system}.buildPackage {
+ pname = "wluma";
+ version = "4.4.0";
+
+ src = ./.;
+
+ nativeBuildInputs = with pkgsFor.${system}; [
+ makeWrapper
+ pkg-config
+ rustPlatform.bindgenHook
+ marked-man
+ libxkbcommon
+ ];
+
+ buildInputs = with pkgsFor.${system}; [
udev
v4l-utils
vulkan-loader
dbus
];
- in
- {
- defaultPackage = naersk-lib.buildPackage {
- src = ./.;
- meta.mainProgram = "wluma";
- nativeBuildInputs = with pkgs; [
- makeWrapper
- pkg-config
- rustPlatform.bindgenHook
- marked-man
+
+ meta.mainProgram = "wluma";
+ };
+ });
+
+ devShells = eachSystem (system: {
+ default = with pkgsFor.${system};
+ mkShell {
+ inputsFrom = [self.packages.${system}.default];
+ packages = [
+ cargo
+ pre-commit
+ rustc
+ rustfmt
+ rustPackages.clippy
];
- buildInputs = libs;
- };
- devShell = with pkgs; mkShell {
- buildInputs = [ cargo rustc rustfmt pre-commit rustPackages.clippy pkg-config ] ++ libs;
+
RUST_SRC_PATH = rustPlatform.rustLibSrc;
- LIBCLANG_PATH = "${llvmPackages_12.libclang.lib}/lib";
- BINDGEN_EXTRA_CLANG_ARGS = [
- ''-I"${llvmPackages_12.libclang.lib}/lib/clang/${llvmPackages_12.libclang.version}/include"''
- ] ++ (builtins.map (a: ''-I"${a}/include"'') [
- glibc.dev
- libv4l.dev
- ]);
};
- }
- );
+ });
+ };
}
diff --git a/src/frame/capturer/wlroots.rs b/src/frame/capturer/wlroots.rs
index 796c8f7..3b1a92f 100644
--- a/src/frame/capturer/wlroots.rs
+++ b/src/frame/capturer/wlroots.rs
@@ -168,9 +168,7 @@ impl Dispatch<zwlr_export_dmabuf_frame_v1::ZwlrExportDmabufFrameV1, ()> for Capt
frame.destroy();
match reason {
- WEnum::Value(reason)
- if reason == zwlr_export_dmabuf_frame_v1::CancelReason::Permanent =>
- {
+ WEnum::Value(zwlr_export_dmabuf_frame_v1::CancelReason::Permanent) => {
panic!("Frame was cancelled due to a permanent error. If you just disconnected screen, this is not implemented yet.");
}
_ => {
diff --git a/src/frame/object.rs b/src/frame/object.rs
index 4c54a7d..a7b51a3 100644
--- a/src/frame/object.rs
+++ b/src/frame/object.rs
@@ -1,5 +1,5 @@
-use std::collections::HashMap;
-use wayland_backend::io_lifetimes::OwnedFd;
+use std::{collections::HashMap, os::fd::OwnedFd};
+// use wayland_backend::io_lifetimes::OwnedFd;
#[derive(Default)]
pub struct Object {
diff --git a/src/frame/vulkan.rs b/src/frame/vulkan.rs
index 2240187..0bc4c40 100644
--- a/src/frame/vulkan.rs
+++ b/src/frame/vulkan.rs
@@ -1,5 +1,6 @@
use crate::frame::compute_perceived_lightness_percent;
use crate::frame::object::Object;
+use ash::prelude::VkResult;
use ash::{vk, Device, Entry, Instance};
use std::cell::RefCell;
use std::default::Default;
@@ -31,9 +32,10 @@ pub struct Vulkan {
}
impl Vulkan {
- pub fn new() -> Result<Self, Box<dyn Error>> {
- let app_name = CString::new("wluma")?;
- let app_info = vk::ApplicationInfo::builder()
+ // pub fn new() -> Result<Self, Box<dyn Error>> {
+ pub fn new() -> VkResult<Self> {
+ let app_name = CString::new("wluma").expect("Could not create string 'wluma'");
+ let app_info = vk::ApplicationInfo::default()
.application_name(&app_name)
.application_version(WLUMA_VERSION)
.engine_name(&app_name)
@@ -41,13 +43,13 @@ impl Vulkan {
.api_version(VULKAN_VERSION);
let instance_extensions = &[
- vk::KhrExternalMemoryCapabilitiesFn::name().as_ptr(),
- vk::KhrGetPhysicalDeviceProperties2Fn::name().as_ptr(),
+ vk::KHR_EXTERNAL_MEMORY_CAPABILITIES_NAME.as_ptr(),
+ vk::KHR_GET_PHYSICAL_DEVICE_PROPERTIES2_NAME.as_ptr(),
];
let entry = Entry::linked();
- let create_info = vk::InstanceCreateInfo::builder()
+ let create_info = vk::InstanceCreateInfo::default()
.application_info(&app_info)
.enabled_extension_names(instance_extensions);
@@ -56,22 +58,21 @@ impl Vulkan {
let physical_devices = unsafe { instance.enumerate_physical_devices()? };
let physical_device = *physical_devices
.first()
- .ok_or("Unable to find a physical device")?;
+ .expect("Unable to find a physical device");
let queue_family_index = 0;
- let queue_info = &[vk::DeviceQueueCreateInfo::builder()
+ let queue_info = &[vk::DeviceQueueCreateInfo::default()
.queue_family_index(queue_family_index)
- .queue_priorities(&[1.0])
- .build()];
+ .queue_priorities(&[1.0])];
let device_extensions = &[
- vk::KhrExternalMemoryFn::name().as_ptr(),
- vk::KhrExternalMemoryFdFn::name().as_ptr(),
- vk::ExtExternalMemoryDmaBufFn::name().as_ptr(),
+ vk::KHR_EXTERNAL_MEMORY_CAPABILITIES_NAME.as_ptr(),
+ vk::KHR_EXTERNAL_MEMORY_FD_NAME.as_ptr(),
+ vk::EXT_EXTERNAL_MEMORY_DMA_BUF_NAME.as_ptr(),
];
- let features = vk::PhysicalDeviceFeatures::builder();
+ let features = vk::PhysicalDeviceFeatures::default();
- let device_create_info = vk::DeviceCreateInfo::builder()
+ let device_create_info = vk::DeviceCreateInfo::default()
.queue_create_infos(queue_info)
.enabled_extension_names(device_extensions)
.enabled_features(&features);
@@ -80,20 +81,20 @@ impl Vulkan {
let queue = unsafe { device.get_device_queue(queue_family_index, 0) };
- let pool_create_info = vk::CommandPoolCreateInfo::builder()
+ let pool_create_info = vk::CommandPoolCreateInfo::default()
.flags(vk::CommandPoolCreateFlags::RESET_COMMAND_BUFFER)
.queue_family_index(queue_family_index);
let command_pool = unsafe { device.create_command_pool(&pool_create_info, None)? };
- let command_buffer_allocate_info = vk::CommandBufferAllocateInfo::builder()
+ let command_buffer_allocate_info = vk::CommandBufferAllocateInfo::default()
.command_buffer_count(1)
.command_pool(command_pool)
.level(vk::CommandBufferLevel::PRIMARY);
let command_buffers =
unsafe { device.allocate_command_buffers(&command_buffer_allocate_info)? };
- let buffer_info = vk::BufferCreateInfo::builder()
+ let buffer_info = vk::BufferCreateInfo::default()
.size(BUFFER_PIXELS)
.usage(vk::BufferUsageFlags::TRANSFER_DST)
.sharing_mode(vk::SharingMode::EXCLUSIVE);
@@ -110,7 +111,7 @@ impl Vulkan {
&device_memory_properties,
vk::MemoryPropertyFlags::HOST_VISIBLE | vk::MemoryPropertyFlags::HOST_COHERENT,
)
- .ok_or("Unable to find suitable memory type for the buffer")?;
+ .expect("Unable to find suitable memory type for the buffer");
let allocate_info = vk::MemoryAllocateInfo {
allocation_size: buffer_memory_req.size,
@@ -123,7 +124,7 @@ impl Vulkan {
device.bind_buffer_memory(buffer, buffer_memory, 0)?;
}
- let fence_create_info = vk::FenceCreateInfo::builder();
+ let fence_create_info = vk::FenceCreateInfo::default();
let fence = unsafe { device.create_fence(&fence_create_info, None)? };
Ok(Self {
@@ -175,12 +176,15 @@ impl Vulkan {
let pixels = mip_width as usize * mip_height as usize;
let rgbas = unsafe {
- let buffer_pointer = self.device.map_memory(
- self.buffer_memory,
- 0,
- vk::WHOLE_SIZE,
- vk::MemoryMapFlags::empty(),
- )?;
+ let buffer_pointer = self
+ .device
+ .map_memory(
+ self.buffer_memory,
+ 0,
+ vk::WHOLE_SIZE,
+ vk::MemoryMapFlags::empty(),
+ )
+ .expect("Failed to map memory");
std::slice::from_raw_parts(buffer_pointer as *mut u8, pixels * 4)
};
@@ -188,7 +192,9 @@ impl Vulkan {
unsafe {
self.device.unmap_memory(self.buffer_memory);
- self.device.reset_fences(&[self.fence])?;
+ self.device
+ .reset_fences(&[self.fence])
+ .expect("Failed to reset fences");
self.device.destroy_image(frame_image, None);
self.device.free_memory(frame_image_memory, None);
}
@@ -199,7 +205,7 @@ impl Vulkan {
fn init_image(&self, frame: &Object) -> Result<(), Box<dyn Error>> {
let (width, height, mip_levels) = image_dimensions(frame);
- let image_create_info = vk::ImageCreateInfo::builder()
+ let image_create_info = vk::ImageCreateInfo::default()
.image_type(vk::ImageType::TYPE_2D)
.format(vk::Format::B8G8R8A8_UNORM)
.extent(vk::Extent3D {
@@ -215,17 +221,27 @@ impl Vulkan {
.usage(vk::ImageUsageFlags::TRANSFER_DST | vk::ImageUsageFlags::TRANSFER_SRC)
.sharing_mode(vk::SharingMode::EXCLUSIVE);
- let image = unsafe { self.device.create_image(&image_create_info, None)? };
+ let image = unsafe {
+ self.device
+ .create_image(&image_create_info, None)
+ .expect("Failed to create image")
+ };
let image_memory_req = unsafe { self.device.get_image_memory_requirements(image) };
- let image_allocate_info = vk::MemoryAllocateInfo::builder()
+ let image_allocate_info = vk::MemoryAllocateInfo::default()
.allocation_size(image_memory_req.size)
.memory_type_index(0);
- let image_memory = unsafe { self.device.allocate_memory(&image_allocate_info, None)? };
+ let image_memory = unsafe {
+ self.device
+ .allocate_memory(&image_allocate_info, None)
+ .expect("Failed to allocate memory")
+ };
unsafe {
- self.device.bind_image_memory(image, image_memory, 0)?;
+ self.device
+ .bind_image_memory(image, image_memory, 0)
+ .expect("Failed to bind image memory");
}
self.image.borrow_mut().replace(image);
@@ -240,10 +256,10 @@ impl Vulkan {
&self,
frame: &Object,
) -> Result<(vk::Image, vk::DeviceMemory), Box<dyn Error>> {
- let mut frame_image_memory_info = vk::ExternalMemoryImageCreateInfo::builder()
+ let mut frame_image_memory_info = vk::ExternalMemoryImageCreateInfo::default()
.handle_types(vk::ExternalMemoryHandleTypeFlags::DMA_BUF_EXT);
- let frame_image_create_info = vk::ImageCreateInfo::builder()
+ let frame_image_create_info = vk::ImageCreateInfo::default()
.push_next(&mut frame_image_memory_info)
.image_type(vk::ImageType::TYPE_2D)
.format(vk::Format::R8G8B8A8_UNORM)
@@ -260,16 +276,19 @@ impl Vulkan {
.usage(vk::ImageUsageFlags::TRANSFER_SRC)
.sharing_mode(vk::SharingMode::EXCLUSIVE);
- let frame_image = unsafe { self.device.create_image(&frame_image_create_info, None)? };
+ let frame_image = unsafe {
+ self.device
+ .create_image(&frame_image_create_info, None)
+ .expect("Failed to create image")
+ };
let frame_image_memory_req_info =
- vk::ImageMemoryRequirementsInfo2::builder().image(frame_image);
+ vk::ImageMemoryRequirementsInfo2::default().image(frame_image);
// Prepare the structures to get memory requirements into, then get the requirements
let mut frame_image_mem_dedicated_req = vk::MemoryDedicatedRequirements::default();
- let mut frame_image_mem_req = vk::MemoryRequirements2::builder()
- .push_next(&mut frame_image_mem_dedicated_req)
- .build();
+ let mut frame_image_mem_req =
+ vk::MemoryRequirements2::default().push_next(&mut frame_image_mem_dedicated_req);
unsafe {
self.device.get_image_memory_requirements2(
&frame_image_memory_req_info,
@@ -287,14 +306,14 @@ impl Vulkan {
// Construct the memory alloctation info according to the requirements
// If the image needs dedicated memory, add MemoryDedicatedAllocateInfo to the info chain
- let mut frame_import_memory_info = vk::ImportMemoryFdInfoKHR::builder()
+ let mut frame_import_memory_info = vk::ImportMemoryFdInfoKHR::default()
.handle_type(vk::ExternalMemoryHandleTypeFlags::DMA_BUF_EXT)
.fd(frame.fds[&0].as_raw_fd());
let mut frame_image_memory_dedicated_info =
- vk::MemoryDedicatedAllocateInfo::builder().image(frame_image);
+ vk::MemoryDedicatedAllocateInfo::default().image(frame_image);
- let mut frame_image_allocate_info = vk::MemoryAllocateInfo::builder()
+ let mut frame_image_allocate_info = vk::MemoryAllocateInfo::default()
.push_next(&mut frame_import_memory_info)
.allocation_size(frame_image_mem_req.memory_requirements.size)
.memory_type_index(memory_type_index);
@@ -307,12 +326,14 @@ impl Vulkan {
// Allocate the memory and bind it to the image
let frame_image_memory = unsafe {
self.device
- .allocate_memory(&frame_image_allocate_info, None)?
+ .allocate_memory(&frame_image_allocate_info, None)
+ .expect("Failed to allocate memory")
};
unsafe {
self.device
- .bind_image_memory(frame_image, frame_image_memory, 0)?;
+ .bind_image_memory(frame_image, frame_image_memory, 0)
+ .expect("Failed to bind image memory");
}
Ok((frame_image, frame_image_memory))
@@ -330,17 +351,16 @@ impl Vulkan {
dst_access_mask: vk::AccessFlags,
src_stage_mask: vk::PipelineStageFlags,
) {
- let image_barrier = vk::ImageMemoryBarrier::builder()
+ let image_barrier = vk::ImageMemoryBarrier::default()
.old_layout(old_layout)
.new_layout(new_layout)
.image(*image)
.subresource_range(
- vk::ImageSubresourceRange::builder()
+ vk::ImageSubresourceRange::default()
.aspect_mask(vk::ImageAspectFlags::COLOR)
.base_mip_level(base_mip_level)
.level_count(mip_levels)
- .layer_count(1)
- .build(),
+ .layer_count(1),
)
.src_access_mask(src_access_mask)
.dst_access_mask(dst_access_mask);
@@ -353,7 +373,7 @@ impl Vulkan {
vk::DependencyFlags::empty(),
&[],
&[],
- &[image_barrier.build()],
+ &[image_barrier],
);
}
}
@@ -370,7 +390,7 @@ impl Vulkan {
dst_height: u32,
dst_mip_level: u32,
) {
- let blit_info = vk::ImageBlit::builder()
+ let blit_info = vk::ImageBlit::default()
.src_offsets([
vk::Offset3D { x: 0, y: 0, z: 0 },
vk::Offset3D {
@@ -380,11 +400,10 @@ impl Vulkan {
},
])
.src_subresource(
- vk::ImageSubresourceLayers::builder()
+ vk::ImageSubresourceLayers::default()
.aspect_mask(vk::ImageAspectFlags::COLOR)
.mip_level(src_mip_level)
- .layer_count(1)
- .build(),
+ .layer_count(1),
)
.dst_offsets([
vk::Offset3D { x: 0, y: 0, z: 0 },
@@ -395,11 +414,10 @@ impl Vulkan {
},
])
.dst_subresource(
- vk::ImageSubresourceLayers::builder()
+ vk::ImageSubresourceLayers::default()
.aspect_mask(vk::ImageAspectFlags::COLOR)
.mip_level(dst_mip_level)
- .layer_count(1)
- .build(),
+ .layer_count(1),
);
unsafe {
@@ -409,7 +427,7 @@ impl Vulkan {
vk::ImageLayout::TRANSFER_SRC_OPTIMAL,
*dst_image,
vk::ImageLayout::TRANSFER_DST_OPTIMAL,
- &[blit_info.build()],
+ &[blit_info],
vk::Filter::LINEAR,
);
}
@@ -502,13 +520,12 @@ impl Vulkan {
vk::PipelineStageFlags::TRANSFER,
);
- let buffer_image_copy = vk::BufferImageCopy::builder()
+ let buffer_image_copy = vk::BufferImageCopy::default()
.image_subresource(
- vk::ImageSubresourceLayers::builder()
+ vk::ImageSubresourceLayers::default()
.aspect_mask(vk::ImageAspectFlags::COLOR)
.mip_level(mip_level)
- .layer_count(1)
- .build(),
+ .layer_count(1),
)
.image_offset(vk::Offset3D { x: 0, y: 0, z: 0 })
.image_extent(vk::Extent3D {
@@ -523,18 +540,19 @@ impl Vulkan {
*image,
vk::ImageLayout::TRANSFER_SRC_OPTIMAL,
self.buffer,
- &[buffer_image_copy.build()],
+ &[buffer_image_copy],
);
}
}
fn begin_commands(&self) -> Result<(), Box<dyn Error>> {
- let command_buffer_info = vk::CommandBufferBeginInfo::builder()
+ let command_buffer_info = vk::CommandBufferBeginInfo::default()
.flags(vk::CommandBufferUsageFlags::ONE_TIME_SUBMIT);
unsafe {
self.device
- .begin_command_buffer(self.command_buffers[0], &command_buffer_info)?;
+ .begin_command_buffer(self.command_buffers[0], &command_buffer_info)
+ .expect("Failed to begin command buffer");
}
Ok(())
@@ -542,16 +560,20 @@ impl Vulkan {
fn submit_commands(&self) -> Result<(), Box<dyn Error>> {
unsafe {
- self.device.end_command_buffer(self.command_buffers[0])?;
+ self.device
+ .end_command_buffer(self.command_buffers[0])
+ .expect("Failed to end command buffer");
}
- let submit_info = vk::SubmitInfo::builder().command_buffers(&self.command_buffers);
+ let submit_info = vk::SubmitInfo::default().command_buffers(&self.command_buffers);
unsafe {
self.device
- .queue_submit(self.queue, &[submit_info.build()], self.fence)?;
+ .queue_submit(self.queue, &[submit_info], self.fence)
+ .expect("Failed to submit queue");
self.device
- .wait_for_fences(&[self.fence], true, FENCES_TIMEOUT_NS)?;
+ .wait_for_fences(&[self.fence], true, FENCES_TIMEOUT_NS)
+ .expect("Failed to wait for fences");
}
Ok(()) |
I'm sad I couldn't finish this in time, personally I'm not working on this PR simply because I no longer have hardware that is able to run vulkan and therefore wluma |
To be reopen later if needed |
inotify watches had to be update