diff --git a/.deny.toml b/.deny.toml index b5846e36058..8af2246e469 100644 --- a/.deny.toml +++ b/.deny.toml @@ -26,7 +26,8 @@ allow-wildcard-paths = true ignore = [ # `paste` crate is no longer maintained https://rustsec.org/advisories/RUSTSEC-2024-0436 # It's a dependency of `metal` (which is to be replaced with `objc2-metal`), and a - # transitive dependency of `deno`. https://github.com/gfx-rs/wgpu/issues/7873 + # transitive dependency of `deno`. https://github.com/gfx-rs/wgpu/issues/7873. + # It is also a dependency of wgpu-test "RUSTSEC-2024-0436", # `unic-*` crates are no longer maintained https://rustsec.org/advisories/RUSTSEC-2025-0100 # These are used via `deno`. https://github.com/gfx-rs/wgpu/issues/8393 diff --git a/Cargo.lock b/Cargo.lock index b49d9a63f86..f39e93ee6ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -35,12 +35,12 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.12" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if", - "getrandom 0.3.4", + "cfg-if 1.0.0", + "getrandom 0.2.16", "once_cell", "version_check", "zerocopy", @@ -68,7 +68,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" dependencies = [ "android-properties", - "bitflags 2.10.0", + "bitflags 2.9.0", "cc", "cesu8", "jni", @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.10.0", + "bitflags 2.9.0", "cc", "cesu8", "jni", @@ -111,9 +111,9 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] name = "android_system_properties" -version = "0.1.5" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +checksum = "40906ab18de39e789f964079c6cee50adfb8290fc17bc87f4df76057edc47368" dependencies = [ "libc", ] @@ -170,15 +170,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" [[package]] name = "approx" -version = "0.5.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" dependencies = [ "num-traits", ] @@ -232,9 +232,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" dependencies = [ "serde", ] @@ -251,7 +251,7 @@ version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "libloading", + "libloading 0.8.0", ] [[package]] @@ -290,7 +290,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", - "cfg-if", + "cfg-if 1.0.0", "libc", "miniz_oxide", "object", @@ -319,9 +319,9 @@ dependencies = [ [[package]] name = "bincode" -version = "2.0.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +checksum = "3ad1fa75f77bbd06f187540aa1d70ca50b80b27ce85e7f41c0ce7ff42b34ed3b" dependencies = [ "bincode_derive", "serde", @@ -343,7 +343,7 @@ version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -380,12 +380,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "arbitrary", - "serde_core", + "serde", ] [[package]] @@ -452,9 +452,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" dependencies = [ "bytemuck_derive", ] @@ -471,10 +471,10 @@ dependencies = [ ] [[package]] -name = "byteorder-lite" -version = "0.1.0" +name = "byteorder" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -488,7 +488,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "log", "polling", "rustix 0.38.44", @@ -502,7 +502,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "log", "polling", "rustix 0.38.44", @@ -536,11 +536,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.2.1" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" dependencies = [ - "serde_core", + "serde", ] [[package]] @@ -574,34 +574,25 @@ dependencies = [ [[package]] name = "cargo_metadata" -version = "0.23.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" +checksum = "981a6f317983eec002839b90fae7411a85621410ae591a9cab2ecf5cb5744873" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.12", ] -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - [[package]] name = "cc" -version = "1.2.48" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" +checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" dependencies = [ - "find-msvc-tools", - "jobserver", "libc", - "shlex", ] [[package]] @@ -621,9 +612,15 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.4" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" @@ -654,7 +651,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading", + "libloading 0.8.0", ] [[package]] @@ -730,7 +727,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.21", ] [[package]] @@ -748,11 +745,11 @@ dependencies = [ [[package]] name = "console_error_panic_hook" -version = "0.1.7" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +checksum = "6c5dd2c094474ec60a6acaf31780af270275e3153bafff2db5995b715295762e" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "wasm-bindgen", ] @@ -837,7 +834,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "core-foundation 0.10.1", "libc", ] @@ -848,7 +845,18 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" +dependencies = [ + "crossbeam-epoch 0.8.2", + "crossbeam-utils 0.7.2", + "maybe-uninit", ] [[package]] @@ -857,8 +865,23 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.21", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset 0.5.6", + "scopeguard", ] [[package]] @@ -867,7 +890,18 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.21", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "lazy_static", ] [[package]] @@ -884,9 +918,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "ctor" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffc71fcdcdb40d6f087edddf7f8f1f8f79e6cf922f555a9ee8779752d4819bd" +checksum = "59c9b8bdf64ee849747c1b12eb861d21aa47fa161564f48332f1afe2373bf899" dependencies = [ "ctor-proc-macro", "dtor", @@ -978,7 +1012,7 @@ dependencies = [ "smallvec", "sourcemap", "static_assertions", - "thiserror 2.0.17", + "thiserror 2.0.12", "tokio", "url", "v8", @@ -1041,7 +1075,7 @@ dependencies = [ "strum", "strum_macros", "syn", - "thiserror 2.0.17", + "thiserror 2.0.12", ] [[package]] @@ -1053,7 +1087,7 @@ dependencies = [ "deno_error", "percent-encoding", "sys_traits", - "thiserror 2.0.17", + "thiserror 2.0.12", "url", ] @@ -1072,17 +1106,17 @@ dependencies = [ "ipnetwork", "libc", "log", - "nix", + "nix 0.27.1", "once_cell", "parking_lot", "percent-encoding", "serde", "serde_json", "sys_traits", - "thiserror 2.0.17", + "thiserror 2.0.12", "url", "which 8.0.0", - "winapi", + "winapi 0.3.9", "windows-sys 0.59.0", ] @@ -1134,7 +1168,7 @@ dependencies = [ "flate2", "futures", "serde", - "thiserror 2.0.17", + "thiserror 2.0.12", "tokio", "uuid", ] @@ -1150,7 +1184,7 @@ dependencies = [ "raw-window-handle 0.6.2", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.12", "tokio", "wgpu-core", "wgpu-types", @@ -1178,9 +1212,9 @@ dependencies = [ [[package]] name = "diff" -version = "0.1.13" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +checksum = "81a2b66e18158fd72ec8f738bd0a1d1aa099b75349b780ebf934d94b817ee77c" [[package]] name = "dispatch" @@ -1205,14 +1239,14 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading", + "libloading 0.8.0", ] [[package]] name = "document-features" -version = "0.2.12" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" dependencies = [ "litrs", ] @@ -1258,7 +1292,7 @@ checksum = "6e3e0ff2ee0b7aa97428308dd9e1e42369cb22f5fb8dc1c55546637443a60f1e" dependencies = [ "const_panic", "encase_derive", - "thiserror 2.0.17", + "thiserror 2.0.12", ] [[package]] @@ -1293,7 +1327,7 @@ version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -1314,14 +1348,14 @@ checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" [[package]] name = "env_logger" -version = "0.11.8" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +checksum = "9eeb342678d785662fd2514be38c459bb925f02b68dd2a3e0f21d7ef82d979dd" dependencies = [ "anstream", "anstyle", "env_filter", - "jiff", + "humantime", "log", ] @@ -1364,19 +1398,13 @@ dependencies = [ [[package]] name = "fern" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" +checksum = "69ff9c9d5fb3e6da8ac2f77ab76fe7e8087d512ce095200f8f29ac5b656cf6dc" dependencies = [ "log", ] -[[package]] -name = "find-msvc-tools" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" - [[package]] name = "fixedbitset" version = "0.4.2" @@ -1391,9 +1419,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +checksum = "a2152dbcb980c05735e2a651d96011320a949eb31a0c8b38b72645ce97dec676" dependencies = [ "crc32fast", "miniz_oxide", @@ -1401,9 +1429,9 @@ dependencies = [ [[package]] name = "flume" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", @@ -1472,9 +1500,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb" dependencies = [ "libc", - "winapi", + "winapi 0.3.9", ] +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + [[package]] name = "funty" version = "2.0.0" @@ -1531,15 +1565,17 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.6.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +checksum = "9c1155db57329dca6d018b61e76b1488ce9a2e5e44028cac420a5898f4fcef63" dependencies = [ "fastrand", "futures-core", "futures-io", + "memchr", "parking", "pin-project-lite", + "waker-fn", ] [[package]] @@ -1589,13 +1625,23 @@ version = "0.8.7" source = "git+https://github.com/Xudong-Huang/generator-rs?rev=70b89fdabcc0e82fe84ca17f65cc52ff25e8e6de#70b89fdabcc0e82fe84ca17f65cc52ff25e8e6de" dependencies = [ "cc", - "cfg-if", + "cfg-if 1.0.0", "libc", "log", "rustversion", "windows", ] +[[package]] +name = "gethostname" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "gethostname" version = "1.1.0" @@ -1612,25 +1658,25 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "71393ecc86efbf00e4ca13953979ba8b94cfe549a4b74cc26d8b62f4d8feac2b" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "js-sys", "libc", - "r-efi", - "wasip2", + "wasi 0.13.3+wasi-0.2.2", "wasm-bindgen", + "windows-targets 0.52.6", ] [[package]] @@ -1652,9 +1698,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.30.9" +version = "0.30.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" +checksum = "34e4649b62c21fb8c737abe6449192ce96ecd16b5c0d606759fe43831b31bd95" dependencies = [ "bytemuck", "encase", @@ -1662,9 +1708,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "glow" @@ -1680,11 +1726,11 @@ dependencies = [ [[package]] name = "glutin" -version = "0.31.3" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" +checksum = "04c03bcbdb3c865ac10196deaddbcea719e601d2d3eef7541872b8dee3492a36" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "cfg_aliases 0.1.1", "cgl", "core-foundation 0.9.4", @@ -1692,7 +1738,7 @@ dependencies = [ "glutin_egl_sys", "glutin_wgl_sys 0.5.0", "icrate", - "libloading", + "libloading 0.8.0", "objc2 0.4.1", "once_cell", "raw-window-handle 0.5.2", @@ -1710,7 +1756,7 @@ dependencies = [ "cfg_aliases 0.1.1", "glutin", "raw-window-handle 0.5.2", - "winit 0.29.15", + "winit 0.29.2", ] [[package]] @@ -1734,9 +1780,9 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" dependencies = [ "gl_generator", ] @@ -1747,7 +1793,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "gpu-alloc-types", ] @@ -1757,7 +1803,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", ] [[package]] @@ -1766,10 +1812,10 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" dependencies = [ - "hashbrown 0.16.1", + "hashbrown 0.16.0", "log", "presser", - "thiserror 2.0.17", + "thiserror 2.0.12", "windows", ] @@ -1779,7 +1825,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -1790,7 +1836,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", ] [[package]] @@ -1804,17 +1850,16 @@ dependencies = [ [[package]] name = "half" -version = "2.7.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" dependencies = [ "arbitrary", "bytemuck", - "cfg-if", + "cfg-if 1.0.0", "crunchy", "num-traits", "serde", - "zerocopy", ] [[package]] @@ -1823,20 +1868,21 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ + "allocator-api2", + "equivalent", "foldhash 0.1.5", ] [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", "serde", - "serde_core", ] [[package]] @@ -1853,9 +1899,9 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hexf-parse" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +checksum = "7c2e72e9674f1246842152b6af30506af1e0a3bc91050663bf72228c496597a2" [[package]] name = "hlsl-snapshots" @@ -1874,6 +1920,12 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "humantime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + [[package]] name = "icrate" version = "0.0.4" @@ -1995,35 +2047,33 @@ checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" [[package]] name = "image" -version = "0.25.9" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +checksum = "a9b4f005360d32e9325029b38ba47ebd7a56f3316df09249368939562d518645" dependencies = [ "bytemuck", - "byteorder-lite", - "moxcms", + "byteorder", "num-traits", - "png", + "png 0.17.16", ] [[package]] name = "indexmap" -version = "2.12.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.15.5", "serde", - "serde_core", ] [[package]] name = "indicatif" -version = "0.18.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd" dependencies = [ "console", "portable-atomic", @@ -2032,6 +2082,17 @@ dependencies = [ "web-time 1.1.0", ] +[[package]] +name = "io-uring" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd7bddefd0a8833b88a4b68f90dae22c7450d11b354198baee3874fd811b344" +dependencies = [ + "bitflags 2.9.0", + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "ipnetwork" version = "0.20.0" @@ -2071,30 +2132,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" -[[package]] -name = "jiff" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" -dependencies = [ - "jiff-static", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", -] - -[[package]] -name = "jiff-static" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "jni" version = "0.21.1" @@ -2102,7 +2139,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", - "cfg-if", + "cfg-if 1.0.0", "combine", "jni-sys", "log", @@ -2119,24 +2156,36 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.34" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "675a71d7407346d8a43ab7217c08205c5b66538aca3d4bb4ed6b313539becb8b" dependencies = [ - "getrandom 0.3.4", + "kernel32-sys", "libc", + "rand 0.3.23", + "winapi 0.2.8", ] [[package]] name = "js-sys" -version = "0.3.83" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", ] +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + [[package]] name = "khronos-egl" version = "6.0.0" @@ -2144,7 +2193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading", + "libloading 0.8.0", "pkg-config", ] @@ -2160,7 +2209,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", ] [[package]] @@ -2171,36 +2220,45 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libfuzzer-sys" -version = "0.4.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" +checksum = "8a9dc6556604b8ad76486563d5a47fad989b643932fa006e76e23d948bef0f5b" dependencies = [ "arbitrary", "cc", - "once_cell", ] [[package]] name = "libloading" -version = "0.8.9" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ - "cfg-if", - "windows-link", + "cfg-if 1.0.0", + "winapi 0.3.9", +] + +[[package]] +name = "libloading" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" +dependencies = [ + "cfg-if 1.0.0", + "windows-sys 0.48.0", ] [[package]] name = "libm" -version = "0.2.15" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libredox" @@ -2208,16 +2266,16 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "libc", "redox_syscall 0.5.18", ] [[package]] name = "libtest-mimic" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5297962ef19edda4ce33aaa484386e0a5b3d7f2f4e037cbeee00503ef6b29d33" +checksum = "d23e46060c5dd10a964d042daa8559522daf9aa3b960ad443106a443fc7843d6" dependencies = [ "anstream", "anstyle", @@ -2245,9 +2303,9 @@ checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litrs" -version = "1.0.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" [[package]] name = "lock-analyzer" @@ -2269,9 +2327,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "loom" @@ -2279,7 +2337,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "generator", "scoped-tls", "tracing", @@ -2294,9 +2352,9 @@ checksum = "0e3cd67e8ea2ba061339150970542cf1c60ba44c6d17e31279cbc133a4b018f8" [[package]] name = "macro_rules_attribute" -version = "0.2.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520" +checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" dependencies = [ "macro_rules_attribute-proc_macro", "paste", @@ -2326,6 +2384,12 @@ dependencies = [ "regex-automata", ] +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + [[package]] name = "memchr" version = "2.7.6" @@ -2341,13 +2405,31 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +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 = "metal" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block", "core-graphics-types 0.2.0", "foreign-types", @@ -2356,16 +2438,6 @@ dependencies = [ "paste", ] -[[package]] -name = "minicov" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" -dependencies = [ - "cc", - "walkdir", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2389,20 +2461,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.61.2", ] -[[package]] -name = "moxcms" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608" -dependencies = [ - "num-traits", - "pxfm", -] - [[package]] name = "naga" version = "27.0.0" @@ -2410,14 +2472,14 @@ dependencies = [ "arbitrary", "arrayvec", "bit-set", - "bitflags 2.10.0", - "cfg-if", + "bitflags 2.9.0", + "cfg-if 1.0.0", "cfg_aliases 0.2.1", "codespan-reporting", "diff", "env_logger", "half", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "hexf-parse", "hlsl-snapshots", "indexmap", @@ -2427,7 +2489,7 @@ dependencies = [ "naga-test", "num-traits", "once_cell", - "petgraph 0.8.3", + "petgraph 0.8.0", "pp-rs", "ron", "rspirv", @@ -2435,7 +2497,7 @@ dependencies = [ "serde", "spirv", "strum", - "thiserror 2.0.17", + "thiserror 2.0.12", "unicode-ident", "walkdir", ] @@ -2446,7 +2508,7 @@ version = "27.0.0" dependencies = [ "anyhow", "argh", - "bincode 2.0.1", + "bincode 2.0.0", "codespan-reporting", "env_logger", "log", @@ -2467,13 +2529,13 @@ dependencies = [ name = "naga-test" version = "27.0.0" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "naga", "ron", "serde", "serde_json", "spirv", - "toml", + "toml 0.9.0", ] [[package]] @@ -2508,7 +2570,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e3d189da485332e96ba8a5ef646a311871abd7915bf06ac848a9117f19cf6e4" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.0", ] [[package]] @@ -2532,7 +2594,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys 0.5.0+25.2.9519653", @@ -2548,7 +2610,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -2581,14 +2643,26 @@ dependencies = [ "jni-sys", ] +[[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 1.0.0", + "libc", + "memoffset 0.7.1", +] + [[package]] name = "nix" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.10.0", - "cfg-if", + "bitflags 2.9.0", + "cfg-if 1.0.0", "libc", ] @@ -2599,7 +2673,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6da45c8333f2e152fc665d78a380be060eb84fad8ca4c9f7ac8ca29216cff0cc" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", "rand_xorshift", ] @@ -2624,13 +2698,14 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ + "autocfg", "num-integer", "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -2644,9 +2719,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.19" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", "libm", @@ -2654,11 +2729,10 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.17.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +checksum = "a859041cbf7a70ea1ece4b87d1a2c6ef364dcb68749c88db1f97304b9ec09d5f" dependencies = [ - "hermit-abi", "libc", ] @@ -2686,9 +2760,9 @@ dependencies = [ [[package]] name = "nv-flip" -version = "0.1.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec3c68ac226790270de1d9d0eb5853832d82a34b62199ab2a1a4756df1a1974" +checksum = "2812b23ab975fe9878f508ec6099358e66c14c9feb543b826bfdd68c02c2ef48" dependencies = [ "nv-flip-sys", ] @@ -2704,15 +2778,15 @@ dependencies = [ [[package]] name = "obj" -version = "0.10.2" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "059c95245738cdc7b40078cdd51a23200252a4c0a0a6dd005136152b3f467a4a" +checksum = "946aae3c563fa19dbbce5117313f445f6ec4b8c1add1194395019c48bbc0345c" [[package]] name = "objc" -version = "0.2.7" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +checksum = "9833ab0efe5361b1e2122a0544a5d3359576911a42cb098c2e59be8650807367" dependencies = [ "malloc_buf", ] @@ -2749,7 +2823,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -2765,7 +2839,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -2789,7 +2863,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", @@ -2837,7 +2911,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "dispatch", "libc", @@ -2862,7 +2936,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", @@ -2874,7 +2948,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", @@ -2897,7 +2971,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", @@ -2929,7 +3003,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -2947,9 +3021,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" [[package]] name = "once_cell_polyfill" @@ -2957,12 +3031,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "oorandom" -version = "11.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" - [[package]] name = "orbclient" version = "0.3.49" @@ -2974,9 +3042,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "5.1.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d" +checksum = "96bcbab4bfea7a59c2c0fe47211a1ac4e3e96bea6eb446d704f310bc5c732ae2" dependencies = [ "num-traits", ] @@ -3004,9 +3072,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.5" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -3019,7 +3087,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "backtrace", - "cfg-if", + "cfg-if 1.0.0", "libc", "petgraph 0.6.5", "redox_syscall 0.5.18", @@ -3029,9 +3097,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.15" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" [[package]] name = "percent-encoding" @@ -3051,9 +3119,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.8.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +checksum = "c96dc3f2709da98e228764d8f4c01c39a101dcc441547e8036372ee0522eb108" dependencies = [ "fixedbitset 0.5.7", "hashbrown 0.15.5", @@ -3110,14 +3178,27 @@ version = "27.0.0" dependencies = [ "bytemuck", "env_logger", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "log", "raw-window-handle 0.6.2", "ron", "serde", "wgpu-core", "wgpu-types", - "winit 0.29.15", + "winit 0.29.2", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", ] [[package]] @@ -3126,7 +3207,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "crc32fast", "fdeflate", "flate2", @@ -3139,7 +3220,7 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "concurrent-queue", "hermit-abi", "pin-project-lite", @@ -3169,9 +3250,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "d30538d42559de6b034bc76fd6dd4c38961b1ee5c6c56e3808c50128fdbc22ce" [[package]] name = "portable-atomic-util" @@ -3208,9 +3289,9 @@ checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] name = "prettyplease" -version = "0.2.37" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" dependencies = [ "proc-macro2", "syn", @@ -3259,18 +3340,9 @@ dependencies = [ [[package]] name = "profiling" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" - -[[package]] -name = "pxfm" -version = "0.1.26" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3502d6155304a4173a5f2c34b52b7ed0dd085890326cb50fd625fdf39e86b3b" -dependencies = [ - "num-traits", -] +checksum = "c3a66d5e88679f2720126c11ee29da07a08f094eac52306b066edd7d393752d6" [[package]] name = "quick-xml" @@ -3283,34 +3355,66 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - [[package]] name = "radium" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rand" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" +dependencies = [ + "libc", + "rand 0.4.6", +] + +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +dependencies = [ + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi 0.3.9", +] + [[package]] name = "rand" version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", ] +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + [[package]] name = "rand_core" version = "0.6.4" @@ -3323,14 +3427,14 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "range-alloc" -version = "0.1.4" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" +checksum = "dd5927936723a9e8b715d37d7e4b390455087c4bdf25b9f702309460577b14f9" [[package]] name = "raw-window-handle" @@ -3346,10 +3450,11 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.11.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" dependencies = [ + "crossbeam-deque 0.7.4", "either", "rayon-core", ] @@ -3360,10 +3465,25 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "crossbeam-deque 0.8.6", + "crossbeam-utils 0.8.21", ] +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + [[package]] name = "redox_syscall" version = "0.3.5" @@ -3388,7 +3508,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", ] [[package]] @@ -3416,9 +3536,9 @@ dependencies = [ [[package]] name = "regex-lite" -version = "0.1.8" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" +checksum = "f96ede7f386ba6e910092e7ccdc04176cface62abebea07ed6b46d870ed95ca2" [[package]] name = "regex-syntax" @@ -3426,11 +3546,20 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "renderdoc-sys" -version = "1.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" +checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" [[package]] name = "ron" @@ -3438,7 +3567,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd490c5b18261893f14449cbd28cb9c0b637aebf161cd77900bfdedaff21ec32" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "once_cell", "serde", "serde_derive", @@ -3486,7 +3615,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -3499,7 +3628,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "errno", "libc", "linux-raw-sys 0.11.0", @@ -3541,9 +3670,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" -version = "0.8.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b31447ca297092c5a9916fc3b955203157b37c19ca8edde4f52e9843e602c7" +checksum = "1729a30a469de249c6effc17ec8d039b0aa29b3af79b819b7f51cb6ab8046a90" dependencies = [ "ab_glyph", "log", @@ -3567,38 +3696,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", - "serde_core", ] [[package]] name = "serde" -version = "1.0.228" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.228" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -3607,25 +3725,24 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "indexmap", "itoa", "memchr", "ryu", "serde", - "serde_core", ] [[package]] name = "serde_spanned" -version = "1.0.3" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" dependencies = [ - "serde_core", + "serde", ] [[package]] @@ -3638,7 +3755,7 @@ dependencies = [ "num-bigint", "serde", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.12", "v8", ] @@ -3653,9 +3770,9 @@ dependencies = [ [[package]] name = "shell-words" -version = "1.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074" [[package]] name = "shlex" @@ -3695,9 +3812,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" dependencies = [ "serde", ] @@ -3708,7 +3825,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "calloop 0.12.4", "calloop-wayland-source 0.2.0", "cursor-icon", @@ -3733,7 +3850,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "calloop 0.13.0", "calloop-wayland-source 0.3.0", "cursor-icon", @@ -3773,9 +3890,9 @@ dependencies = [ [[package]] name = "sourcemap" -version = "9.2.2" +version = "9.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22afbcb92ce02d23815b9795523c005cb9d3c214f8b7a66318541c240ea7935" +checksum = "c8131753a3c444a6177b92fc9e1bd0d2ecaf1c8953e6a41cc599e8e7ca317ef2" dependencies = [ "base64-simd", "bitvec", @@ -3804,7 +3921,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "serde", ] @@ -3840,9 +3957,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.27.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" dependencies = [ "strum_macros", ] @@ -3861,9 +3978,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.111" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3907,23 +4024,17 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "target-triple" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b" - [[package]] name = "tempfile" -version = "3.23.0" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "47776f63b85777d984a50ce49d6b9e58826b6a3766a449fc95bc66cd5663c15b" dependencies = [ - "fastrand", - "getrandom 0.3.4", - "once_cell", - "rustix 1.1.2", - "windows-sys 0.61.2", + "libc", + "rand 0.4.6", + "redox_syscall 0.1.57", + "remove_dir_all", + "winapi 0.3.9", ] [[package]] @@ -3946,11 +4057,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.12", ] [[package]] @@ -3966,9 +4077,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", @@ -3981,7 +4092,7 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -3993,7 +4104,7 @@ dependencies = [ "arrayref", "arrayvec", "bytemuck", - "cfg-if", + "cfg-if 1.0.0", "log", "tiny-skia-path", ] @@ -4021,26 +4132,29 @@ dependencies = [ [[package]] name = "tokio" -version = "1.48.0" +version = "1.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" dependencies = [ + "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", @@ -4049,12 +4163,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.8" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f271e09bde39ab52250160a67e88577e0559ad77e9085de6e9051a2c4353f8f8" dependencies = [ "indexmap", - "serde_core", + "serde", "serde_spanned", "toml_datetime", "toml_parser", @@ -4064,18 +4187,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" dependencies = [ - "serde_core", + "serde", ] [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "7211ff1b8f0d3adae1663b7da9ffe396eabe1ca25f0b0bee42b0da29a9ddce93" dependencies = [ "indexmap", "toml_datetime", @@ -4149,9 +4272,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.18.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d722a05fe49b31fef971c4732a7d4aa6a18283d9ba46abddab35f484872947" +checksum = "d90a2c01305b02b76fdd89ac8608bae27e173c829a35f7d76a345ab5d33836db" dependencies = [ "loom", "once_cell", @@ -4160,9 +4283,9 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.27.0" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fb391ac70462b3097a755618fbf9c8f95ecc1eb379a414f7b46f202ed10db1f" +checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f" dependencies = [ "cc", "windows-targets 0.52.6", @@ -4170,17 +4293,16 @@ dependencies = [ [[package]] name = "trybuild" -version = "1.0.114" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17e807bff86d2a06b52bca4276746584a78375055b6e45843925ce2802b335" +checksum = "ef41de35c6f33f6aaa082e4dd00ac71b564497c0e295e6228b405dd9a8538ffa" dependencies = [ "glob", + "lazy_static", "serde", - "serde_derive", "serde_json", - "target-triple", "termcolor", - "toml", + "toml 0.5.11", ] [[package]] @@ -4250,9 +4372,9 @@ checksum = "81b79ad29b5e19de4260020f8919b443b2ef0277d242ce532ec7b7a2cc8b6007" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-segmentation" @@ -4280,9 +4402,9 @@ checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" [[package]] name = "unty" -version = "0.0.4" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" +checksum = "a1a88342087869553c259588a3ec9ca73ce9b2d538b7051ba5789ff236b6c129" [[package]] name = "url" @@ -4326,7 +4448,7 @@ version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.0", "js-sys", "serde", "wasm-bindgen", @@ -4339,7 +4461,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33995a1fee055ff743281cde33a41f0d618ee0bdbe8bdf6859e11864499c2595" dependencies = [ "bindgen", - "bitflags 2.10.0", + "bitflags 2.9.0", "fslock", "gzip-header", "home", @@ -4372,13 +4494,20 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + [[package]] name = "walkdir" -version = "2.5.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +checksum = "11f4ebb15cedacc4a9f5c3469ca29787482d0b7502ff5a4a47ed1f55b987c9b4" dependencies = [ "same-file", + "winapi 0.3.9", "winapi-util", ] @@ -4389,45 +4518,57 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasip2" -version = "1.0.1+wasi-0.2.4" +name = "wasi" +version = "0.13.3+wasi-0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" dependencies = [ - "wit-bindgen", + "wit-bindgen-rt", ] [[package]] name = "wasm-bindgen" -version = "0.2.106" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "once_cell", "rustversion", "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.56" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "js-sys", - "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.106" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4435,42 +4576,35 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.106" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ - "bumpalo", "proc-macro2", "quote", "syn", + "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.106" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-bindgen-test" -version = "0.3.56" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25e90e66d265d3a1efc0e72a54809ab90b9c0c515915c67cdf658689d2c22c6c" +checksum = "2c3d30c1e43ebb4c4835f8163456d16f83dd6c1831424cb22680c680ef5f8ea8" dependencies = [ - "async-trait", - "cast", + "console_error_panic_hook", "js-sys", - "libm", - "minicov", - "nu-ansi-term", - "num-traits", - "oorandom", - "serde", - "serde_json", + "scoped-tls", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test-macro", @@ -4478,13 +4612,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.56" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7150335716dce6028bead2b848e72f47b45e7b9422f64cccdc23bedca89affc1" +checksum = "5f093012630c0c14be061ac7a8d99f82a94e2b1cfd74619fa71090705d2c91be" dependencies = [ "proc-macro2", "quote", - "syn", ] [[package]] @@ -4494,7 +4627,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a10e6b67c951a84de7029487e0e0a496860dae49f6699edd279d5ff35b8fbf54" dependencies = [ "deno_error", - "thiserror 2.0.17", + "thiserror 2.0.12", ] [[package]] @@ -4517,7 +4650,7 @@ version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "rustix 1.1.2", "wayland-backend", "wayland-scanner", @@ -4529,7 +4662,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "cursor-icon", "wayland-backend", ] @@ -4551,7 +4684,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -4563,7 +4696,7 @@ version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -4575,7 +4708,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols 0.31.2", @@ -4588,7 +4721,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols 0.32.9", @@ -4601,7 +4734,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols 0.31.2", @@ -4614,7 +4747,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols 0.32.9", @@ -4646,9 +4779,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.83" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4679,12 +4812,12 @@ name = "wgpu" version = "27.0.0" dependencies = [ "arrayvec", - "bitflags 2.10.0", + "bitflags 2.9.0", "bytemuck", - "cfg-if", + "cfg-if 1.0.0", "cfg_aliases 0.2.1", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "js-sys", "log", "naga", @@ -4707,7 +4840,7 @@ name = "wgpu-benchmark" version = "27.0.0" dependencies = [ "anyhow", - "bincode 2.0.1", + "bincode 2.0.0", "bytemuck", "naga", "naga-test", @@ -4730,11 +4863,11 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags 2.9.0", "bytemuck", "cfg_aliases 0.2.1", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "indexmap", "log", "macro_rules_attribute", @@ -4748,7 +4881,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.12", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", "wgpu-core-deps-wasm", @@ -4802,7 +4935,7 @@ dependencies = [ "env_logger", "pollster", "wgpu", - "winit 0.30.12", + "winit 0.30.8", ] [[package]] @@ -4818,21 +4951,21 @@ name = "wgpu-examples" version = "27.0.0" dependencies = [ "bytemuck", - "cfg-if", + "cfg-if 1.0.0", "console_error_panic_hook", "console_log", "encase", "env_logger", "fern", "flume", - "getrandom 0.3.4", + "getrandom 0.3.0", "glam", "ktx2", "log", "nanorand 0.8.0", "noise", "obj", - "png", + "png 0.18.0", "pollster", "wasm-bindgen", "wasm-bindgen-futures", @@ -4842,7 +4975,7 @@ dependencies = [ "wgpu", "wgpu-test", "wgpu-types", - "winit 0.29.15", + "winit 0.29.2", ] [[package]] @@ -4853,10 +4986,10 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.10.0", + "bitflags 2.9.0", "block", "bytemuck", - "cfg-if", + "cfg-if 1.0.0", "cfg_aliases 0.2.1", "core-graphics-types 0.2.0", "env_logger", @@ -4864,15 +4997,15 @@ dependencies = [ "glow", "glutin", "glutin-winit", - "glutin_wgl_sys 0.6.1", + "glutin_wgl_sys 0.6.0", "gpu-alloc", "gpu-allocator", "gpu-descriptor", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "js-sys", "khronos-egl", "libc", - "libloading", + "libloading 0.8.0", "log", "mach-dxcompiler-rs", "metal", @@ -4890,13 +5023,13 @@ dependencies = [ "raw-window-handle 0.6.2", "renderdoc-sys", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.12", "wasm-bindgen", "web-sys", "wgpu-types", "windows", "windows-core", - "winit 0.29.15", + "winit 0.29.2", ] [[package]] @@ -4904,9 +5037,9 @@ name = "wgpu-info" version = "27.0.0" dependencies = [ "anyhow", - "bitflags 2.10.0", + "bitflags 2.9.0", "env_logger", - "hashbrown 0.16.1", + "hashbrown 0.16.0", "pico-args", "pollster", "serde", @@ -4930,10 +5063,10 @@ dependencies = [ "anyhow", "approx", "arrayvec", - "bitflags 2.10.0", + "bitflags 2.9.0", "bytemuck", "cargo_metadata", - "cfg-if", + "cfg-if 1.0.0", "console_log", "ctor", "env_logger", @@ -4948,7 +5081,8 @@ dependencies = [ "nanorand 0.8.0", "nv-flip", "parking_lot", - "png", + "paste", + "png 0.18.0", "pollster", "profiling", "serde", @@ -4968,12 +5102,13 @@ dependencies = [ name = "wgpu-types" version = "27.0.0" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "bytemuck", "js-sys", "log", "serde", "serde_json", + "strum", "web-sys", ] @@ -5012,6 +5147,12 @@ dependencies = [ "winsafe", ] +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + [[package]] name = "winapi" version = "0.3.9" @@ -5022,6 +5163,12 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -5037,6 +5184,15 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "winapi-wsapoll" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eafc5f679c576995526e81635d0cf9695841736712b4e892f87abbe6fed3f28" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -5045,30 +5201,31 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.62.2" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +checksum = "9579d0e6970fd5250aa29aba5994052385ff55cf7b28a059e484bb79ea842e42" dependencies = [ "windows-collections", "windows-core", "windows-future", + "windows-link", "windows-numerics", ] [[package]] name = "windows-collections" -version = "0.3.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +checksum = "a90dd7a7b86859ec4cdf864658b311545ef19dbcf17a672b52ab7cefe80c336f" dependencies = [ "windows-core", ] [[package]] name = "windows-core" -version = "0.62.2" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" dependencies = [ "windows-implement", "windows-interface", @@ -5079,9 +5236,9 @@ dependencies = [ [[package]] name = "windows-future" -version = "0.3.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +checksum = "b2194dee901458cb79e1148a4e9aac2b164cc95fa431891e7b296ff0b2f1d8a6" dependencies = [ "windows-core", "windows-link", @@ -5118,9 +5275,9 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-numerics" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +checksum = "2ce3498fe0aba81e62e477408383196b4b0363db5e0c27646f932676283b43d8" dependencies = [ "windows-core", "windows-link", @@ -5452,14 +5609,14 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" -version = "0.29.15" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +checksum = "b829f75d02fe1e225b97c91a04c326900147a50234d1141a1cbe215ce8798c11" dependencies = [ "ahash", "android-activity 0.5.2", "atomic-waker", - "bitflags 2.10.0", + "bitflags 2.9.0", "bytemuck", "calloop 0.12.4", "cfg_aliases 0.1.1", @@ -5481,7 +5638,7 @@ dependencies = [ "raw-window-handle 0.6.2", "redox_syscall 0.3.5", "rustix 0.38.44", - "sctk-adwaita 0.8.3", + "sctk-adwaita 0.7.0", "smithay-client-toolkit 0.18.1", "smol_str", "unicode-segmentation", @@ -5495,20 +5652,20 @@ dependencies = [ "web-time 0.2.4", "windows-sys 0.48.0", "x11-dl", - "x11rb", + "x11rb 0.12.0", "xkbcommon-dl", ] [[package]] name = "winit" -version = "0.30.12" +version = "0.30.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" +checksum = "f5d74280aabb958072864bff6cfbcf9025cf8bfacdde5e32b5e12920ef703b0f" dependencies = [ "ahash", "android-activity 0.6.0", "atomic-waker", - "bitflags 2.10.0", + "bitflags 2.9.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", @@ -5547,7 +5704,7 @@ dependencies = [ "web-time 1.1.0", "windows-sys 0.52.0", "x11-dl", - "x11rb", + "x11rb 0.13.2", "xkbcommon-dl", ] @@ -5567,10 +5724,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" [[package]] -name = "wit-bindgen" -version = "0.46.0" +name = "wit-bindgen-rt" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.9.0", +] [[package]] name = "writeable" @@ -5598,6 +5758,23 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "x11rb" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname 0.3.0", + "libc", + "libloading 0.7.4", + "nix 0.26.4", + "once_cell", + "winapi 0.3.9", + "winapi-wsapoll", + "x11rb-protocol 0.12.0", +] + [[package]] name = "x11rb" version = "0.13.2" @@ -5605,12 +5782,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" dependencies = [ "as-raw-xcb-connection", - "gethostname", + "gethostname 1.1.0", "libc", - "libloading", + "libloading 0.8.0", "once_cell", "rustix 1.1.2", - "x11rb-protocol", + "x11rb-protocol 0.13.2", +] + +[[package]] +name = "x11rb-protocol" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" +dependencies = [ + "nix 0.26.4", ] [[package]] @@ -5631,7 +5817,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.0", "dlib", "log", "once_cell", @@ -5652,18 +5838,18 @@ checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "xshell" -version = "0.2.7" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7290c623014758632efe00737145b6867b66292c42167f2ec381eb566a373d" +checksum = "6d47097dc5c85234b1e41851b3422dd6d19b3befdd35b4ae5ce386724aeca981" dependencies = [ "xshell-macros", ] [[package]] name = "xshell-macros" -version = "0.2.7" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547" +checksum = "88301b56c26dd9bf5c43d858538f82d6f3f7764767defbc5d34e59459901c41a" [[package]] name = "yoke" @@ -5690,18 +5876,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.31" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.31" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 0ae9e19b244..87fb77d189d 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -51,6 +51,7 @@ ctor.workspace = true futures-lite.workspace = true libtest-mimic.workspace = true log.workspace = true +paste = "^1.0.7" png.workspace = true pollster.workspace = true profiling.workspace = true diff --git a/tests/tests/wgpu-gpu/main.rs b/tests/tests/wgpu-gpu/main.rs index 51e02280b53..90a93766b15 100644 --- a/tests/tests/wgpu-gpu/main.rs +++ b/tests/tests/wgpu-gpu/main.rs @@ -62,6 +62,7 @@ mod subgroup_operations; mod texture_binding; mod texture_blit; mod texture_bounds; +mod texture_format; mod texture_view_creation; mod timestamp_normalization; mod timestamp_query; @@ -136,6 +137,7 @@ fn all_tests() -> Vec { texture_binding::all_tests(&mut tests); texture_blit::all_tests(&mut tests); texture_bounds::all_tests(&mut tests); + texture_format::all_tests(&mut tests); texture_view_creation::all_tests(&mut tests); timestamp_normalization::all_tests(&mut tests); timestamp_query::all_tests(&mut tests); diff --git a/tests/tests/wgpu-gpu/texture_format/mod.rs b/tests/tests/wgpu-gpu/texture_format/mod.rs new file mode 100644 index 00000000000..5c6d5ed3013 --- /dev/null +++ b/tests/tests/wgpu-gpu/texture_format/mod.rs @@ -0,0 +1,512 @@ +use strum::IntoEnumIterator; +use wgpu_test::{gpu_test, GpuTestConfiguration, TestParameters, TestingContext}; + +pub fn all_tests(tests: &mut Vec) { + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compat_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compat_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_native_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_native_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_norm_16bit_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_norm_16bit_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_bc_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_bc_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_etc2_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_etc2_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_astc_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_astc_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_astc_hdr_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_astc_hdr_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_nv12_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_nv12_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_p010_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_p010_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_rg11b10ufloat_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_rg11b10ufloat_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_depth32floatstencil8_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_depth32floatstencil8_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_r64uint_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_r64uint_no_features); + + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_bgra8unorm_atomic); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_bgra8unorm_no_features); + + // Extra tests + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_astc_compression_astc_3d); + tests.push(TEXTURE_FORMAT_CAPABILITIES_CHECK_compression_bc_compression_bc_3d); +} + +#[derive(strum::EnumIter, PartialEq, Eq)] +enum UsageType { + Standard, + Multisample, + Transient, + D3, + Array, +} + +fn texture_format_capabilities_check( + ctx: TestingContext, + iter: impl Iterator, + format_features: wgpu::Features, + caps_features: wgpu::Features, +) { + use wgpu::TextureFormatFeatureFlags as FF; + use wgpu::TextureUsages as TU; + + let empty_features = caps_features.is_empty(); + let all_multisample_flags = FF::MULTISAMPLE_X16 + | FF::MULTISAMPLE_X8 + | FF::MULTISAMPLE_X4 + | FF::MULTISAMPLE_X2 + | FF::MULTISAMPLE_RESOLVE; + + const TEXTURE_DIM: u32 = 16; + + let mut errors = Vec::new(); + let mut encoder = ctx.device.create_command_encoder(&Default::default()); + + for format in iter { + let (actual_caps, caps) = get_caps(&ctx, format, &mut errors); + for usage_type in UsageType::iter() { + let mut caps = caps; + + if !format_features.contains(format.required_features()) { + panic!( + "Format {format:?} features not respected in test: requires {} but supplied {}", + format.required_features(), + format_features + ); + } + + let mut depth = 1; + let mut texture_dimension = wgpu::TextureDimension::D2; + let mut view_dim = wgpu::TextureViewDimension::D2; + let mut array_layer_count = None; + match usage_type { + UsageType::Multisample => { + caps.allowed_usages + .remove(TU::STORAGE_BINDING | TU::STORAGE_ATOMIC); + if !caps.flags.intersects(all_multisample_flags) { + continue; + } + } + UsageType::Transient => { + caps.allowed_usages &= TU::TRANSIENT | TU::RENDER_ATTACHMENT; + if caps.allowed_usages.is_empty() { + continue; + } + } + UsageType::Array => { + depth = 4; + view_dim = wgpu::TextureViewDimension::D2Array; + array_layer_count = Some(4); + } + UsageType::D3 => { + let can_3d = if format.has_depth_aspect() || format.has_stencil_aspect() { + false + } else if format.is_compressed() { + if format == wgpu::TextureFormat::Rgb9e5Ufloat { + true + } else if format.is_astc() { + ctx.device_features + .contains(wgpu::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D) + } else if format.is_bcn() { + ctx.device_features + .contains(wgpu::Features::TEXTURE_COMPRESSION_BC_SLICED_3D) + } else { + false + } + } else { + false + }; + if !can_3d { + continue; + } + depth = 4; + texture_dimension = wgpu::TextureDimension::D3; + view_dim = wgpu::TextureViewDimension::D3; + } + UsageType::Standard => (), + } + if usage_type != UsageType::Multisample { + caps.flags.remove(all_multisample_flags); + } + if usage_type != UsageType::Transient { + caps.allowed_usages.remove(TU::TRANSIENT); + } + + //let supports_transient = caps.allowed_usages.contains(wgpu::TextureUsages::TRANSIENT); + + let sample_count = if caps.flags.contains(FF::MULTISAMPLE_X16) { + 16 + } else if caps.flags.contains(FF::MULTISAMPLE_X8) { + 8 + } else if caps.flags.contains(FF::MULTISAMPLE_X4) { + 4 + } else if caps.flags.contains(FF::MULTISAMPLE_X2) { + 2 + } else { + 1 + }; + + let mut view_formats = Vec::new(); + if ctx + .adapter_downlevel_capabilities + .flags + .contains(wgpu::DownlevelFlags::VIEW_FORMATS) + && usage_type != UsageType::Transient + { + for other_format in wgpu::TextureFormat::iter() { + if other_format.remove_srgb_suffix() == format.remove_srgb_suffix() { + view_formats.push(other_format); + } + } + } else { + view_formats.push(format); + } + + eprintln!("Creating texture with format {format:?} and caps {actual_caps:?}"); + let texture_desc = wgpu::TextureDescriptor { + label: None, + size: wgpu::Extent3d { + width: TEXTURE_DIM, + height: TEXTURE_DIM, + depth_or_array_layers: depth, + }, + mip_level_count: 1, + sample_count, + dimension: texture_dimension, + format, + usage: caps.allowed_usages, + view_formats: &view_formats, + }; + let texture1 = ctx.device.create_texture(&texture_desc); + + if empty_features { + if usage_type != UsageType::Transient { + for other_format in &view_formats { + let (other_actual_caps, other_caps) = + get_caps(&ctx, *other_format, &mut Vec::new()); + eprintln!("Trying to create view with format {other_format:?} on texture with format {format:?} and caps {actual_caps:?}, and view format caps {other_actual_caps:?}"); + let _view = texture1.create_view(&wgpu::TextureViewDescriptor { + label: None, + format: Some(*other_format), + dimension: Some(view_dim), + usage: Some(caps.allowed_usages & other_caps.allowed_usages), + aspect: wgpu::TextureAspect::All, + base_mip_level: 0, + mip_level_count: None, + base_array_layer: 0, + array_layer_count, + }); + } + } + if caps.allowed_usages.contains(TU::COPY_SRC | TU::COPY_DST) { + eprintln!("Encoding copy"); + let texture2 = ctx.device.create_texture(&texture_desc); + encoder.copy_texture_to_texture( + wgpu::TexelCopyTextureInfoBase { + texture: &texture1, + mip_level: 0, + origin: wgpu::Origin3d::ZERO, + aspect: wgpu::TextureAspect::All, + }, + wgpu::TexelCopyTextureInfoBase { + texture: &texture2, + mip_level: 0, + origin: wgpu::Origin3d::ZERO, + aspect: wgpu::TextureAspect::All, + }, + wgpu::Extent3d { + width: TEXTURE_DIM, + height: TEXTURE_DIM, + depth_or_array_layers: 1, + }, + ); + } + } else if (ctx + .device_features + .contains(wgpu::Features::TEXTURE_INT64_ATOMIC) + && format == wgpu::TextureFormat::R64Uint) + || (ctx.device_features.contains(wgpu::Features::TEXTURE_ATOMIC) + && [wgpu::TextureFormat::R32Uint, wgpu::TextureFormat::R32Sint] + .contains(&format)) + { + // Use texture atomically + } + } + } + + if empty_features { + eprintln!("Attempting to record & submit command buffer"); + ctx.queue.submit(std::iter::once(encoder.finish())); + ctx.device + .poll(wgpu::PollType::wait_indefinitely()) + .unwrap(); + + if !errors.is_empty() { + panic!("Nonsensical capabilities: {errors:#?}"); + } + } +} + +fn get_caps( + ctx: &TestingContext, + format: wgpu::TextureFormat, + errors: &mut Vec, +) -> (wgpu::TextureFormatFeatures, wgpu::TextureFormatFeatures) { + use wgpu::TextureFormatFeatureFlags as FF; + use wgpu::TextureUsages as TU; + + let all_multisample_flags = FF::MULTISAMPLE_X16 + | FF::MULTISAMPLE_X8 + | FF::MULTISAMPLE_X4 + | FF::MULTISAMPLE_X2 + | FF::MULTISAMPLE_RESOLVE; + let all_storage_flags = FF::STORAGE_READ_ONLY | FF::STORAGE_READ_WRITE | FF::STORAGE_WRITE_ONLY; + + let actual_caps = if ctx + .device_features + .contains(wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES) + && ctx + .adapter_downlevel_capabilities + .flags + .contains(wgpu::DownlevelFlags::WEBGPU_TEXTURE_FORMAT_SUPPORT) + { + ctx.adapter.get_texture_format_features(format) + } else { + format.guaranteed_format_features(ctx.device_features) + }; + let mut caps = actual_caps; + if format == wgpu::TextureFormat::Rg11b10Ufloat { + if ctx + .device_features + .contains(wgpu::Features::RG11B10UFLOAT_RENDERABLE) + { + caps.allowed_usages |= TU::RENDER_ATTACHMENT; + } else { + caps.flags + .remove(all_multisample_flags | FF::MULTISAMPLE_RESOLVE); + } + } + if format == wgpu::TextureFormat::Bgra8Unorm { + if ctx + .device_features + .contains(wgpu::Features::BGRA8UNORM_STORAGE) + { + caps.allowed_usages |= TU::STORAGE_BINDING; + caps.flags |= FF::STORAGE_WRITE_ONLY; + } else { + caps.flags.remove(all_storage_flags | FF::STORAGE_ATOMIC); + caps.allowed_usages + .remove(TU::STORAGE_BINDING | TU::STORAGE_ATOMIC); + } + } + + if caps.flags.intersects(all_multisample_flags) + && !caps.allowed_usages.contains(TU::RENDER_ATTACHMENT) + { + errors.push(format!("Format {format:?} supports multisample but doesn't support being a render attachment, with caps {actual_caps:?}")); + caps.flags + .remove(all_multisample_flags | FF::MULTISAMPLE_RESOLVE); + } + if caps.flags.intersects(all_storage_flags) != caps.allowed_usages.contains(TU::STORAGE_BINDING) + { + errors.push(format!( + "Format {format:?} has mismatched STORAGE_BINDING support: {actual_caps:?}" + )); + caps.flags.remove(all_storage_flags | FF::STORAGE_ATOMIC); + caps.allowed_usages + .remove(TU::STORAGE_BINDING | TU::STORAGE_ATOMIC); + } + if caps.flags.contains(FF::STORAGE_ATOMIC) != caps.allowed_usages.contains(TU::STORAGE_ATOMIC) { + errors.push(format!( + "Format {format:?} has mismatched STORAGE_ATOMIC support: {actual_caps:?}" + )); + caps.flags.remove(FF::STORAGE_ATOMIC); + caps.allowed_usages.remove(TU::STORAGE_ATOMIC); + } + if caps.flags.contains(FF::STORAGE_ATOMIC) && !caps.flags.intersects(all_storage_flags) { + errors.push(format!( + "Format {format:?} supports STORAGE_ATOMIC but not STORAGE_BINDING: {actual_caps:?}" + )); + caps.flags.remove(FF::STORAGE_ATOMIC); + caps.allowed_usages.remove(TU::STORAGE_ATOMIC); + } + if caps.flags.contains(FF::MULTISAMPLE_RESOLVE) && !caps.flags.intersects(all_multisample_flags) + { + errors.push(format!( + "Format {format:?} supports MULTISAMPLE_RESOLVE but not MULTISAMPLE_*X: {actual_caps:?}" + )); + caps.flags.remove(FF::MULTISAMPLE_RESOLVE); + } + (actual_caps, caps) +} + +macro_rules! make_format_feature_functions { + ( + format_sets: [ + $( ($fmt_name:ident, $fmt_features:expr, $iter:expr,), )* + ], + feature_sets: $feature_sets:tt, + ) => { + $( + make_format_feature_functions_internal!( + format_set: ($fmt_name, $fmt_features, $iter,), + feature_sets: $feature_sets, + ); + )* + }; +} + +macro_rules! make_format_feature_functions_internal { + ( + format_set: ($fmt_name:ident, $fmt_features:expr, $iter:expr,), + feature_sets: [ + $( ($feat_name:ident, $feat_features:expr), )* + ], + ) => { + $( + paste::paste! { + #[gpu_test] + static []: GpuTestConfiguration = GpuTestConfiguration::new() + .parameters( + TestParameters::default() + .test_features_limits() + .features($fmt_features | $feat_features) + .enable_noop(), + ) + .run_sync(|ctx| { + let iter = $iter; + texture_format_capabilities_check(ctx, iter, $fmt_features, $feat_features) + }); + } + )* + }; +} + +// Not all of these are actually used, namely the compression 3d ones are mostly ignored +make_format_feature_functions!( + format_sets: [ + ( + compat, + wgpu::Features::empty(), + Box::new(wgpu::TextureFormat::iter().filter(|a| a.required_features().is_empty())), + ), + ( + native, + wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES, + Box::new(wgpu::TextureFormat::iter().filter(|a| { + (a.required_features() - wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES) + .is_empty() + })), + ), + ( + norm_16bit, + wgpu::Features::TEXTURE_FORMAT_16BIT_NORM, + Box::new(wgpu::TextureFormat::iter().filter(|a| { + a.required_features() + .contains(wgpu::Features::TEXTURE_FORMAT_16BIT_NORM) + && (a.required_features() + - (wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES + | wgpu::Features::TEXTURE_FORMAT_16BIT_NORM)) + .is_empty() + })), + ), + ( + compression_bc, + wgpu::Features::TEXTURE_COMPRESSION_BC, + Box::new(wgpu::TextureFormat::iter().filter(|a| { + a.required_features() + .contains(wgpu::Features::TEXTURE_COMPRESSION_BC) + && (a.required_features() + - (wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES + | wgpu::Features::TEXTURE_COMPRESSION_BC)) + .is_empty() + })), + ), + ( + compression_etc2, + wgpu::Features::TEXTURE_COMPRESSION_ETC2, + Box::new(wgpu::TextureFormat::iter().filter(|a| { + a.required_features() + .contains(wgpu::Features::TEXTURE_COMPRESSION_ETC2) + && (a.required_features() + - (wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES + | wgpu::Features::TEXTURE_COMPRESSION_ETC2)) + .is_empty() + })), + ), + ( + compression_astc, + wgpu::Features::TEXTURE_COMPRESSION_ASTC, + Box::new([ + wgpu::TextureFormat::Astc { + channel: wgpu::AstcChannel::Unorm, + block: wgpu::AstcBlock::B4x4, + }, + wgpu::TextureFormat::Astc { + channel: wgpu::AstcChannel::UnormSrgb, + block: wgpu::AstcBlock::B4x4, + }, + ].into_iter()), + ), + ( + compression_astc_hdr, + wgpu::Features::TEXTURE_COMPRESSION_ASTC_HDR, + Box::new(std::iter::once( + wgpu::TextureFormat::Astc { + channel: wgpu::AstcChannel::Hdr, + block: wgpu::AstcBlock::B4x4, + } + )), + ), + ( + nv12, + wgpu::Features::TEXTURE_FORMAT_NV12, + Box::new(std::iter::once(wgpu::TextureFormat::NV12)), + ), + ( + p010, + wgpu::Features::TEXTURE_FORMAT_P010, + Box::new(std::iter::once(wgpu::TextureFormat::P010)), + ), + ( + rg11b10ufloat, + wgpu::Features::RG11B10UFLOAT_RENDERABLE, + Box::new(std::iter::once(wgpu::TextureFormat::Rg11b10Ufloat)), + ), + ( + depth32floatstencil8, + wgpu::Features::DEPTH32FLOAT_STENCIL8, + Box::new(std::iter::once(wgpu::TextureFormat::Depth32FloatStencil8)), + ), + ( + r64uint, + wgpu::Features::TEXTURE_INT64_ATOMIC, + Box::new(std::iter::once(wgpu::TextureFormat::R64Uint)), + ), + ( + bgra8unorm, + wgpu::Features::BGRA8UNORM_STORAGE, + Box::new(std::iter::once(wgpu::TextureFormat::Bgra8Unorm)), + ), + ], + feature_sets: [ + (no_features, wgpu::Features::empty()), + (atomic, wgpu::Features::TEXTURE_ATOMIC), + (compression_bc_3d, wgpu::Features::TEXTURE_COMPRESSION_BC_SLICED_3D), + (compression_astc_3d, wgpu::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D), + ], +); diff --git a/wgpu-types/Cargo.toml b/wgpu-types/Cargo.toml index 7bb971892f4..31b5629745d 100644 --- a/wgpu-types/Cargo.toml +++ b/wgpu-types/Cargo.toml @@ -56,6 +56,7 @@ serde = { workspace = true, default-features = false, features = [ "alloc", "derive", ], optional = true } +strum.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] js-sys = { workspace = true, optional = true, default-features = false } diff --git a/wgpu-types/src/texture/format.rs b/wgpu-types/src/texture/format.rs index ad6ec503644..1e00fb851c7 100644 --- a/wgpu-types/src/texture/format.rs +++ b/wgpu-types/src/texture/format.rs @@ -7,10 +7,11 @@ use serde::{Deserialize, Serialize}; /// ASTC block dimensions #[repr(C)] -#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum AstcBlock { /// 4x4 block compressed texture. 16 bytes per block (8 bit/px). + #[default] B4x4, /// 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). B5x4, @@ -42,12 +43,13 @@ pub enum AstcBlock { /// ASTC RGBA channel #[repr(C)] -#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, Default)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum AstcChannel { /// 8 bit integer RGBA, [0, 255] converted to/from linear-color float [0, 1] in shader. /// /// [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. + #[default] Unorm, /// 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. /// @@ -82,7 +84,7 @@ pub enum AstcChannel { /// /// [sRGB transfer function]: https://en.wikipedia.org/wiki/SRGB#Transfer_function_(%22gamma%22) #[repr(C)] -#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, strum::EnumIter)] pub enum TextureFormat { // Normal 8 bit formats /// Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.