[workspace] resolver = "2" members = [ "crates/rt-helper", "crates/shaders", "crates/shaders-shared", "crates/vk-rs", ] [workspace.dependencies] ash = { version = "0.37.3" } color-eyre = "0.6.3" winit = { version = "0.30.7", features = ["rwh_06"] } raw-window-handle = "0.6" gpu-allocator = { version = "0.25.0", features = ["vulkan"] } glam = { version = "0.22", default-features = false, features = ["libm"] } spirv-builder = { git = "https://github.com/Rust-GPU/rust-gpu.git" } spirv-std = { git = "https://github.com/Rust-GPU/rust-gpu.git" } # 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 # HACK(eddyb) reduce the number of linker exports and/or imports, by avoiding # inter-CGU linkage, to stay under the 64Ki MSVC limit for `rustc_codegen_spirv` # when building it in "debug mode" (only relevant to CI for now, realistically), # i.e. working around this issue: https://github.com/rust-lang/rust/issues/53014. [profile.dev] # HACK(eddyb) fewer inter-crate exports/imports (not just inter-CGU), but sadly # not configurable w/o breaking `Cargo.toml` parsing from non-nightly Cargo # (moved to `.github/workflows/ci.yaml` as `RUSTFLAGS: -Zshare-generics=off`). # # rustflags = ["-Zshare-generics=off"] codegen-units = 1 opt-level = 3