diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aa560267b..e218a732e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,79 @@ # Change Log -## wgpu-hal-0.11.2 (2021-10-12) +## wgpu-0.12 (2021-12-18) + - API: + - `MULTIVIEW` feature + - `DEPTH_CLIP_CONTROL` feature to replace the old `DEPTH_CLAMP` + - `TEXTURE_FORMAT_16BIT_NORM` feature + - push/pop error scopes on the device + - more limits for compute shaders + - `SamplerBindingType` instead of booleans + - sampler arrays are supported by `TEXTURE_BINDING_ARRAY` feature + - "glsl" cargo feature for accepting GLSL shader code + - enforced MSRV-1.53 + - correctness: + - textures are zero-initialized + - lots and lots of fixes + - validation: + - match texture-sampler pairs + - check `min_binding_size` late at draw + - check formats to match in `copy_texture_to_texture` + - allow `strip_index_format` to be none if unused + - check workgroup sizes and counts + - shaders: + - please refer to [naga-0.8 changelog](https://github.com/gfx-rs/naga/pull/1610/files) + - nice error messages + +### wgpu-core-0.11.3, wgpu-hal-0.11.5, wgpu-0.11.1 (2021-12-01) + - Core: + - validate device descriptor before actually creating it + - fix validation of texture-sampler pairs + - Vulkan: + - fix running on Vulkan-1.1 instance + - improve detection of workaround for Intel+Nvidia on Linux + - fix resource limits on Vulkan-1.2 + - fix the check for storage buffer requirement + - change internal semaphore logic to work around Linux+Intel bugs + - fix enabling extension-provided features + - GLES: + - fix running on old and bogus drivers + - fix stale samplers on bindings change + - fix integer textures + - fix querying work group parameters + - fix stale PBO bindings caused by resource copies + - fix rendering to cubemap faces + - fix `Rgba16Float` format + - fix stale vertex attributes when changing the pipeline + - Metal: + - fix window resizing for running in multiple processes + - Web: + - fix `set_index_buffer` and `set_vertex_buffer` to have optional sizes + +### wgpu-core-0.11.2, wgpu-hal-0.11.4 (2021-10-22) + - fix buffer transition barriers + - Metal: + - disable RW buffers on macOS 10.11 + - fix memory leaks in render pass descriptor + - WebGL: + - fix surface reconfiguration + - GLES: + - fix mapping when persistent mapping isn't supported + - allow presentation in Android emulator + - fix sRGB attributes on EGL-1.4 contexts + +### wgpu-hal-0.11.3 (2021-10-16) + - GL: + - fix mapping flags and buffer initialization + - fix context creation when sRGB is available + +### wgpu-core-0.11.1 (2021-10-15) + - fix bind group layout lifetime with regard to bind groups + +### wgpu-hal-0.11.2 (2021-10-12) - GL/WebGL: fix vertex buffer bindings with non-zero first instance - DX12: fix cube array view construction -## wgpu-hal-0.11.1 (2021-10-09) +### wgpu-hal-0.11.1 (2021-10-09) - Vulkan: fix NV optimus detection on Linux - GL: - fix indirect dispatch buffers diff --git a/Cargo.lock b/Cargo.lock index c968af57b3..e02857f707 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -601,7 +601,8 @@ dependencies = [ [[package]] name = "glow" version = "0.11.1" -source = "git+https://github.com/grovesNL/glow?rev=5851ca6#5851ca65e6b6f4f2c59683245c07de1843c85452" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c07210904884e8e2e6a2d7f36f39040a9cefe3b379b721969b5275e9f5b464a" dependencies = [ "js-sys", "slotmap", @@ -870,8 +871,9 @@ dependencies = [ [[package]] name = "naga" -version = "0.7.1" -source = "git+https://github.com/gfx-rs/naga?rev=8ffd6ba#8ffd6ba929b4b93c9564f08fe8bb34b23fa72a6f" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7216bec6be822a562dda435236539c7fb5aa5e5ceecc8c565e81139ed1d4b0" dependencies = [ "bit-set", "bitflags", @@ -1620,7 +1622,7 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.11.0" +version = "0.12.0" dependencies = [ "arrayvec", "async-executor", @@ -1654,7 +1656,7 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.11.0" +version = "0.12.0" dependencies = [ "arrayvec", "bitflags", @@ -1677,7 +1679,7 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.11.2" +version = "0.12.0" dependencies = [ "arrayvec", "ash", @@ -1715,7 +1717,7 @@ dependencies = [ [[package]] name = "wgpu-info" -version = "0.11.0" +version = "0.12.0" dependencies = [ "env_logger", "wgpu", @@ -1723,7 +1725,7 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.11.0" +version = "0.12.0" dependencies = [ "bitflags", "bitflags_serde_shim", diff --git a/Cargo.toml b/Cargo.toml index 49dbe2dd3d..038ab40f6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ default-members = ["wgpu", "wgpu-hal", "wgpu-info"] #gpu-alloc = { path = "../gpu-alloc/gpu-alloc" } [patch.crates-io] +#naga = { path = "../naga" } #glow = { path = "../glow" } #metal = { path = "../metal-rs" } #web-sys = { path = "../wasm-bindgen/crates/web-sys" } diff --git a/wgpu-core/Cargo.toml b/wgpu-core/Cargo.toml index ba0fd48d54..8d68c4c8c6 100644 --- a/wgpu-core/Cargo.toml +++ b/wgpu-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-core" -version = "0.11.0" +version = "0.12.0" authors = ["wgpu developers"] edition = "2018" description = "WebGPU core logic on wgpu-hal" @@ -37,33 +37,33 @@ smallvec = "1" thiserror = "1" [dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" features = ["span", "validate", "wgsl-in"] [dependencies.wgt] path = "../wgpu-types" package = "wgpu-types" -version = "0.11" +version = "0.12" [dependencies.hal] path = "../wgpu-hal" package = "wgpu-hal" -version = "0.11" +version = "0.12" [target.'cfg(target_arch = "wasm32")'.dependencies] -hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.11", features = ["gles"] } +hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.12", features = ["gles"] } [target.'cfg(all(not(target_arch = "wasm32"), any(target_os = "ios", target_os = "macos")))'.dependencies] -hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.11", features = ["metal"] } +hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.12", features = ["metal"] } #Note: could also enable "vulkan" for Vulkan Portability [target.'cfg(all(not(target_arch = "wasm32"), unix, not(target_os = "ios"), not(target_os = "macos")))'.dependencies] -hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.11", features = ["vulkan", "gles", "renderdoc"] } +hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.12", features = ["vulkan", "gles", "renderdoc"] } [target.'cfg(all(not(target_arch = "wasm32"), windows))'.dependencies] -hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.11", features = ["vulkan", "dx12", "renderdoc"] } +hal = { path = "../wgpu-hal", package = "wgpu-hal", version = "0.12", features = ["vulkan", "dx12", "renderdoc"] } [build-dependencies] cfg_aliases = "0.1" diff --git a/wgpu-hal/Cargo.toml b/wgpu-hal/Cargo.toml index c38b9d9938..43e850ba6f 100644 --- a/wgpu-hal/Cargo.toml +++ b/wgpu-hal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-hal" -version = "0.11.2" +version = "0.12.0" authors = ["wgpu developers"] edition = "2018" description = "WebGPU hardware abstraction layer" @@ -43,7 +43,7 @@ gpu-descriptor = { version = "0.2", optional = true } inplace_it = { version ="0.3.3", optional = true } # backend: Gles -glow = { git = "https://github.com/grovesNL/glow", rev = "5851ca6", optional = true } +glow = { version = "0.11.1", optional = true } # backend: Dx12 bit-set = { version = "0.5", optional = true } @@ -52,7 +52,7 @@ range-alloc = { version = "0.1", optional = true } [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.11" +version = "0.12" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] egl = { package = "khronos-egl", version = "4.1", features = ["dynamic"], optional = true } @@ -74,14 +74,14 @@ web-sys = { version = "0.3", features = ["Window", "HtmlCanvasElement", "WebGl2R js-sys = { version = "0.3" } [dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" [dev-dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" features = ["wgsl-in"] [dev-dependencies] diff --git a/wgpu-info/Cargo.toml b/wgpu-info/Cargo.toml index 92ffd03d74..b2dc2db63f 100644 --- a/wgpu-info/Cargo.toml +++ b/wgpu-info/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-info" -version = "0.11.0" +version = "0.12.0" authors = ["wgpu developers"] edition = "2018" description = "Adapter information and per-adapter test program" @@ -11,4 +11,4 @@ license = "MIT OR Apache-2.0" [dependencies] env_logger = "0.8" -wgpu = { version = "0.11", path = "../wgpu" } +wgpu = { version = "0.12", path = "../wgpu" } diff --git a/wgpu-types/Cargo.toml b/wgpu-types/Cargo.toml index 9d9fa2aec9..bdc69bc752 100644 --- a/wgpu-types/Cargo.toml +++ b/wgpu-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wgpu-types" -version = "0.11.0" +version = "0.12.0" authors = ["wgpu developers"] edition = "2018" description = "WebGPU types" diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index a2dbf7a511..f02f62a5aa 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "wgpu" -version = "0.11.0" +version = "0.12.0" authors = ["wgpu developers"] edition = "2018" description = "Rusty WebGPU API wrapper" homepage = "https://wgpu.rs/" -repository = "https://github.com/gfx-rs/wgpu/tree/v0.10" +repository = "https://github.com/gfx-rs/wgpu/tree/v0.12" keywords = ["graphics"] license = "MIT OR Apache-2.0" exclude = [ @@ -87,25 +87,25 @@ webgl = ["wgc"] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc] package = "wgpu-core" path = "../wgpu-core" -version = "0.11" +version = "0.12" features = ["raw-window-handle"] [target.'cfg(target_arch = "wasm32")'.dependencies.wgc] package = "wgpu-core" path = "../wgpu-core" -version = "0.11" +version = "0.12" features = ["raw-window-handle"] optional = true [dependencies.wgt] package = "wgpu-types" path = "../wgpu-types" -version = "0.11" +version = "0.12" [target.'cfg(not(target_arch = "wasm32"))'.dependencies.hal] package = "wgpu-hal" path = "../wgpu-hal" -version = "0.11" +version = "0.12" [dependencies] arrayvec = "0.7" @@ -135,22 +135,22 @@ pollster = "0.2" env_logger = "0.8" [dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" optional = true # used to test all the example shaders [dev-dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" features = ["wgsl-in"] [target.'cfg(target_arch = "wasm32")'.dependencies.naga] -git = "https://github.com/gfx-rs/naga" -rev = "8ffd6ba" -#version = "0.7" +#git = "https://github.com/gfx-rs/naga" +#rev = "8ffd6ba" +version = "0.8" features = ["wgsl-out"] [target.'cfg(target_arch = "wasm32")'.dependencies]