From 66e38fe59813138611cc8201ae828ef0fc77ab2a Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Sat, 12 Jul 2025 22:15:04 +0700 Subject: [PATCH] Update to wgpu 26.0.1, wgpu-profiler 0.24 --- Cargo.lock | 123 +++++++++--------- Cargo.toml | 4 +- .../examples/winit/src/render_context.rs | 2 + sparse_strips/vello_hybrid/src/render/wgpu.rs | 2 + sparse_strips/vello_sparse_shaders/Cargo.toml | 4 +- vello/src/util.rs | 2 + vello/src/wgpu_engine.rs | 1 + vello_shaders/Cargo.toml | 4 +- 8 files changed, 71 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bfad05452..a9b5e1321 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,7 +77,7 @@ dependencies = [ "log", "ndk", "ndk-context", - "ndk-sys 0.6.0+11769913", + "ndk-sys", "num_enum", "thiserror 1.0.69", ] @@ -643,6 +643,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -656,8 +666,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", + "core-foundation 0.9.4", + "core-graphics-types 0.1.3", "foreign-types", "libc", ] @@ -669,7 +679,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", "libc", ] @@ -1241,9 +1262,9 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" +checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ "bitflags 2.9.1", "gpu-descriptor-types", @@ -1904,13 +1925,13 @@ dependencies = [ [[package]] name = "metal" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" +checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ "bitflags 2.9.1", "block", - "core-graphics-types", + "core-graphics-types 0.2.0", "foreign-types", "log", "objc", @@ -1957,25 +1978,26 @@ dependencies = [ [[package]] name = "naga" -version = "25.0.1" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b977c445f26e49757f9aca3631c3b8b836942cb278d69a92e7b80d3b24da632" +checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c" dependencies = [ "arrayvec", "bit-set", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "codespan-reporting", "half", "hashbrown 0.15.3", "hexf-parse", "indexmap 2.9.0", + "libm", "log", "num-traits", "once_cell", "rustc-hash 1.1.0", "spirv", - "strum", "thiserror 2.0.12", "unicode-ident", ] @@ -2006,7 +2028,7 @@ dependencies = [ "bitflags 2.9.1", "jni-sys", "log", - "ndk-sys 0.6.0+11769913", + "ndk-sys", "num_enum", "raw-window-handle", "thiserror 1.0.69", @@ -2018,15 +2040,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" -[[package]] -name = "ndk-sys" -version = "0.5.0+25.2.9519653" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" -dependencies = [ - "jni-sys", -] - [[package]] name = "ndk-sys" version = "0.6.0+11769913" @@ -3230,28 +3243,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - [[package]] name = "svg" version = "0.18.0" @@ -4294,12 +4285,13 @@ dependencies = [ [[package]] name = "wgpu" -version = "25.0.2" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8fb398f119472be4d80bc3647339f56eb63b2a331f6a3d16e25d8144197dd9" +checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" dependencies = [ "arrayvec", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "document-features", "hashbrown 0.15.3", @@ -4322,9 +4314,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "25.0.2" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b882196f8368511d613c6aeec80655160db6646aebddf8328879a88d54e500" +checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9" dependencies = [ "arrayvec", "bit-set", @@ -4354,45 +4346,45 @@ dependencies = [ [[package]] name = "wgpu-core-deps-apple" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd488b3239b6b7b185c3b045c39ca6bf8af34467a4c5de4e0b1a564135d093d" +checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-emscripten" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09ad7aceb3818e52539acc679f049d3475775586f3f4e311c30165cf2c00445" +checksum = "d7670e390f416006f746b4600fdd9136455e3627f5bd763abf9a65daa216dd2d" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-wasm" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca8809ad123f6c7f2c5e01a2c7117c4fdfd02f70bd422ee2533f69dfa98756c" +checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-windows-linux-android" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba5fb5f7f9c98baa7c889d444f63ace25574833df56f5b817985f641af58e46" +checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-hal" -version = "25.0.2" +version = "26.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f968767fe4d3d33747bbd1473ccd55bf0f6451f55d733b5597e67b5deab4ad17" +checksum = "7df2c64ac282a91ad7662c90bc4a77d4a2135bc0b2a2da5a4d4e267afc034b9e" dependencies = [ "android_system_properties", "arrayvec", @@ -4403,7 +4395,7 @@ dependencies = [ "bytemuck", "cfg-if", "cfg_aliases", - "core-graphics-types", + "core-graphics-types 0.2.0", "glow", "glutin_wgl_sys", "gpu-alloc", @@ -4417,11 +4409,12 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys 0.5.0+25.2.9519653", + "ndk-sys", "objc", "ordered-float", "parking_lot", "portable-atomic", + "portable-atomic-util", "profiling", "range-alloc", "raw-window-handle", @@ -4437,9 +4430,9 @@ dependencies = [ [[package]] name = "wgpu-profiler" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b3822adea71ba68743babf69de76a0f3c8abe8b08a42f424d55133cacb6130" +checksum = "63e58456885a6e343f2487a65ba0d19f87b8a9d8c9b69086352ade067d52b621" dependencies = [ "parking_lot", "thiserror 2.0.12", @@ -4448,9 +4441,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aa49460c2a8ee8edba3fca54325540d904dd85b2e086ada762767e17d06e8bc" +checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" dependencies = [ "bitflags 2.9.1", "bytemuck", @@ -4841,7 +4834,7 @@ dependencies = [ "calloop", "cfg_aliases", "concurrent-queue", - "core-foundation", + "core-foundation 0.9.4", "core-graphics", "cursor-icon", "dpi", diff --git a/Cargo.toml b/Cargo.toml index bcf335fe7..b1ade6cef 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -127,7 +127,7 @@ vello_hybrid_scenes = { path = "sparse_strips/vello_hybrid/examples/scenes" } vello_dev_macros = { path = "sparse_strips/vello_dev_macros" } # NOTE: Make sure to keep this in sync with the version badge in README.md and vello/README.md -wgpu = { version = "25.0.2" } +wgpu = { version = "26.0.1" } log = "0.4.27" image = { version = "0.25.6", default-features = false } @@ -136,7 +136,7 @@ clap = "4.5.38" anyhow = "1.0.98" pollster = "0.4.0" web-time = "1.1.0" -wgpu-profiler = "0.23.0" +wgpu-profiler = "0.24.0" winit = "0.30.10" scenes = { path = "examples/scenes" } svg = "0.18.0" diff --git a/sparse_strips/vello_hybrid/examples/winit/src/render_context.rs b/sparse_strips/vello_hybrid/examples/winit/src/render_context.rs index fc9e49e22..3eb9ee3a4 100644 --- a/sparse_strips/vello_hybrid/examples/winit/src/render_context.rs +++ b/sparse_strips/vello_hybrid/examples/winit/src/render_context.rs @@ -71,10 +71,12 @@ impl RenderContext { pub(crate) fn new() -> Self { let backends = wgpu::Backends::from_env().unwrap_or_default(); let flags = wgpu::InstanceFlags::from_build_config().with_env(); + let memory_budget_thresholds = wgpu::MemoryBudgetThresholds::default(); let backend_options = wgpu::BackendOptions::from_env_or_default(); let instance = Instance::new(&wgpu::InstanceDescriptor { backends, flags, + memory_budget_thresholds, backend_options, }); Self { diff --git a/sparse_strips/vello_hybrid/src/render/wgpu.rs b/sparse_strips/vello_hybrid/src/render/wgpu.rs index 6968e2221..68088a0c3 100644 --- a/sparse_strips/vello_hybrid/src/render/wgpu.rs +++ b/sparse_strips/vello_hybrid/src/render/wgpu.rs @@ -1065,6 +1065,7 @@ impl RendererContext<'_> { } else { &self.programs.resources.slot_texture_views[ix] }, + depth_slice: None, resolve_target: None, ops: wgpu::Operations { load, @@ -1111,6 +1112,7 @@ impl RendererContext<'_> { label: Some("Clear Slots Render Pass"), color_attachments: &[Some(RenderPassColorAttachment { view: &resources.slot_texture_views[ix], + depth_slice: None, resolve_target: None, ops: wgpu::Operations { // Don't clear the entire texture, just specific slots diff --git a/sparse_strips/vello_sparse_shaders/Cargo.toml b/sparse_strips/vello_sparse_shaders/Cargo.toml index be9557f08..04b24e8be 100644 --- a/sparse_strips/vello_sparse_shaders/Cargo.toml +++ b/sparse_strips/vello_sparse_shaders/Cargo.toml @@ -17,10 +17,10 @@ default-target = "x86_64-unknown-linux-gnu" targets = [] [dependencies] -naga = { version = "25.0.1", features = ["wgsl-in", "glsl-out"], optional = true } +naga = { version = "26.0.0", features = ["wgsl-in", "glsl-out"], optional = true } [build-dependencies] -naga = { version = "25.0.1", features = ["wgsl-in", "glsl-out"], optional = true } +naga = { version = "26.0.0", features = ["wgsl-in", "glsl-out"], optional = true } [features] glsl = ["dep:naga"] diff --git a/vello/src/util.rs b/vello/src/util.rs index 33255962d..18d0b0d3b 100644 --- a/vello/src/util.rs +++ b/vello/src/util.rs @@ -32,10 +32,12 @@ impl RenderContext { pub fn new() -> Self { let backends = wgpu::Backends::from_env().unwrap_or_default(); let flags = wgpu::InstanceFlags::from_build_config().with_env(); + let memory_budget_thresholds = wgpu::MemoryBudgetThresholds::default(); let backend_options = wgpu::BackendOptions::from_env_or_default(); let instance = Instance::new(&wgpu::InstanceDescriptor { backends, flags, + memory_budget_thresholds, backend_options, }); Self { diff --git a/vello/src/wgpu_engine.rs b/vello/src/wgpu_engine.rs index af53310b0..0d74c9183 100644 --- a/vello/src/wgpu_engine.rs +++ b/vello/src/wgpu_engine.rs @@ -673,6 +673,7 @@ impl WgpuEngine { label: None, color_attachments: &[Some(wgpu::RenderPassColorAttachment { view: render_target, + depth_slice: None, resolve_target: None, ops: wgpu::Operations { load: match draw_params.clear_color { diff --git a/vello_shaders/Cargo.toml b/vello_shaders/Cargo.toml index 4d5229afe..d3d27fa3b 100644 --- a/vello_shaders/Cargo.toml +++ b/vello_shaders/Cargo.toml @@ -31,12 +31,12 @@ workspace = true [dependencies] bytemuck = { workspace = true, optional = true } -naga = { version = "25.0.1", features = ["wgsl-in"], optional = true } +naga = { version = "26.0.0", features = ["wgsl-in"], optional = true } thiserror = { workspace = true, optional = true } vello_encoding = { workspace = true, optional = true } log = { workspace = true, optional = true } [build-dependencies] -naga = { version = "25.0.1", features = ["wgsl-in"] } +naga = { version = "26.0.0", features = ["wgsl-in"] } thiserror = { workspace = true } log = { workspace = true }