diff --git a/Cargo.lock b/Cargo.lock index 2da917d60c..75e7dc556b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -35,13 +35,14 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -239,9 +240,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64-simd" @@ -393,9 +394,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" dependencies = [ "clap_builder", "clap_derive", @@ -403,9 +404,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" dependencies = [ "anstream", "anstyle", @@ -415,9 +416,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", @@ -427,9 +428,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "cmake" @@ -1469,9 +1470,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash", "allocator-api2", @@ -1805,9 +1806,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "log", @@ -1817,8 +1818,8 @@ dependencies = [ [[package]] name = "naga" -version = "0.13.0" -source = "git+https://github.com/gfx-rs/naga?rev=e25280df9316434ef7752970016d01a3aede3f17#e25280df9316434ef7752970016d01a3aede3f17" +version = "0.14.0" +source = "git+https://github.com/gfx-rs/naga?rev=92e41b43e437146b5d946eb238de963be1168016#92e41b43e437146b5d946eb238de963be1168016" dependencies = [ "bit-set", "bitflags 2.4.1", @@ -2267,7 +2268,7 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "player" -version = "0.17.0" +version = "0.18.0" dependencies = [ "env_logger", "log", @@ -2547,9 +2548,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" dependencies = [ "bitflags 2.4.1", "errno", @@ -2785,9 +2786,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", @@ -3025,9 +3026,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -3400,7 +3401,7 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.17.0" +version = "0.18.0" dependencies = [ "arrayvec 0.7.4", "cfg-if", @@ -3424,7 +3425,7 @@ dependencies = [ [[package]] name = "wgpu-boids-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "nanorand", @@ -3437,7 +3438,7 @@ dependencies = [ [[package]] name = "wgpu-bunnymark-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -3452,7 +3453,7 @@ dependencies = [ [[package]] name = "wgpu-conservative-raster-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "wasm-bindgen-test", "wgpu", @@ -3463,7 +3464,7 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.17.0" +version = "0.18.0" dependencies = [ "arrayvec 0.7.4", "bit-vec", @@ -3486,7 +3487,7 @@ dependencies = [ [[package]] name = "wgpu-cube-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -3499,7 +3500,7 @@ dependencies = [ [[package]] name = "wgpu-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "async-executor", "console_error_panic_hook", @@ -3520,7 +3521,7 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.17.0" +version = "0.18.0" dependencies = [ "android_system_properties", "arrayvec 0.7.4", @@ -3565,7 +3566,7 @@ dependencies = [ [[package]] name = "wgpu-hello-compute-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3583,7 +3584,7 @@ dependencies = [ [[package]] name = "wgpu-hello-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "console_error_panic_hook", "console_log", @@ -3598,7 +3599,7 @@ dependencies = [ [[package]] name = "wgpu-hello-synchronization-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3617,7 +3618,7 @@ dependencies = [ [[package]] name = "wgpu-hello-triangle-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3632,7 +3633,7 @@ dependencies = [ [[package]] name = "wgpu-hello-windows-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3644,7 +3645,7 @@ dependencies = [ [[package]] name = "wgpu-hello-workgroups-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3661,7 +3662,7 @@ dependencies = [ [[package]] name = "wgpu-info" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "bitflags 2.4.1", @@ -3675,7 +3676,7 @@ dependencies = [ [[package]] name = "wgpu-macros" -version = "0.17.0" +version = "0.18.0" dependencies = [ "heck", "quote", @@ -3684,7 +3685,7 @@ dependencies = [ [[package]] name = "wgpu-mipmap-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -3697,7 +3698,7 @@ dependencies = [ [[package]] name = "wgpu-msaa-line-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -3711,7 +3712,7 @@ dependencies = [ [[package]] name = "wgpu-render-to-texture-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3731,7 +3732,7 @@ dependencies = [ [[package]] name = "wgpu-repeated-compute-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3751,7 +3752,7 @@ dependencies = [ [[package]] name = "wgpu-shadow-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -3764,7 +3765,7 @@ dependencies = [ [[package]] name = "wgpu-skybox-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "ddsfile", @@ -3780,7 +3781,7 @@ dependencies = [ [[package]] name = "wgpu-stencil-triangle-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "wasm-bindgen-test", @@ -3792,7 +3793,7 @@ dependencies = [ [[package]] name = "wgpu-storage-texture-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3813,7 +3814,7 @@ dependencies = [ [[package]] name = "wgpu-test" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "arrayvec 0.7.4", @@ -3848,7 +3849,7 @@ dependencies = [ [[package]] name = "wgpu-texture-arrays-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "wasm-bindgen-test", @@ -3860,7 +3861,7 @@ dependencies = [ [[package]] name = "wgpu-timestamp-queries-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "console_error_panic_hook", @@ -3878,7 +3879,7 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bitflags 2.4.1", "js-sys", @@ -3889,7 +3890,7 @@ dependencies = [ [[package]] name = "wgpu-uniform-values-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "console_error_panic_hook", "console_log", @@ -3906,7 +3907,7 @@ dependencies = [ [[package]] name = "wgpu-water-example" -version = "0.17.0" +version = "0.18.0" dependencies = [ "bytemuck", "glam", @@ -4273,3 +4274,23 @@ name = "xml-rs" version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "zerocopy" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81ba595b9f2772fbee2312de30eeb80ec773b4cb2f1e8098db024afadda6c06f" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772666c41fb6dceaf520b564b962d738a8e1a83b41bd48945f50837aed78bb1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] diff --git a/Cargo.toml b/Cargo.toml index bdee6f2ebc..0114d2d2bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ default-members = [ "wgpu-info", "wgpu-macros", "wgpu-types", - "tests" + "tests", ] [workspace.package] @@ -33,28 +33,28 @@ keywords = ["graphics"] license = "MIT OR Apache-2.0" homepage = "https://wgpu.rs/" repository = "https://github.com/gfx-rs/wgpu" -version = "0.17.0" +version = "0.18.0" authors = ["wgpu developers"] [workspace.dependencies.wgc] package = "wgpu-core" path = "./wgpu-core" -version = "0.17" +version = "0.18.0" [workspace.dependencies.wgt] package = "wgpu-types" path = "./wgpu-types" -version = "0.17" +version = "0.18.0" [workspace.dependencies.hal] package = "wgpu-hal" path = "./wgpu-hal" -version = "0.17" +version = "0.18.0" [workspace.dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "e25280df9316434ef7752970016d01a3aede3f17" -version = "0.13.0" +rev = "92e41b43e437146b5d946eb238de963be1168016" +version = "0.14.0" [workspace.dependencies] anyhow = "1.0" @@ -89,7 +89,11 @@ obj = "0.10" once_cell = "1" # parking_lot 0.12 switches from `winapi` to `windows`; permit either parking_lot = ">=0.11,<0.13" -pico-args = { version = "0.5.0", features = ["eq-separator", "short-space-opt", "combined-flags"] } +pico-args = { version = "0.5.0", features = [ + "eq-separator", + "short-space-opt", + "combined-flags", +] } png = "0.17.10" pollster = "0.3" profiling = { version = "1", default-features = false } @@ -101,13 +105,13 @@ serde_json = "1.0.107" smallvec = "1" static_assertions = "1.1.0" thiserror = "1" -wgpu = { version = "0.17.0", path = "./wgpu" } -wgpu-core = { version = "0.17.0", path = "./wgpu-core" } -wgpu-example = { version = "0.17.0", path = "./examples/common" } -wgpu-macros = { version = "0.17.0", path = "./wgpu-macros" } -wgpu-test = { version = "0.17", path = "./tests"} -wgpu-types = { version = "0.17.0", path = "./wgpu-types" } -winit = { version = "0.28.7", features = [ "android-native-activity" ] } +wgpu = { version = "0.18.0", path = "./wgpu" } +wgpu-core = { version = "0.18.0", path = "./wgpu-core" } +wgpu-example = { version = "0.18.0", path = "./examples/common" } +wgpu-macros = { version = "0.18.0", path = "./wgpu-macros" } +wgpu-test = { version = "0.18.0", path = "./tests" } +wgpu-types = { version = "0.18.0", path = "./wgpu-types" } +winit = { version = "0.28.7", features = ["android-native-activity"] } # Metal dependencies block = "0.1" @@ -123,7 +127,10 @@ android_system_properties = "0.1.1" # DX dependencies bit-set = "0.5" -gpu-allocator = { version = "0.23", default_features = false, features = ["d3d12", "public-winapi"] } +gpu-allocator = { version = "0.23", default_features = false, features = [ + "d3d12", + "public-winapi", +] } d3d12 = "0.7.0" range-alloc = "0.1" winapi = "0.3" diff --git a/wgpu-core/Cargo.toml b/wgpu-core/Cargo.toml index 05d2cf5a9a..755d350825 100644 --- a/wgpu-core/Cargo.toml +++ b/wgpu-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-core" -version = "0.17.0" +version = "0.18.0" authors = ["wgpu developers"] edition = "2021" description = "WebGPU core logic on wgpu-hal" @@ -57,7 +57,10 @@ id32 = [] # Enable `ShaderModuleSource::Wgsl` wgsl = ["naga/wgsl-in"] # Implement `Send` and `Sync` on Wasm. -fragile-send-sync-non-atomic-wasm = ["hal/fragile-send-sync-non-atomic-wasm", "wgt/fragile-send-sync-non-atomic-wasm"] +fragile-send-sync-non-atomic-wasm = [ + "hal/fragile-send-sync-non-atomic-wasm", + "wgt/fragile-send-sync-non-atomic-wasm", +] [dependencies] arrayvec = "0.7" @@ -77,20 +80,23 @@ thiserror = "1" [dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "e25280df9316434ef7752970016d01a3aede3f17" -version = "0.13.0" +rev = "92e41b43e437146b5d946eb238de963be1168016" +version = "0.14.0" features = ["clone", "span", "validate"] [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.17" +version = "0.18.0" [dependencies.hal] package = "wgpu-hal" path = "../wgpu-hal" -version = "0.17" +version = "0.18.0" default_features = false [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies] -web-sys = { version = "0.3.64", features = ["HtmlCanvasElement", "OffscreenCanvas"] } +web-sys = { version = "0.3.64", features = [ + "HtmlCanvasElement", + "OffscreenCanvas", +] } diff --git a/wgpu-hal/Cargo.toml b/wgpu-hal/Cargo.toml index 65221327ac..ec395c2b8b 100644 --- a/wgpu-hal/Cargo.toml +++ b/wgpu-hal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-hal" -version = "0.17.0" +version = "0.18.0" authors = ["wgpu developers"] edition = "2021" description = "WebGPU hardware abstraction layer" @@ -35,10 +35,39 @@ targets = [ [features] default = ["link"] metal = ["naga/msl-out", "block"] -vulkan = ["naga/spv-out", "ash", "gpu-alloc", "gpu-descriptor", "libloading", "smallvec"] +vulkan = [ + "naga/spv-out", + "ash", + "gpu-alloc", + "gpu-descriptor", + "libloading", + "smallvec", +] gles = ["naga/glsl-out", "glow", "glutin_wgl_sys", "khronos-egl", "libloading"] -dx11 = ["naga/hlsl-out", "d3d12", "libloading", "winapi/d3d11", "winapi/std", "winapi/d3d11_1", "winapi/d3d11_2", "winapi/d3d11sdklayers", "winapi/dxgi1_6"] -dx12 = ["naga/hlsl-out", "d3d12", "bit-set", "libloading", "range-alloc", "winapi/std", "winapi/winbase", "winapi/d3d12", "winapi/d3d12shader", "winapi/d3d12sdklayers", "winapi/dxgi1_6"] +dx11 = [ + "naga/hlsl-out", + "d3d12", + "libloading", + "winapi/d3d11", + "winapi/std", + "winapi/d3d11_1", + "winapi/d3d11_2", + "winapi/d3d11sdklayers", + "winapi/dxgi1_6", +] +dx12 = [ + "naga/hlsl-out", + "d3d12", + "bit-set", + "libloading", + "range-alloc", + "winapi/std", + "winapi/winbase", + "winapi/d3d12", + "winapi/d3d12shader", + "winapi/d3d12sdklayers", + "winapi/dxgi1_6", +] # TODO: This is a separate feature until Mozilla okays windows-rs, see https://github.com/gfx-rs/wgpu/issues/3207 for the tracking issue. windows_rs = ["gpu-allocator"] dxc_shader_compiler = ["hassle-rs"] @@ -72,7 +101,7 @@ glow = { version = "0.13", optional = true } [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.17" +version = "0.18.0" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] # backend: Vulkan @@ -94,12 +123,21 @@ libloading = { version = ">=0.7, <0.9", optional = true } # backend: Dx12 bit-set = { version = "0.5", optional = true } range-alloc = { version = "0.1", optional = true } -gpu-allocator = { version = "0.23", default_features = false, features = ["d3d12", "public-winapi"], optional = true } +gpu-allocator = { version = "0.23", default_features = false, features = [ + "d3d12", + "public-winapi", +], optional = true } hassle-rs = { version = "0.10", optional = true } # backend: Gles glutin_wgl_sys = { version = "0.5", optional = true } -winapi = { version = "0.3", features = ["profileapi", "libloaderapi", "windef", "winuser", "dcomp"] } +winapi = { version = "0.3", features = [ + "profileapi", + "libloaderapi", + "windef", + "winuser", + "dcomp", +] } d3d12 = { version = "0.7", features = ["libloading"], optional = true } [target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies] @@ -112,7 +150,12 @@ core-graphics-types = "0.1" [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies] wasm-bindgen = "0.2.87" -web-sys = { version = "0.3.64", features = ["Window", "HtmlCanvasElement", "WebGl2RenderingContext", "OffscreenCanvas"] } +web-sys = { version = "0.3.64", features = [ + "Window", + "HtmlCanvasElement", + "WebGl2RenderingContext", + "OffscreenCanvas", +] } js-sys = "0.3.64" [target.'cfg(unix)'.dependencies] @@ -123,21 +166,23 @@ android_system_properties = "0.1.1" [dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "e25280df9316434ef7752970016d01a3aede3f17" -version = "0.13.0" +rev = "92e41b43e437146b5d946eb238de963be1168016" +version = "0.14.0" features = ["clone"] # DEV dependencies [dev-dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "e25280df9316434ef7752970016d01a3aede3f17" -version = "0.13.0" +rev = "92e41b43e437146b5d946eb238de963be1168016" +version = "0.14.0" features = ["wgsl-in"] [dev-dependencies] cfg-if = "1" env_logger = "0.10" -winit = { version = "0.28.7", features = [ "android-native-activity" ] } # for "halmark" example +winit = { version = "0.28.7", features = [ + "android-native-activity", +] } # for "halmark" example [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] glutin = "0.29.1" # for "gles" example diff --git a/wgpu-types/Cargo.toml b/wgpu-types/Cargo.toml index 2b6c352982..5ae99b93ce 100644 --- a/wgpu-types/Cargo.toml +++ b/wgpu-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-types" -version = "0.17.0" +version = "0.18.0" authors = ["wgpu developers"] edition = "2021" description = "WebGPU types"