From f05696043855942797b96b702bdd3749c5990fa1 Mon Sep 17 00:00:00 2001 From: Shark Date: Fri, 6 Sep 2024 15:42:43 +0200 Subject: [PATCH] upgrade wgpu and vello --- Cargo.lock | 169 +++++++++++++++++++++---------- crates/gosub_vello/Cargo.toml | 5 +- crates/gosub_vello/src/lib.rs | 3 +- crates/gosub_vello/src/render.rs | 1 + 4 files changed, 121 insertions(+), 57 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e793a167f..98eded4cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -301,11 +301,11 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" -version = "0.37.3+1.3.251" +version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "libloading 0.7.4", + "libloading", ] [[package]] @@ -404,7 +404,16 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f" +dependencies = [ + "bit-vec 0.7.0", ] [[package]] @@ -413,6 +422,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bit-vec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" + [[package]] name = "bit_field" version = "0.10.2" @@ -683,7 +698,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.8.5", + "libloading", ] [[package]] @@ -1016,12 +1031,12 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.20.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" +checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" dependencies = [ "bitflags 2.6.0", - "libloading 0.8.5", + "libloading", "winapi", ] @@ -1101,7 +1116,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.5", + "libloading", ] [[package]] @@ -1584,9 +1599,9 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" dependencies = [ "gl_generator", ] @@ -1909,7 +1924,7 @@ dependencies = [ "image", "raw-window-handle", "smallvec", - "vello", + "vello 0.2.0", "vello_svg", "wgpu", ] @@ -1962,9 +1977,9 @@ dependencies = [ [[package]] name = "gpu-allocator" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" dependencies = [ "log", "presser", @@ -2065,7 +2080,7 @@ dependencies = [ "bitflags 2.6.0", "com", "libc", - "libloading 0.8.5", + "libloading", "thiserror", "widestring", "winapi", @@ -2506,7 +2521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.5", + "libloading", "pkg-config", ] @@ -2574,16 +2589,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - [[package]] name = "libloading" version = "0.8.5" @@ -2742,9 +2747,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ "bitflags 2.6.0", "block", @@ -2800,7 +2805,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ "arrayvec 0.7.4", - "bit-set", + "bit-set 0.5.3", "bitflags 2.6.0", "codespan-reporting", "hexf-parse", @@ -2808,6 +2813,26 @@ dependencies = [ "log", "num-traits", "rustc-hash", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "naga" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" +dependencies = [ + "arrayvec 0.7.4", + "bit-set 0.6.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "rustc-hash", "spirv", "termcolor", "thiserror", @@ -4885,6 +4910,25 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "vello" +version = "0.2.0" +source = "git+https://github.com/linebender/vello?rev=f08c2a828848e75db144d6a082c5a0818b84f561#f08c2a828848e75db144d6a082c5a0818b84f561" +dependencies = [ + "bytemuck", + "futures-intrusive", + "log", + "peniko", + "png", + "raw-window-handle", + "skrifa 0.19.3", + "static_assertions", + "thiserror", + "vello_encoding 0.2.0", + "vello_shaders 0.2.0", + "wgpu", +] + [[package]] name = "vello" version = "0.2.1" @@ -4899,9 +4943,20 @@ dependencies = [ "skrifa 0.19.3", "static_assertions", "thiserror", - "vello_encoding", - "vello_shaders", - "wgpu", + "vello_encoding 0.2.1", + "vello_shaders 0.2.1", +] + +[[package]] +name = "vello_encoding" +version = "0.2.0" +source = "git+https://github.com/linebender/vello?rev=f08c2a828848e75db144d6a082c5a0818b84f561#f08c2a828848e75db144d6a082c5a0818b84f561" +dependencies = [ + "bytemuck", + "guillotiere", + "peniko", + "skrifa 0.19.3", + "smallvec", ] [[package]] @@ -4917,6 +4972,17 @@ dependencies = [ "smallvec", ] +[[package]] +name = "vello_shaders" +version = "0.2.0" +source = "git+https://github.com/linebender/vello?rev=f08c2a828848e75db144d6a082c5a0818b84f561#f08c2a828848e75db144d6a082c5a0818b84f561" +dependencies = [ + "bytemuck", + "naga 22.1.0", + "thiserror", + "vello_encoding 0.2.0", +] + [[package]] name = "vello_shaders" version = "0.2.1" @@ -4924,9 +4990,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13ab6bcb2b079c3cf57e964d1ba0b1f08901284be1c7f5cba34d3e0e08154bce" dependencies = [ "bytemuck", - "naga", + "naga 0.20.0", "thiserror", - "vello_encoding", + "vello_encoding 0.2.1", ] [[package]] @@ -4938,7 +5004,7 @@ dependencies = [ "image", "thiserror", "usvg", - "vello", + "vello 0.2.1", ] [[package]] @@ -5207,17 +5273,16 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.20.1" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" +checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433" dependencies = [ "arrayvec 0.7.4", - "cfg-if", "cfg_aliases 0.1.1", "document-features", "js-sys", "log", - "naga", + "naga 22.1.0", "parking_lot", "profiling", "raw-window-handle", @@ -5233,19 +5298,18 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.21.1" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" +checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" dependencies = [ "arrayvec 0.7.4", - "bit-vec", + "bit-vec 0.7.0", "bitflags 2.6.0", "cfg_aliases 0.1.1", - "codespan-reporting", "document-features", "indexmap", "log", - "naga", + "naga 22.1.0", "once_cell", "parking_lot", "profiling", @@ -5253,21 +5317,20 @@ dependencies = [ "rustc-hash", "smallvec", "thiserror", - "web-sys", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "0.21.1" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" +checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f" dependencies = [ "android_system_properties", "arrayvec 0.7.4", "ash", - "bit-set", + "bit-set 0.6.0", "bitflags 2.6.0", "block", "cfg_aliases 0.1.1", @@ -5282,10 +5345,10 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.5", + "libloading", "log", "metal", - "naga", + "naga 22.1.0", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -5305,9 +5368,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.20.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" +checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" dependencies = [ "bitflags 2.6.0", "js-sys", @@ -5726,7 +5789,7 @@ dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.8.5", + "libloading", "once_cell", "rustix", "x11rb-protocol", diff --git a/crates/gosub_vello/Cargo.toml b/crates/gosub_vello/Cargo.toml index f2a787b46..27ae4ddd6 100644 --- a/crates/gosub_vello/Cargo.toml +++ b/crates/gosub_vello/Cargo.toml @@ -8,12 +8,11 @@ gosub_shared = { path = "../gosub_shared" } gosub_render_backend = { path = "../gosub_render_backend" } gosub_typeface = { path = "../gosub_typeface" } gosub_svg = { path = "../gosub_svg" } -vello = "0.2.0" -#vello = { git = "https://github.com/linebender/vello", rev = "f08c2a828848e75db144d6a082c5a0818b84f561"} +vello = { git = "https://github.com/linebender/vello", rev = "f08c2a828848e75db144d6a082c5a0818b84f561" } image = "0.25.2" smallvec = "1.13.2" anyhow = "1.0.82" -wgpu = "0.20.1" +wgpu = "22.1.0" raw-window-handle = "0.6.2" futures = "0.3.30" vello_svg = { version = "0.3.0", optional = true } diff --git a/crates/gosub_vello/src/lib.rs b/crates/gosub_vello/src/lib.rs index e09ac6eec..55f73cbd1 100644 --- a/crates/gosub_vello/src/lib.rs +++ b/crates/gosub_vello/src/lib.rs @@ -3,7 +3,7 @@ use std::fmt::Debug; use anyhow::anyhow; use vello::kurbo::Point as VelloPoint; use vello::peniko::Color as VelloColor; -use vello::{AaConfig, RenderParams, Scene as VelloScene}; +use vello::{AaConfig, DebugLayers, RenderParams, Scene as VelloScene}; use crate::render::{Renderer, RendererOptions}; pub use border::*; @@ -167,6 +167,7 @@ impl RenderBackend for VelloBackend { width, height, antialiasing_method: AaConfig::Msaa16, + debug: DebugLayers::none(), }, ) .map_err(|e| anyhow!(e.to_string()))?; diff --git a/crates/gosub_vello/src/render.rs b/crates/gosub_vello/src/render.rs index f54ee5bf9..7827b417d 100644 --- a/crates/gosub_vello/src/render.rs +++ b/crates/gosub_vello/src/render.rs @@ -200,6 +200,7 @@ impl Renderer { label: None, required_features: Default::default(), required_limits: Default::default(), + memory_hints: Default::default(), }, None, )