diff --git a/.deny.toml b/.deny.toml index 98ea8b0763..7e000d6f82 100644 --- a/.deny.toml +++ b/.deny.toml @@ -2,7 +2,8 @@ multiple-versions = "deny" skip-tree = [ { name = "windows-sys", version = "0.45" }, - { name = "winit", version = "0.27.5" }, + { name = "winit", version = "0.27" }, + { name = "winit", version = "0.29" }, { name = "rustc_version", version = "0.2.3" }, { name = "sourcemap", version = "7.1.1" }, ] diff --git a/CHANGELOG.md b/CHANGELOG.md index 4648a32196..3e15d2f287 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,8 @@ Bottom level categories: ## Unreleased +## v0.20.0 (2024-04-28) + ### Major Changes #### Pipeline overridable constants diff --git a/Cargo.lock b/Cargo.lock index c9f32d8e75..529b0cde9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -670,9 +670,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -917,7 +917,7 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" +version = "0.20.0" dependencies = [ "bitflags 2.5.0", "libloading 0.8.3", @@ -961,9 +961,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "debugid" @@ -1270,9 +1270,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" @@ -1300,9 +1300,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "4556222738635b7a3417ae6130d8f52201e45a0c4d1a907f0826383adb5f85e7" dependencies = [ "crc32fast", "miniz_oxide", @@ -1716,9 +1716,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -2027,9 +2027,9 @@ checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2094,8 +2094,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.27.0" -source = "git+https://github.com/gfx-rs/metal-rs?rev=ff8fd3d6dc7792852f8a015458d7e6d42d7fb352#ff8fd3d6dc7792852f8a015458d7e6d42d7fb352" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ "bitflags 2.5.0", "block", @@ -2130,7 +2131,7 @@ dependencies = [ [[package]] name = "naga" -version = "0.19.2" +version = "0.20.0" dependencies = [ "arbitrary", "arrayvec 0.7.4", @@ -2160,7 +2161,7 @@ dependencies = [ [[package]] name = "naga-cli" -version = "0.19.0" +version = "0.20.0" dependencies = [ "anyhow", "argh", @@ -2526,9 +2527,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -2536,18 +2537,18 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "backtrace", "cfg-if", "libc", "petgraph", - "redox_syscall 0.4.1", + "redox_syscall 0.5.1", "smallvec", "thread-id", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -2618,7 +2619,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "player" -version = "0.19.3" +version = "0.20.0" dependencies = [ "env_logger", "log", @@ -2871,6 +2872,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "regex" version = "1.10.4" @@ -3060,18 +3070,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" dependencies = [ "proc-macro2", "quote", @@ -3637,9 +3647,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" @@ -4042,7 +4052,7 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.19.3" +version = "0.20.0" dependencies = [ "arrayvec 0.7.4", "cfg-if", @@ -4067,7 +4077,7 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.3" +version = "0.20.0" dependencies = [ "arrayvec 0.7.4", "bit-vec", @@ -4095,7 +4105,7 @@ dependencies = [ [[package]] name = "wgpu-examples" -version = "0.19.3" +version = "0.20.0" dependencies = [ "bytemuck", "cfg-if", @@ -4128,7 +4138,7 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.19.3" +version = "0.20.0" dependencies = [ "android_system_properties", "arrayvec 0.7.4", @@ -4176,7 +4186,7 @@ dependencies = [ [[package]] name = "wgpu-info" -version = "0.19.3" +version = "0.20.0" dependencies = [ "anyhow", "bitflags 2.5.0", @@ -4190,7 +4200,7 @@ dependencies = [ [[package]] name = "wgpu-macros" -version = "0.19.3" +version = "0.20.0" dependencies = [ "heck 0.5.0", "quote", @@ -4199,7 +4209,7 @@ dependencies = [ [[package]] name = "wgpu-test" -version = "0.19.3" +version = "0.20.0" dependencies = [ "anyhow", "arrayvec 0.7.4", @@ -4235,7 +4245,7 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.2" +version = "0.20.0" dependencies = [ "bitflags 2.5.0", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 2b91eb08f4..fbc0dba87c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,27 +45,27 @@ keywords = ["graphics"] license = "MIT OR Apache-2.0" homepage = "https://wgpu.rs/" repository = "https://github.com/gfx-rs/wgpu" -version = "0.19.3" +version = "0.20.0" authors = ["gfx-rs developers"] [workspace.dependencies.wgc] package = "wgpu-core" path = "./wgpu-core" -version = "0.19.3" +version = "0.20.0" [workspace.dependencies.wgt] package = "wgpu-types" path = "./wgpu-types" -version = "0.19.2" +version = "0.20.0" [workspace.dependencies.hal] package = "wgpu-hal" path = "./wgpu-hal" -version = "0.19.3" +version = "0.20.0" [workspace.dependencies.naga] path = "./naga" -version = "0.19.2" +version = "0.20.0" [workspace.dependencies] anyhow = "1.0.23" @@ -118,18 +118,18 @@ serde_json = "1.0.116" smallvec = "1" static_assertions = "1.1.0" thiserror = "1" -wgpu = { version = "0.19.3", path = "./wgpu" } -wgpu-core = { version = "0.19.3", path = "./wgpu-core" } -wgpu-example = { version = "0.19.0", path = "./examples/common" } -wgpu-macros = { version = "0.19.0", path = "./wgpu-macros" } -wgpu-test = { version = "0.19.0", path = "./tests" } -wgpu-types = { version = "0.19.2", path = "./wgpu-types" } +wgpu = { version = "0.20.0", path = "./wgpu" } +wgpu-core = { version = "0.20.0", path = "./wgpu-core" } +wgpu-example = { version = "0.20.0", path = "./examples/common" } +wgpu-macros = { version = "0.20.0", path = "./wgpu-macros" } +wgpu-test = { version = "0.20.0", path = "./tests" } +wgpu-types = { version = "0.20.0", path = "./wgpu-types" } winit = { version = "0.29", features = ["android-native-activity"] } # Metal dependencies block = "0.1" core-graphics-types = "0.1" -metal = { version = "0.27.0", git = "https://github.com/gfx-rs/metal-rs", rev = "ff8fd3d6dc7792852f8a015458d7e6d42d7fb352" } +metal = { version = "0.28.0" } objc = "0.2.5" # Vulkan dependencies @@ -144,7 +144,7 @@ gpu-allocator = { version = "0.25", default_features = false, features = [ "d3d12", "public-winapi", ] } -d3d12 = { version = "0.7.0", path = "./d3d12/" } +d3d12 = { version = "0.20.0", path = "./d3d12/" } range-alloc = "0.1" winapi = "0.3" hassle-rs = "0.11.0" diff --git a/d3d12/Cargo.toml b/d3d12/Cargo.toml index 44f5dc35e2..2c3f721525 100644 --- a/d3d12/Cargo.toml +++ b/d3d12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "d3d12" -version = "0.19.0" +version = "0.20.0" authors = ["gfx-rs developers"] description = "Low level D3D12 API wrapper" repository = "https://github.com/gfx-rs/wgpu/tree/trunk/d3d12" diff --git a/deno_webgpu/Cargo.toml b/deno_webgpu/Cargo.toml index 586eb90c85..cf05e00f96 100644 --- a/deno_webgpu/Cargo.toml +++ b/deno_webgpu/Cargo.toml @@ -24,7 +24,15 @@ raw-window-handle = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgpu-core] workspace = true -features = ["raw-window-handle", "trace", "replay", "serde", "strict_asserts", "wgsl", "gles"] +features = [ + "raw-window-handle", + "trace", + "replay", + "serde", + "strict_asserts", + "wgsl", + "gles", +] # We want the wgpu-core Metal backend on macOS and iOS. [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.wgpu-core] @@ -37,7 +45,7 @@ workspace = true features = ["dx12"] [target.'cfg(windows)'.dependencies.wgpu-hal] -version = "0.19.0" +version = "0.20.0" path = "../wgpu-hal" features = ["windows_rs"] diff --git a/naga-cli/Cargo.toml b/naga-cli/Cargo.toml index 98c3536192..dc03fc96c4 100644 --- a/naga-cli/Cargo.toml +++ b/naga-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "naga-cli" -version = "0.19.0" +version = "0.20.0" authors = ["gfx-rs developers"] edition = "2021" description = "Shader translation command line tool" @@ -26,7 +26,7 @@ argh = "0.1.5" anyhow.workspace = true [dependencies.naga] -version = "0.19" +version = "0.20.0" path = "../naga" features = [ "compact", diff --git a/naga/Cargo.toml b/naga/Cargo.toml index e1671bf601..5b12fb2b14 100644 --- a/naga/Cargo.toml +++ b/naga/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "naga" -version = "0.19.2" +version = "0.20.0" authors = ["gfx-rs developers"] edition = "2021" description = "Shader translation infrastructure" diff --git a/naga/fuzz/Cargo.toml b/naga/fuzz/Cargo.toml index 1f1c1814ba..3e46af0c59 100644 --- a/naga/fuzz/Cargo.toml +++ b/naga/fuzz/Cargo.toml @@ -15,7 +15,7 @@ libfuzzer-sys = "0.4" [target.'cfg(not(any(target_arch = "wasm32", target_os = "ios")))'.dependencies.naga] path = ".." -version = "0.19.0" +version = "0.20.0" features = ["arbitrary", "spv-in", "wgsl-in", "glsl-in"] [[bin]] diff --git a/wgpu-core/Cargo.toml b/wgpu-core/Cargo.toml index ef5f56d067..84e4256362 100644 --- a/wgpu-core/Cargo.toml +++ b/wgpu-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-core" -version = "0.19.3" +version = "0.20.0" authors = ["gfx-rs developers"] edition = "2021" description = "WebGPU core logic on wgpu-hal" @@ -117,17 +117,17 @@ thiserror = "1" [dependencies.naga] path = "../naga" -version = "0.19.2" +version = "0.20.0" [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.19.2" +version = "0.20.0" [dependencies.hal] package = "wgpu-hal" path = "../wgpu-hal" -version = "0.19.3" +version = "0.20.0" default_features = false [target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies] diff --git a/wgpu-hal/Cargo.toml b/wgpu-hal/Cargo.toml index 549d2f4f96..dafcb3a1ab 100644 --- a/wgpu-hal/Cargo.toml +++ b/wgpu-hal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-hal" -version = "0.19.3" +version = "0.20.0" authors = ["gfx-rs developers"] edition = "2021" description = "WebGPU hardware abstraction layer" @@ -110,7 +110,7 @@ glow = { version = "0.13.1", optional = true } [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.19.2" +version = "0.20.0" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] # backend: Vulkan @@ -147,7 +147,7 @@ winapi = { version = "0.3", features = [ "winuser", "dcomp", ] } -d3d12 = { path = "../d3d12/", version = "0.19.0", optional = true, features = [ +d3d12 = { path = "../d3d12/", version = "0.20.0", optional = true, features = [ "libloading", ] } @@ -155,7 +155,7 @@ d3d12 = { path = "../d3d12/", version = "0.19.0", optional = true, features = [ # backend: Metal block = { version = "0.1", optional = true } -metal = { version = "0.27.0", git = "https://github.com/gfx-rs/metal-rs", rev = "ff8fd3d6dc7792852f8a015458d7e6d42d7fb352" } +metal = { version = "0.28.0" } objc = "0.2.5" core-graphics-types = "0.1" @@ -178,7 +178,7 @@ ndk-sys = { version = "0.5.0", optional = true } [dependencies.naga] path = "../naga" -version = "0.19.2" +version = "0.20.0" [build-dependencies] cfg_aliases.workspace = true @@ -186,7 +186,7 @@ cfg_aliases.workspace = true # DEV dependencies [dev-dependencies.naga] path = "../naga" -version = "0.19.2" +version = "0.20.0" features = ["wgsl-in"] [dev-dependencies] diff --git a/wgpu-types/Cargo.toml b/wgpu-types/Cargo.toml index 9b09b4c8ea..ea18e6b335 100644 --- a/wgpu-types/Cargo.toml +++ b/wgpu-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-types" -version = "0.19.2" +version = "0.20.0" authors = ["gfx-rs developers"] edition = "2021" description = "WebGPU types"