From 97175cf041edad51673793ab6362fa58bea738a5 Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Sun, 22 Jun 2025 19:00:33 +0200 Subject: [PATCH 1/4] cargo-gpu: update rust-gpu version, prevent validation errors in later commits --- Cargo.lock | 73 +++++++++++++++++++++++++++++++----- Cargo.toml | 7 +--- rust-gpu-bindless/Cargo.lock | 71 ++++++++++++++++++++++++++++++----- rust-gpu-bindless/Cargo.toml | 4 +- 4 files changed, 128 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f4e943c..b5d0980 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -233,6 +233,9 @@ name = "bitflags" version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] [[package]] name = "block" @@ -319,6 +322,38 @@ dependencies = [ "wayland-client", ] +[[package]] +name = "camino" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "cc" version = "1.2.19" @@ -2570,7 +2605,7 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_codegen_spirv" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "ahash", "ar", @@ -2585,6 +2620,7 @@ dependencies = [ "regex", "rspirv", "rustc-demangle", + "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", "rustix", "sanitize-filename", @@ -2597,14 +2633,20 @@ dependencies = [ "tracing-tree", ] +[[package]] +name = "rustc_codegen_spirv-target-specs" +version = "0.9.0" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" + [[package]] name = "rustc_codegen_spirv-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "rspirv", "serde", "serde_json", + "spirv", ] [[package]] @@ -2701,6 +2743,9 @@ name = "semver" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] [[package]] name = "serde" @@ -2980,29 +3025,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ "bitflags 2.9.0", + "serde", ] [[package]] name = "spirv-builder" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ + "cargo_metadata", "memchr", "raw-string", "rustc_codegen_spirv", + "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", + "semver", "serde", "serde_json", + "thiserror 2.0.12", ] [[package]] name = "spirv-std" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "bitflags 1.3.2", "bytemuck", "glam", + "libm", "num-traits", "spirv-std-macros", "spirv-std-types", @@ -3011,7 +3062,7 @@ dependencies = [ [[package]] name = "spirv-std-macros" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "proc-macro2", "quote", @@ -3022,20 +3073,22 @@ dependencies = [ [[package]] name = "spirv-std-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" [[package]] name = "spirv-tools" -version = "0.10.0" -source = "git+https://github.com/Rust-GPU/spirv-tools-rs.git?rev=611df9ddf98b94069293cf959e65987907fb7140#611df9ddf98b94069293cf959e65987907fb7140" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa073f1f465ad80b16f0e2b0151389c9fcfeee83c5daa4361fe8c1d24f0e0b0c" dependencies = [ "spirv-tools-sys", ] [[package]] name = "spirv-tools-sys" -version = "0.8.0" -source = "git+https://github.com/Rust-GPU/spirv-tools-rs.git?rev=611df9ddf98b94069293cf959e65987907fb7140#611df9ddf98b94069293cf959e65987907fb7140" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c95b52623ba771b5172dea9f04799928ce53ebc2ffc360c69d0fea3c3248d8" dependencies = [ "cc", ] diff --git a/Cargo.toml b/Cargo.toml index b5f597b..1560e80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,8 +61,8 @@ presser = "0.3.1" winit = { version = "0.30" } # rust-gpu -spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b", default-features = false } -spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b", features = ["bytemuck"] } +spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", default-features = false } +spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", features = ["bytemuck"] } # async futures = "0.3" @@ -138,9 +138,6 @@ rust-gpu-bindless-shaders = { path = "rust-gpu-bindless/crates/shaders" } rust-gpu-bindless-shader-builder = { path = "rust-gpu-bindless/crates/shader-builder" } rust-gpu-bindless-winit = { path = "rust-gpu-bindless/crates/winit" } -[patch.crates-io] -spirv-tools = { git = "https://github.com/Rust-GPU/spirv-tools-rs.git", rev = "611df9ddf98b94069293cf959e65987907fb7140" } - # Following is copied from rust-gpu workspace cargo.toml diff --git a/rust-gpu-bindless/Cargo.lock b/rust-gpu-bindless/Cargo.lock index eb6074c..d36599a 100644 --- a/rust-gpu-bindless/Cargo.lock +++ b/rust-gpu-bindless/Cargo.lock @@ -176,6 +176,9 @@ name = "bitflags" version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] [[package]] name = "block" @@ -256,6 +259,38 @@ dependencies = [ "wayland-client", ] +[[package]] +name = "camino" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "cc" version = "1.2.17" @@ -2187,7 +2222,7 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_codegen_spirv" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "ahash", "ar", @@ -2202,6 +2237,7 @@ dependencies = [ "regex", "rspirv", "rustc-demangle", + "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", "rustix 0.38.44", "sanitize-filename", @@ -2214,14 +2250,20 @@ dependencies = [ "tracing-tree", ] +[[package]] +name = "rustc_codegen_spirv-target-specs" +version = "0.9.0" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" + [[package]] name = "rustc_codegen_spirv-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "rspirv", "serde", "serde_json", + "spirv", ] [[package]] @@ -2331,6 +2373,9 @@ name = "semver" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] [[package]] name = "serde" @@ -2470,29 +2515,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ "bitflags 2.9.0", + "serde", ] [[package]] name = "spirv-builder" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ + "cargo_metadata", "memchr", "raw-string", "rustc_codegen_spirv", + "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", + "semver", "serde", "serde_json", + "thiserror 2.0.12", ] [[package]] name = "spirv-std" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "bitflags 1.3.2", "bytemuck", "glam", + "libm", "num-traits", "spirv-std-macros", "spirv-std-types", @@ -2501,7 +2552,7 @@ dependencies = [ [[package]] name = "spirv-std-macros" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" dependencies = [ "proc-macro2", "quote", @@ -2512,13 +2563,13 @@ dependencies = [ [[package]] name = "spirv-std-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b#ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b" +source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" [[package]] name = "spirv-tools" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcb3b0832881834994b7ec82b709ec5491043ceb4bf8101e27da6b5234b24261" +checksum = "aa073f1f465ad80b16f0e2b0151389c9fcfeee83c5daa4361fe8c1d24f0e0b0c" dependencies = [ "memchr", "spirv-tools-sys", @@ -2527,9 +2578,9 @@ dependencies = [ [[package]] name = "spirv-tools-sys" -version = "0.8.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e68b55a97aa6856e010a6f2477425875a97873e147bb0232160e73c45bdae7" +checksum = "f4c95b52623ba771b5172dea9f04799928ce53ebc2ffc360c69d0fea3c3248d8" dependencies = [ "cc", ] diff --git a/rust-gpu-bindless/Cargo.toml b/rust-gpu-bindless/Cargo.toml index 56275f9..c0adb4b 100644 --- a/rust-gpu-bindless/Cargo.toml +++ b/rust-gpu-bindless/Cargo.toml @@ -46,8 +46,8 @@ integration-test = { path = "tests/integration-test" } integration-test-shader = { path = "tests/integration-test-shader" } # vulkan -spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b", default-features = false } -spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "ea25c7e71770ae4bd6446b83c5cdeee3fc5e295b", features = ["bytemuck"] } +spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", default-features = false } +spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", features = ["bytemuck"] } ash = "0.38.0" ash-window = "0.13.0" gpu-allocator = { version = "0.27.0", features = ["vulkan"] } From 123f9a9b5e53c6b64488c5dc9fadea6ec1406610 Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Fri, 16 May 2025 00:10:23 +0200 Subject: [PATCH 2/4] cargo-gpu: replace spirv-builder with cargo-gpu --- Cargo.lock | 583 ++++++------- Cargo.toml | 4 +- rust-gpu-bindless/Cargo.lock | 789 +++++++++--------- rust-gpu-bindless/Cargo.toml | 4 +- rust-gpu-bindless/crates/egui/build.rs | 7 +- .../crates/shader-builder/Cargo.toml | 5 +- .../crates/shader-builder/src/lib.rs | 27 +- .../tests/integration-test/build.rs | 2 +- space-engine-shader-builder/src/lib.rs | 8 +- space-engine/build.rs | 2 +- 10 files changed, 725 insertions(+), 706 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5d0980..16939d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,12 +46,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "android-activity" version = "0.6.0" @@ -135,12 +129,6 @@ version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" -[[package]] -name = "ar" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69" - [[package]] name = "arboard" version = "3.5.0" @@ -324,11 +312,31 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.10" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-gpu" +version = "0.1.0" +source = "git+https://github.com/rust-gpu/cargo-gpu?rev=d097aa1cdcabb2f78b634f39614287b269000df4#d097aa1cdcabb2f78b634f39614287b269000df4" dependencies = [ + "anyhow", + "cargo_metadata", + "clap", + "crossterm", + "directories", + "env_logger", + "log", + "relative-path", + "rustc_codegen_spirv-target-specs", + "semver", "serde", + "serde_json", + "spirv-builder", ] [[package]] @@ -385,9 +393,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clap" -version = "4.5.36" +version = "4.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04" +checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071" dependencies = [ "clap_builder", "clap_derive", @@ -395,9 +403,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.36" +version = "4.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5" +checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2" dependencies = [ "anstream", "anstyle", @@ -493,12 +501,6 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -601,6 +603,31 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.9.0", + "crossterm_winapi", + "mio", + "parking_lot", + "rustix", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + [[package]] name = "cursor-icon" version = "1.1.0" @@ -608,16 +635,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] -name = "derive_more" -version = "0.99.19" +name = "directories" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn", + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", ] [[package]] @@ -705,22 +740,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] -name = "elsa" -version = "1.11.2" +name = "emath" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abf33c656a7256451ebb7d0082c5a471820c31269e49d807c538c252352186e" +checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" dependencies = [ - "indexmap", - "stable_deref_trait", + "bytemuck", ] [[package]] -name = "emath" -version = "0.29.1" +name = "env_logger" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ - "bytemuck", + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", ] [[package]] @@ -759,7 +797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -768,12 +806,6 @@ version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - [[package]] name = "fdeflate" version = "0.3.7" @@ -783,6 +815,18 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + [[package]] name = "flate2" version = "1.1.1" @@ -802,12 +846,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foreign-types" version = "0.5.0" @@ -844,6 +882,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + [[package]] name = "futures" version = "0.3.31" @@ -979,17 +1026,6 @@ dependencies = [ "wasi 0.14.2+wasi-0.2.4", ] -[[package]] -name = "gimli" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e1d97fbe9722ba9bbd0c97051c2956e726562b61f86a25a4360398a40edfc9" -dependencies = [ - "fallible-iterator", - "indexmap", - "stable_deref_trait", -] - [[package]] name = "glam" version = "0.30.2" @@ -1050,24 +1086,11 @@ dependencies = [ "windows", ] -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "foldhash", -] [[package]] name = "heck" @@ -1087,6 +1110,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +[[package]] +name = "hermit-abi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" + [[package]] name = "home" version = "0.5.11" @@ -1096,6 +1125,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "humantime" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" + [[package]] name = "icu_collections" version = "1.5.0" @@ -1256,7 +1291,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", ] [[package]] @@ -1265,6 +1300,35 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" +[[package]] +name = "inotify" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + [[package]] name = "intel_tex_2" version = "0.4.0" @@ -1275,10 +1339,15 @@ dependencies = [ ] [[package]] -name = "internal-iterator" -version = "0.2.3" +name = "is-terminal" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969ee3fc68ec2e88eb21434ce4d9b7e1600d1ce92ff974560a6c4a304f5124b9" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi 0.5.1", + "libc", + "windows-sys 0.52.0", +] [[package]] name = "is_terminal_polyfill" @@ -1380,6 +1449,26 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00af7901ba50898c9e545c24d5c580c96a982298134e8037d8978b6594782c07" +[[package]] +name = "kqueue" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -1399,7 +1488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -1447,12 +1536,6 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -[[package]] -name = "longest-increasing-subsequence" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86" - [[package]] name = "loom" version = "0.7.2" @@ -1578,6 +1661,18 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + [[package]] name = "models" version = "0.1.0" @@ -1646,22 +1741,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "notify" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009" dependencies = [ - "overload", - "winapi", + "bitflags 2.9.0", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio", + "notify-types", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "notify-types" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585d3cb5e12e01aed9e8a1f70d5c6b5e86fe2a6e48fc8cd0b3e0b8df6f6eb174" +dependencies = [ + "instant", ] [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "windows-sys 0.52.0", + "overload", + "winapi", ] [[package]] @@ -1993,21 +2107,6 @@ dependencies = [ "objc2-foundation 0.2.2", ] -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "crc32fast", - "flate2", - "hashbrown 0.15.2", - "indexmap", - "memchr", - "ruzstd", - "wasmparser", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -2020,6 +2119,12 @@ version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7e7ab6068cdba9928db83674b18fe7aa2efbaa9920698d260ecbaf7906c6548" +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "orbclient" version = "0.3.48" @@ -2344,6 +2449,17 @@ dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 1.0.69", +] + [[package]] name = "regex" version = "1.11.1" @@ -2388,6 +2504,12 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "rend" version = "0.5.2" @@ -2401,7 +2523,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e147371c75553e1e2fcdb483944a8540b8438c31426279553b9a8182a9b7b65" dependencies = [ "bytes", - "hashbrown 0.15.2", + "hashbrown", "indexmap", "munge", "ptr_meta", @@ -2542,11 +2664,11 @@ version = "0.1.0" dependencies = [ "anyhow", "ash", + "cargo-gpu", "proc-macro-crate", "proc-macro2", "quote", "rust-gpu-bindless-macro-utils", - "spirv-builder", "syn", "thiserror 2.0.12", ] @@ -2584,12 +2706,6 @@ dependencies = [ "winit", ] -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -2602,46 +2718,16 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustc_codegen_spirv" -version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" -dependencies = [ - "ahash", - "ar", - "bytemuck", - "either", - "indexmap", - "itertools", - "lazy_static", - "libc", - "log", - "object", - "regex", - "rspirv", - "rustc-demangle", - "rustc_codegen_spirv-target-specs", - "rustc_codegen_spirv-types", - "rustix", - "sanitize-filename", - "smallvec", - "spirt", - "spirv-tools", - "thorin-dwp", - "tracing", - "tracing-subscriber", - "tracing-tree", -] - [[package]] name = "rustc_codegen_spirv-target-specs" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c89eaf493b3dfc730cda42a77014aad65e03213992c7afe0dff60a9f7d3dd94" [[package]] name = "rustc_codegen_spirv-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "git+https://github.com/Rust-GPU/rust-gpu?rev=86fc48032c4cd4afb74f1d81ae859711d20386a1#86fc48032c4cd4afb74f1d81ae859711d20386a1" dependencies = [ "rspirv", "serde", @@ -2649,15 +2735,6 @@ dependencies = [ "spirv", ] -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.38.44" @@ -2666,11 +2743,9 @@ checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ "bitflags 2.9.0", "errno", - "itoa", "libc", "linux-raw-sys", - "once_cell", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2679,15 +2754,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" -[[package]] -name = "ruzstd" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" -dependencies = [ - "twox-hash", -] - [[package]] name = "ryu" version = "1.0.20" @@ -2703,16 +2769,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "sanitize-filename" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c502bdb638f1396509467cb0580ef3b29aa2a45c5d43e5d84928241280296c" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -2794,6 +2850,36 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +dependencies = [ + "libc", + "mio", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + [[package]] name = "simd-adler32" version = "0.3.7" @@ -2814,9 +2900,6 @@ name = "smallvec" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" -dependencies = [ - "serde", -] [[package]] name = "smithay-client-toolkit" @@ -2997,27 +3080,6 @@ dependencies = [ "rust-gpu-bindless-shader-builder", ] -[[package]] -name = "spirt" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d5968bd2a36466468aac637b355776f080edfb0c6f769b2b99b9708260c42a" -dependencies = [ - "arrayvec", - "bytemuck", - "derive_more", - "elsa", - "indexmap", - "internal-iterator", - "itertools", - "lazy_static", - "longest-increasing-subsequence", - "rustc-hash 1.1.0", - "serde", - "serde_json", - "smallvec", -] - [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -3031,13 +3093,12 @@ dependencies = [ [[package]] name = "spirv-builder" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "git+https://github.com/Rust-GPU/rust-gpu?rev=86fc48032c4cd4afb74f1d81ae859711d20386a1#86fc48032c4cd4afb74f1d81ae859711d20386a1" dependencies = [ - "cargo_metadata", + "clap", "memchr", + "notify", "raw-string", - "rustc_codegen_spirv", - "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", "semver", "serde", @@ -3075,24 +3136,6 @@ name = "spirv-std-types" version = "0.9.0" source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" -[[package]] -name = "spirv-tools" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa073f1f465ad80b16f0e2b0151389c9fcfeee83c5daa4361fe8c1d24f0e0b0c" -dependencies = [ - "spirv-tools-sys", -] - -[[package]] -name = "spirv-tools-sys" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c95b52623ba771b5172dea9f04799928ce53ebc2ffc360c69d0fea3c3248d8" -dependencies = [ - "cc", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -3154,6 +3197,15 @@ dependencies = [ "syn", ] +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.69" @@ -3194,18 +3246,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thorin-dwp" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813ba76597db32dc4f6992fd8bf8f394715b88d352fd97401da67dab6283b4c6" -dependencies = [ - "gimli", - "hashbrown 0.14.5", - "object", - "tracing", -] - [[package]] name = "thread_local" version = "1.1.8" @@ -3326,16 +3366,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-serde" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" -dependencies = [ - "serde", - "tracing-core", -] - [[package]] name = "tracing-subscriber" version = "0.3.19" @@ -3343,30 +3373,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", - "nu-ansi-term 0.46.0", + "nu-ansi-term", "once_cell", "regex", - "serde", - "serde_json", "sharded-slab", "smallvec", "thread_local", "tracing", "tracing-core", "tracing-log", - "tracing-serde", -] - -[[package]] -name = "tracing-tree" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe" -dependencies = [ - "nu-ansi-term 0.50.1", - "tracing-core", - "tracing-log", - "tracing-subscriber", ] [[package]] @@ -3387,7 +3402,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f" dependencies = [ "cc", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -3396,16 +3411,6 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - [[package]] name = "typewit" version = "1.11.0" @@ -3582,15 +3587,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "wasmparser" -version = "0.222.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa210fd1788e6b37a1d1930f3389c48e1d6ebd1a013d34fa4b7f9e3e3bf03146" -dependencies = [ - "bitflags 2.9.0", -] - [[package]] name = "wayland-backend" version = "0.3.8" @@ -3759,7 +3755,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -3841,6 +3837,15 @@ dependencies = [ "windows-targets 0.42.2", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" diff --git a/Cargo.toml b/Cargo.toml index 1560e80..0ed5eb8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,7 +49,7 @@ rust-gpu-bindless-egui-shaders = { git = "https://github.com/Firestar99/rust-gpu rust-gpu-bindless-macro-utils = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a" } rust-gpu-bindless-macros = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a" } rust-gpu-bindless-shaders = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a" } -rust-gpu-bindless-shader-builder = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a", default-features = false, features = ["use-compiled-tools"] } +rust-gpu-bindless-shader-builder = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a" } rust-gpu-bindless-winit = { git = "https://github.com/Firestar99/rust-gpu-bindless.git", rev = "11b3cf34dea82cb063d84851988f2a1617e5144a" } # vulkan @@ -61,7 +61,7 @@ presser = "0.3.1" winit = { version = "0.30" } # rust-gpu -spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", default-features = false } +cargo-gpu = { git = "https://github.com/rust-gpu/cargo-gpu", rev = "d097aa1cdcabb2f78b634f39614287b269000df4" } spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", features = ["bytemuck"] } # async diff --git a/rust-gpu-bindless/Cargo.lock b/rust-gpu-bindless/Cargo.lock index d36599a..9a40f31 100644 --- a/rust-gpu-bindless/Cargo.lock +++ b/rust-gpu-bindless/Cargo.lock @@ -18,12 +18,6 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - [[package]] name = "ahash" version = "0.8.11" @@ -31,7 +25,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -46,12 +40,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "android-activity" version = "0.6.0" @@ -79,6 +67,56 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +dependencies = [ + "anstyle", + "once_cell", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.97" @@ -94,12 +132,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ar" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69" - [[package]] name = "arboard" version = "3.4.1" @@ -242,7 +274,7 @@ dependencies = [ "bitflags 2.9.0", "log", "polling", - "rustix 0.38.44", + "rustix", "slab", "thiserror 1.0.69", ] @@ -254,20 +286,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop", - "rustix 0.38.44", + "rustix", "wayland-backend", "wayland-client", ] [[package]] name = "camino" -version = "1.1.10" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] +[[package]] +name = "cargo-gpu" +version = "0.1.0" +source = "git+https://github.com/rust-gpu/cargo-gpu?rev=d097aa1cdcabb2f78b634f39614287b269000df4#d097aa1cdcabb2f78b634f39614287b269000df4" +dependencies = [ + "anyhow", + "cargo_metadata", + "clap", + "crossterm", + "directories", + "env_logger", + "log", + "relative-path", + "rustc_codegen_spirv-target-specs", + "semver", + "serde", + "serde_json", + "spirv-builder", +] + [[package]] name = "cargo-platform" version = "0.1.9" @@ -320,6 +372,46 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "clap" +version = "4.5.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + [[package]] name = "clipboard-win" version = "5.4.0" @@ -365,6 +457,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecdffb913a326b6c642290a0d0ec8e8d6597291acdc07cc4c9cb4b3635d44cf9" +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "combine" version = "4.6.7" @@ -390,12 +488,6 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -446,15 +538,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - [[package]] name = "crossbeam-queue" version = "0.3.12" @@ -470,6 +553,31 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.9.0", + "crossterm_winapi", + "mio", + "parking_lot", + "rustix", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + [[package]] name = "cursor-icon" version = "1.1.0" @@ -477,16 +585,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] -name = "derive_more" -version = "0.99.19" +name = "directories" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn", + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", ] [[package]] @@ -598,16 +714,6 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -[[package]] -name = "elsa" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abf33c656a7256451ebb7d0082c5a471820c31269e49d807c538c252352186e" -dependencies = [ - "indexmap", - "stable_deref_trait", -] - [[package]] name = "emath" version = "0.29.1" @@ -638,6 +744,19 @@ dependencies = [ "syn", ] +[[package]] +name = "env_logger" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + [[package]] name = "epaint" version = "0.29.1" @@ -684,33 +803,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" [[package]] -name = "fallible-iterator" -version = "0.3.0" +name = "filetime" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "flate2" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ - "crc32fast", - "miniz_oxide", + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", ] -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foreign-types" version = "0.5.0" @@ -747,6 +850,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + [[package]] name = "futures" version = "0.3.31" @@ -867,30 +979,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", -] - -[[package]] -name = "gimli" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e1d97fbe9722ba9bbd0c97051c2956e726562b61f86a25a4360398a40edfc9" -dependencies = [ - "fallible-iterator", - "indexmap", - "stable_deref_trait", + "wasi", ] [[package]] @@ -918,22 +1007,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] -name = "hashbrown" -version = "0.15.2" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "foldhash", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" @@ -941,6 +1023,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +[[package]] +name = "hermit-abi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" + [[package]] name = "home" version = "0.5.11" @@ -950,6 +1038,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "humantime" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" + [[package]] name = "icu_collections" version = "1.5.0" @@ -1096,7 +1190,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", +] + +[[package]] +name = "inotify" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", ] [[package]] @@ -1131,10 +1254,21 @@ dependencies = [ ] [[package]] -name = "internal-iterator" -version = "0.2.3" +name = "is-terminal" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969ee3fc68ec2e88eb21434ce4d9b7e1600d1ce92ff974560a6c4a304f5124b9" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi 0.5.1", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -1219,6 +1353,26 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00af7901ba50898c9e545c24d5c580c96a982298134e8037d8978b6594782c07" +[[package]] +name = "kqueue" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -1264,12 +1418,6 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" -[[package]] -name = "linux-raw-sys" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" - [[package]] name = "litemap" version = "0.7.5" @@ -1292,12 +1440,6 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" -[[package]] -name = "longest-increasing-subsequence" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86" - [[package]] name = "loom" version = "0.7.2" @@ -1361,12 +1503,15 @@ dependencies = [ ] [[package]] -name = "miniz_oxide" -version = "0.8.5" +name = "mio" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "adler2", + "libc", + "log", + "wasi", + "windows-sys 0.52.0", ] [[package]] @@ -1406,22 +1551,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "notify" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009" dependencies = [ - "overload", - "winapi", + "bitflags 2.9.0", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio", + "notify-types", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "notify-types" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585d3cb5e12e01aed9e8a1f70d5c6b5e86fe2a6e48fc8cd0b3e0b8df6f6eb174" +dependencies = [ + "instant", ] [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "windows-sys 0.52.0", + "overload", + "winapi", ] [[package]] @@ -1697,21 +1861,6 @@ dependencies = [ "objc2-foundation 0.2.2", ] -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "crc32fast", - "flate2", - "hashbrown 0.15.2", - "indexmap", - "memchr", - "ruzstd", - "wasmparser", -] - [[package]] name = "once_cell" version = "1.21.1" @@ -1724,6 +1873,12 @@ version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7e7ab6068cdba9928db83674b18fe7aa2efbaa9920698d260ecbaf7906c6548" +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "orbclient" version = "0.3.48" @@ -1823,9 +1978,9 @@ checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.44", + "rustix", "tracing", "windows-sys 0.59.0", ] @@ -1926,12 +2081,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "r-efi" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" - [[package]] name = "rangemap" version = "1.5.1" @@ -1980,6 +2129,17 @@ dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror 1.0.69", +] + [[package]] name = "regex" version = "1.11.1" @@ -2024,6 +2184,12 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "rspirv" version = "0.12.0+sdk-1.3.268.0" @@ -2158,12 +2324,12 @@ version = "0.1.0" dependencies = [ "anyhow", "ash", + "cargo-gpu", "prettyplease", "proc-macro-crate", "proc-macro2", "quote", "rust-gpu-bindless-macro-utils", - "spirv-builder", "syn", "thiserror 2.0.12", ] @@ -2201,12 +2367,6 @@ dependencies = [ "winit", ] -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -2219,46 +2379,16 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustc_codegen_spirv" -version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" -dependencies = [ - "ahash", - "ar", - "bytemuck", - "either", - "indexmap", - "itertools", - "lazy_static", - "libc", - "log", - "object", - "regex", - "rspirv", - "rustc-demangle", - "rustc_codegen_spirv-target-specs", - "rustc_codegen_spirv-types", - "rustix 0.38.44", - "sanitize-filename", - "smallvec", - "spirt", - "spirv-tools", - "thorin-dwp", - "tracing", - "tracing-subscriber", - "tracing-tree", -] - [[package]] name = "rustc_codegen_spirv-target-specs" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c89eaf493b3dfc730cda42a77014aad65e03213992c7afe0dff60a9f7d3dd94" [[package]] name = "rustc_codegen_spirv-types" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "git+https://github.com/Rust-GPU/rust-gpu?rev=86fc48032c4cd4afb74f1d81ae859711d20386a1#86fc48032c4cd4afb74f1d81ae859711d20386a1" dependencies = [ "rspirv", "serde", @@ -2266,40 +2396,16 @@ dependencies = [ "spirv", ] -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.9.0", - "errno", - "itoa", - "libc", - "linux-raw-sys 0.4.15", - "once_cell", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" dependencies = [ "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys 0.9.3", + "linux-raw-sys", "windows-sys 0.59.0", ] @@ -2309,15 +2415,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" -[[package]] -name = "ruzstd" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" -dependencies = [ - "twox-hash", -] - [[package]] name = "ryu" version = "1.0.20" @@ -2333,16 +2430,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "sanitize-filename" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c502bdb638f1396509467cb0580ef3b29aa2a45c5d43e5d84928241280296c" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -2424,6 +2511,36 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +dependencies = [ + "libc", + "mio", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + [[package]] name = "slab" version = "0.4.9" @@ -2438,9 +2555,6 @@ name = "smallvec" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" -dependencies = [ - "serde", -] [[package]] name = "smithay-client-toolkit" @@ -2455,7 +2569,7 @@ dependencies = [ "libc", "log", "memmap2", - "rustix 0.38.44", + "rustix", "thiserror 1.0.69", "wayland-backend", "wayland-client", @@ -2487,27 +2601,6 @@ dependencies = [ "serde", ] -[[package]] -name = "spirt" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d5968bd2a36466468aac637b355776f080edfb0c6f769b2b99b9708260c42a" -dependencies = [ - "arrayvec", - "bytemuck", - "derive_more", - "elsa", - "indexmap", - "internal-iterator", - "itertools", - "lazy_static", - "longest-increasing-subsequence", - "rustc-hash 1.1.0", - "serde", - "serde_json", - "smallvec", -] - [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -2521,13 +2614,12 @@ dependencies = [ [[package]] name = "spirv-builder" version = "0.9.0" -source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" +source = "git+https://github.com/Rust-GPU/rust-gpu?rev=86fc48032c4cd4afb74f1d81ae859711d20386a1#86fc48032c4cd4afb74f1d81ae859711d20386a1" dependencies = [ - "cargo_metadata", + "clap", "memchr", + "notify", "raw-string", - "rustc_codegen_spirv", - "rustc_codegen_spirv-target-specs", "rustc_codegen_spirv-types", "semver", "serde", @@ -2565,26 +2657,6 @@ name = "spirv-std-types" version = "0.9.0" source = "git+https://github.com/rust-gpu/rust-gpu?rev=e6d017d5504c4441a84edcc27f4eca61de6fc8cf#e6d017d5504c4441a84edcc27f4eca61de6fc8cf" -[[package]] -name = "spirv-tools" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa073f1f465ad80b16f0e2b0151389c9fcfeee83c5daa4361fe8c1d24f0e0b0c" -dependencies = [ - "memchr", - "spirv-tools-sys", - "tempfile", -] - -[[package]] -name = "spirv-tools-sys" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c95b52623ba771b5172dea9f04799928ce53ebc2ffc360c69d0fea3c3248d8" -dependencies = [ - "cc", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2603,6 +2675,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "superluminal-perf" version = "0.1.1" @@ -2641,16 +2719,12 @@ dependencies = [ ] [[package]] -name = "tempfile" -version = "3.19.1" +name = "termcolor" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ - "fastrand", - "getrandom 0.3.2", - "once_cell", - "rustix 1.0.3", - "windows-sys 0.59.0", + "winapi-util", ] [[package]] @@ -2693,18 +2767,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thorin-dwp" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813ba76597db32dc4f6992fd8bf8f394715b88d352fd97401da67dab6283b4c6" -dependencies = [ - "gimli", - "hashbrown 0.14.5", - "object", - "tracing", -] - [[package]] name = "thread_local" version = "1.1.8" @@ -2810,16 +2872,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-serde" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" -dependencies = [ - "serde", - "tracing-core", -] - [[package]] name = "tracing-subscriber" version = "0.3.19" @@ -2827,30 +2879,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", - "nu-ansi-term 0.46.0", + "nu-ansi-term", "once_cell", "regex", - "serde", - "serde_json", "sharded-slab", "smallvec", "thread_local", "tracing", "tracing-core", "tracing-log", - "tracing-serde", -] - -[[package]] -name = "tracing-tree" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe" -dependencies = [ - "nu-ansi-term 0.50.1", - "tracing-core", - "tracing-log", - "tracing-subscriber", ] [[package]] @@ -2880,16 +2917,6 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - [[package]] name = "typewit" version = "1.11.0" @@ -2952,6 +2979,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "valuable" version = "0.1.1" @@ -2980,15 +3013,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -dependencies = [ - "wit-bindgen-rt", -] - [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -3060,15 +3084,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "wasmparser" -version = "0.222.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa210fd1788e6b37a1d1930f3389c48e1d6ebd1a013d34fa4b7f9e3e3bf03146" -dependencies = [ - "bitflags 2.9.0", -] - [[package]] name = "wayland-backend" version = "0.3.8" @@ -3077,7 +3092,7 @@ checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf" dependencies = [ "cc", "downcast-rs", - "rustix 0.38.44", + "rustix", "scoped-tls", "smallvec", "wayland-sys", @@ -3090,7 +3105,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f" dependencies = [ "bitflags 2.9.0", - "rustix 0.38.44", + "rustix", "wayland-backend", "wayland-scanner", ] @@ -3112,7 +3127,7 @@ version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a93029cbb6650748881a00e4922b076092a6a08c11e7fbdb923f064b23968c5d" dependencies = [ - "rustix 0.38.44", + "rustix", "wayland-client", "xcursor", ] @@ -3319,6 +3334,15 @@ dependencies = [ "windows-targets 0.42.2", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -3547,7 +3571,7 @@ dependencies = [ "pin-project", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.44", + "rustix", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -3576,15 +3600,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.0", -] - [[package]] name = "write16" version = "1.0.0" @@ -3619,7 +3634,7 @@ dependencies = [ "libc", "libloading", "once_cell", - "rustix 0.38.44", + "rustix", "x11rb-protocol", ] diff --git a/rust-gpu-bindless/Cargo.toml b/rust-gpu-bindless/Cargo.toml index c0adb4b..3addd96 100644 --- a/rust-gpu-bindless/Cargo.toml +++ b/rust-gpu-bindless/Cargo.toml @@ -40,13 +40,13 @@ rust-gpu-bindless-egui-shaders = { path = "crates/egui-shaders" } rust-gpu-bindless-macro-utils = { path = "crates/macro-utils" } rust-gpu-bindless-macros = { path = "crates/macros" } rust-gpu-bindless-shaders = { path = "crates/shaders" } -rust-gpu-bindless-shader-builder = { path = "crates/shader-builder", default-features = false, features = ["use-installed-tools"] } +rust-gpu-bindless-shader-builder = { path = "crates/shader-builder" } rust-gpu-bindless-winit = { path = "crates/winit" } integration-test = { path = "tests/integration-test" } integration-test-shader = { path = "tests/integration-test-shader" } # vulkan -spirv-builder = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", default-features = false } +cargo-gpu = { git = "https://github.com/rust-gpu/cargo-gpu", rev = "d097aa1cdcabb2f78b634f39614287b269000df4" } spirv-std = { git = "https://github.com/rust-gpu/rust-gpu", rev = "e6d017d5504c4441a84edcc27f4eca61de6fc8cf", features = ["bytemuck"] } ash = "0.38.0" ash-window = "0.13.0" diff --git a/rust-gpu-bindless/crates/egui/build.rs b/rust-gpu-bindless/crates/egui/build.rs index 01c013f..c7df406 100644 --- a/rust-gpu-bindless/crates/egui/build.rs +++ b/rust-gpu-bindless/crates/egui/build.rs @@ -1,12 +1,11 @@ -use rust_gpu_bindless_shader_builder::ShaderSymbolsBuilder; -use std::error::Error; +use rust_gpu_bindless_shader_builder::{anyhow, ShaderSymbolsBuilder}; -fn main() -> Result<(), Box> { +fn main() -> anyhow::Result<()> { ShaderSymbolsBuilder::new_relative_path( "egui-shaders", "rust_gpu_bindless_egui_shaders", "spirv-unknown-vulkan1.2", - ) + )? .target_dir_path("spirv-builder-egui-shaders") .build()?; Ok(()) diff --git a/rust-gpu-bindless/crates/shader-builder/Cargo.toml b/rust-gpu-bindless/crates/shader-builder/Cargo.toml index e83c2d8..9f8042b 100644 --- a/rust-gpu-bindless/crates/shader-builder/Cargo.toml +++ b/rust-gpu-bindless/crates/shader-builder/Cargo.toml @@ -10,9 +10,6 @@ repository.workspace = true workspace = true [features] -default = ["use-compiled-tools"] -use-installed-tools = ["spirv-builder/use-installed-tools"] -use-compiled-tools = ["spirv-builder/use-compiled-tools"] use-pretty-print = ["dep:prettyplease"] [dependencies] @@ -23,7 +20,7 @@ rust-gpu-bindless-macro-utils = { workspace = true } ash = { workspace = true } # rust-gpu -spirv-builder = { workspace = true } +cargo-gpu = { workspace = true } # codegen proc-macro2 = { workspace = true } diff --git a/rust-gpu-bindless/crates/shader-builder/src/lib.rs b/rust-gpu-bindless/crates/shader-builder/src/lib.rs index bf1f5ca..e99736c 100644 --- a/rust-gpu-bindless/crates/shader-builder/src/lib.rs +++ b/rust-gpu-bindless/crates/shader-builder/src/lib.rs @@ -1,4 +1,5 @@ use crate::codegen::{codegen_shader_symbols, CodegenOptions}; +use cargo_gpu::Install; use proc_macro_crate::FoundCrate; use spirv_builder::{ Capability, CompileResult, MetadataPrintout, ModuleResult, ShaderPanicStrategy, SpirvBuilder, SpirvMetadata, @@ -9,7 +10,9 @@ use std::path::{Path, PathBuf}; pub mod codegen; pub mod symbols; -pub use spirv_builder; +pub use anyhow; +use anyhow::Context; +pub use cargo_gpu::spirv_builder; pub struct ShaderSymbolsBuilder { spirv_builder: SpirvBuilder, @@ -21,7 +24,7 @@ impl ShaderSymbolsBuilder { /// Build the shader crate named `crate_name` at path `../{crate_name}` relative to your `Cargo.toml`. If your crate /// name and crate path do not match, use the [`Self::new_relative_path`] or [`Self::new_absolute_path`] functions /// instead. - pub fn new(crate_name: &str, target: impl Into) -> Self { + pub fn new(crate_name: &str, target: &str) -> anyhow::Result { let found_crate = proc_macro_crate::crate_name(crate_name).unwrap(); let crate_ident = match &found_crate { FoundCrate::Itself => crate_name, @@ -32,8 +35,9 @@ impl ShaderSymbolsBuilder { /// Build the shader crate at path `../{relative_crate_path}` relative to your `Cargo.toml` and assume the crate is /// accessible with the ident `crate_ident`. - pub fn new_relative_path(relative_crate_path: &str, crate_ident: &str, target: impl Into) -> Self { - let manifest_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); + pub fn new_relative_path(relative_crate_path: &str, crate_ident: &str, target: &str) -> anyhow::Result { + let manifest_dir = + env::var("CARGO_MANIFEST_DIR").context("missing env var, must be called within a build script")?; let crate_path = [&manifest_dir, "..", relative_crate_path] .iter() .copied() @@ -43,13 +47,12 @@ impl ShaderSymbolsBuilder { /// Build the shader crate at path `absolute_crate_path` and assume the crate is /// accessible with the ident `crate_ident`. - pub fn new_absolute_path( - absolute_crate_path: impl AsRef, - crate_ident: &str, - target: impl Into, - ) -> Self { - Self { - spirv_builder: SpirvBuilder::new(absolute_crate_path, target) + pub fn new_absolute_path(absolute_crate_path: PathBuf, crate_ident: &str, target: &str) -> anyhow::Result { + let install = Install::from_shader_crate(absolute_crate_path.clone()).run()?; + + Ok(Self { + spirv_builder: install + .to_spirv_builder(absolute_crate_path, target) // we want multiple *.spv files for vulkano's shader! macro to only generate needed structs .multimodule(true) // has to be DependencyOnly! @@ -79,7 +82,7 @@ impl ShaderSymbolsBuilder { shader_symbols_path: String::from("shader_symbols.rs"), }), crate_name: String::from(crate_ident), - } + }) } pub fn with_spirv_builder(self, f: F) -> Self diff --git a/rust-gpu-bindless/tests/integration-test/build.rs b/rust-gpu-bindless/tests/integration-test/build.rs index 431a23a..699ef83 100644 --- a/rust-gpu-bindless/tests/integration-test/build.rs +++ b/rust-gpu-bindless/tests/integration-test/build.rs @@ -1,6 +1,6 @@ use rust_gpu_bindless_shader_builder::ShaderSymbolsBuilder; fn main() -> anyhow::Result<()> { - ShaderSymbolsBuilder::new("integration-test-shader", "spirv-unknown-vulkan1.2").build()?; + ShaderSymbolsBuilder::new("integration-test-shader", "spirv-unknown-vulkan1.2")?.build()?; Ok(()) } diff --git a/space-engine-shader-builder/src/lib.rs b/space-engine-shader-builder/src/lib.rs index 728435d..1be7809 100644 --- a/space-engine-shader-builder/src/lib.rs +++ b/space-engine-shader-builder/src/lib.rs @@ -1,10 +1,10 @@ use rust_gpu_bindless_shader_builder::spirv_builder::{Capability, ShaderPanicStrategy, SpirvMetadata}; -use rust_gpu_bindless_shader_builder::ShaderSymbolsBuilder; +use rust_gpu_bindless_shader_builder::{anyhow, ShaderSymbolsBuilder}; pub use rust_gpu_bindless_shader_builder; -pub fn shader_symbols_builder_configured_for_space_engine(shader_crate: &str) -> ShaderSymbolsBuilder { - ShaderSymbolsBuilder::new(shader_crate, "spirv-unknown-vulkan1.2") +pub fn shader_symbols_builder_configured_for_space_engine(shader_crate: &str) -> anyhow::Result { + Ok(ShaderSymbolsBuilder::new(shader_crate, "spirv-unknown-vulkan1.2")? .capability(Capability::MeshShadingEXT) .capability(Capability::GroupNonUniform) .capability(Capability::GroupNonUniformBallot) @@ -17,5 +17,5 @@ pub fn shader_symbols_builder_configured_for_space_engine(shader_crate: &str) -> .shader_panic_strategy(ShaderPanicStrategy::DebugPrintfThenExit { print_inputs: true, print_backtrace: true, - }) + })) } diff --git a/space-engine/build.rs b/space-engine/build.rs index 8b60f09..15c89fb 100644 --- a/space-engine/build.rs +++ b/space-engine/build.rs @@ -3,6 +3,6 @@ use std::error::Error; use space_engine_shader_builder::shader_symbols_builder_configured_for_space_engine; fn main() -> Result<(), Box> { - shader_symbols_builder_configured_for_space_engine("space-engine-shader").build()?; + shader_symbols_builder_configured_for_space_engine("space-engine-shader")?.build()?; Ok(()) } From 19a3021626ce2c57d2828305fcb1abd2d7f96bf5 Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Mon, 19 May 2025 13:06:29 +0200 Subject: [PATCH 3/4] cargo-gpu: switch to stable toolchain --- Cargo.toml | 5 ++++- rust-gpu-bindless/Cargo.toml | 28 --------------------------- rust-gpu-bindless/rust-toolchain.toml | 3 --- rust-toolchain | 3 --- 4 files changed, 4 insertions(+), 35 deletions(-) delete mode 100644 rust-gpu-bindless/rust-toolchain.toml delete mode 100644 rust-toolchain diff --git a/Cargo.toml b/Cargo.toml index 0ed5eb8..1bcab57 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -140,7 +140,10 @@ rust-gpu-bindless-winit = { path = "rust-gpu-bindless/crates/winit" } -# Following is copied from rust-gpu workspace cargo.toml +# Configuration to preprocess models from `models/build.rs` in release mode. +# The following is copied from rust-gpu workspace Cargo.toml, although with +# cargo-gpu we don't rely on it anymore for rustc_backend_spirv compilation. + # Enable incremental by default in release mode. [profile.release] incremental = true diff --git a/rust-gpu-bindless/Cargo.toml b/rust-gpu-bindless/Cargo.toml index 3addd96..6f36a46 100644 --- a/rust-gpu-bindless/Cargo.toml +++ b/rust-gpu-bindless/Cargo.toml @@ -100,34 +100,6 @@ rustc-hash = "2.1.1" -# Following is copied from rust-gpu workspace cargo.toml -# Enable incremental by default in release mode. -[profile.release] -incremental = true -# HACK(eddyb) this is the default but without explicitly specifying it, Cargo -# will treat the identical settings in `[profile.release.build-override]` below -# as different sets of `rustc` flags and will not reuse artifacts between them. -codegen-units = 256 - -# Compile build-dependencies in release mode with the same settings -# as regular dependencies (including the incremental enabled above). -[profile.release.build-override] -opt-level = 3 -incremental = true -codegen-units = 256 - -# my additions to make build scripts always run in release, even on dev -[profile.dev] -incremental = true -codegen-units = 256 - -[profile.dev.build-override] -opt-level = 3 -incremental = true -codegen-units = 256 - - - # Optimize certain crates even in dev mode: # egui [profile.dev.package.epaint] diff --git a/rust-gpu-bindless/rust-toolchain.toml b/rust-gpu-bindless/rust-toolchain.toml deleted file mode 100644 index 72d13f2..0000000 --- a/rust-gpu-bindless/rust-toolchain.toml +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "nightly-2024-11-22" -components = ["rust-src", "rustc-dev", "llvm-tools"] diff --git a/rust-toolchain b/rust-toolchain deleted file mode 100644 index 72d13f2..0000000 --- a/rust-toolchain +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "nightly-2024-11-22" -components = ["rust-src", "rustc-dev", "llvm-tools"] From f6fe12d6a79d8bab524307388ec2af551c9f0055 Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Mon, 19 May 2025 17:50:22 +0200 Subject: [PATCH 4/4] cargo-gpu: fix warning --- space-engine-shader/src/utils/affine.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/space-engine-shader/src/utils/affine.rs b/space-engine-shader/src/utils/affine.rs index f56506b..224cb8e 100644 --- a/space-engine-shader/src/utils/affine.rs +++ b/space-engine-shader/src/utils/affine.rs @@ -1,6 +1,7 @@ use glam::{Affine3A, Vec3, Vec3A}; pub trait AffineTranspose { + #[must_use] fn transpose(&self) -> Self; fn transform_point3_transposed(&self, rhs: Vec3) -> Vec3; fn transform_vector3_transposed(&self, rhs: Vec3) -> Vec3; @@ -13,7 +14,6 @@ impl AffineTranspose for Affine3A { /// /// Note that if the transform is not invertible the result will be invalid. #[inline] - #[must_use] fn transpose(&self) -> Self { let matrix3 = self.matrix3.transpose(); // transform negative translation by the matrix inverse: