Release 0.12

This commit is contained in:
Dzmitry Malyshau 2021-12-16 23:57:21 -05:00
parent ec1d022a75
commit c00e471274
8 changed files with 119 additions and 47 deletions

View File

@ -1,10 +1,79 @@
# Change Log # 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 - GL/WebGL: fix vertex buffer bindings with non-zero first instance
- DX12: fix cube array view construction - 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 - Vulkan: fix NV optimus detection on Linux
- GL: - GL:
- fix indirect dispatch buffers - fix indirect dispatch buffers

18
Cargo.lock generated
View File

@ -601,7 +601,8 @@ dependencies = [
[[package]] [[package]]
name = "glow" name = "glow"
version = "0.11.1" 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 = [ dependencies = [
"js-sys", "js-sys",
"slotmap", "slotmap",
@ -870,8 +871,9 @@ dependencies = [
[[package]] [[package]]
name = "naga" name = "naga"
version = "0.7.1" version = "0.8.0"
source = "git+https://github.com/gfx-rs/naga?rev=8ffd6ba#8ffd6ba929b4b93c9564f08fe8bb34b23fa72a6f" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc7216bec6be822a562dda435236539c7fb5aa5e5ceecc8c565e81139ed1d4b0"
dependencies = [ dependencies = [
"bit-set", "bit-set",
"bitflags", "bitflags",
@ -1620,7 +1622,7 @@ dependencies = [
[[package]] [[package]]
name = "wgpu" name = "wgpu"
version = "0.11.0" version = "0.12.0"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"async-executor", "async-executor",
@ -1654,7 +1656,7 @@ dependencies = [
[[package]] [[package]]
name = "wgpu-core" name = "wgpu-core"
version = "0.11.0" version = "0.12.0"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"bitflags", "bitflags",
@ -1677,7 +1679,7 @@ dependencies = [
[[package]] [[package]]
name = "wgpu-hal" name = "wgpu-hal"
version = "0.11.2" version = "0.12.0"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"ash", "ash",
@ -1715,7 +1717,7 @@ dependencies = [
[[package]] [[package]]
name = "wgpu-info" name = "wgpu-info"
version = "0.11.0" version = "0.12.0"
dependencies = [ dependencies = [
"env_logger", "env_logger",
"wgpu", "wgpu",
@ -1723,7 +1725,7 @@ dependencies = [
[[package]] [[package]]
name = "wgpu-types" name = "wgpu-types"
version = "0.11.0" version = "0.12.0"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"bitflags_serde_shim", "bitflags_serde_shim",

View File

@ -25,6 +25,7 @@ default-members = ["wgpu", "wgpu-hal", "wgpu-info"]
#gpu-alloc = { path = "../gpu-alloc/gpu-alloc" } #gpu-alloc = { path = "../gpu-alloc/gpu-alloc" }
[patch.crates-io] [patch.crates-io]
#naga = { path = "../naga" }
#glow = { path = "../glow" } #glow = { path = "../glow" }
#metal = { path = "../metal-rs" } #metal = { path = "../metal-rs" }
#web-sys = { path = "../wasm-bindgen/crates/web-sys" } #web-sys = { path = "../wasm-bindgen/crates/web-sys" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wgpu-core" name = "wgpu-core"
version = "0.11.0" version = "0.12.0"
authors = ["wgpu developers"] authors = ["wgpu developers"]
edition = "2018" edition = "2018"
description = "WebGPU core logic on wgpu-hal" description = "WebGPU core logic on wgpu-hal"
@ -37,33 +37,33 @@ smallvec = "1"
thiserror = "1" thiserror = "1"
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
features = ["span", "validate", "wgsl-in"] features = ["span", "validate", "wgsl-in"]
[dependencies.wgt] [dependencies.wgt]
path = "../wgpu-types" path = "../wgpu-types"
package = "wgpu-types" package = "wgpu-types"
version = "0.11" version = "0.12"
[dependencies.hal] [dependencies.hal]
path = "../wgpu-hal" path = "../wgpu-hal"
package = "wgpu-hal" package = "wgpu-hal"
version = "0.11" version = "0.12"
[target.'cfg(target_arch = "wasm32")'.dependencies] [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] [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 #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] [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] [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] [build-dependencies]
cfg_aliases = "0.1" cfg_aliases = "0.1"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wgpu-hal" name = "wgpu-hal"
version = "0.11.2" version = "0.12.0"
authors = ["wgpu developers"] authors = ["wgpu developers"]
edition = "2018" edition = "2018"
description = "WebGPU hardware abstraction layer" description = "WebGPU hardware abstraction layer"
@ -43,7 +43,7 @@ gpu-descriptor = { version = "0.2", optional = true }
inplace_it = { version ="0.3.3", optional = true } inplace_it = { version ="0.3.3", optional = true }
# backend: Gles # backend: Gles
glow = { git = "https://github.com/grovesNL/glow", rev = "5851ca6", optional = true } glow = { version = "0.11.1", optional = true }
# backend: Dx12 # backend: Dx12
bit-set = { version = "0.5", optional = true } bit-set = { version = "0.5", optional = true }
@ -52,7 +52,7 @@ range-alloc = { version = "0.1", optional = true }
[dependencies.wgt] [dependencies.wgt]
package = "wgpu-types" package = "wgpu-types"
path = "../wgpu-types" path = "../wgpu-types"
version = "0.11" version = "0.12"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egl = { package = "khronos-egl", version = "4.1", features = ["dynamic"], optional = true } 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" } js-sys = { version = "0.3" }
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
[dev-dependencies.naga] [dev-dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
features = ["wgsl-in"] features = ["wgsl-in"]
[dev-dependencies] [dev-dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wgpu-info" name = "wgpu-info"
version = "0.11.0" version = "0.12.0"
authors = ["wgpu developers"] authors = ["wgpu developers"]
edition = "2018" edition = "2018"
description = "Adapter information and per-adapter test program" description = "Adapter information and per-adapter test program"
@ -11,4 +11,4 @@ license = "MIT OR Apache-2.0"
[dependencies] [dependencies]
env_logger = "0.8" env_logger = "0.8"
wgpu = { version = "0.11", path = "../wgpu" } wgpu = { version = "0.12", path = "../wgpu" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wgpu-types" name = "wgpu-types"
version = "0.11.0" version = "0.12.0"
authors = ["wgpu developers"] authors = ["wgpu developers"]
edition = "2018" edition = "2018"
description = "WebGPU types" description = "WebGPU types"

View File

@ -1,11 +1,11 @@
[package] [package]
name = "wgpu" name = "wgpu"
version = "0.11.0" version = "0.12.0"
authors = ["wgpu developers"] authors = ["wgpu developers"]
edition = "2018" edition = "2018"
description = "Rusty WebGPU API wrapper" description = "Rusty WebGPU API wrapper"
homepage = "https://wgpu.rs/" 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"] keywords = ["graphics"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
exclude = [ exclude = [
@ -87,25 +87,25 @@ webgl = ["wgc"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgc]
package = "wgpu-core" package = "wgpu-core"
path = "../wgpu-core" path = "../wgpu-core"
version = "0.11" version = "0.12"
features = ["raw-window-handle"] features = ["raw-window-handle"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wgc] [target.'cfg(target_arch = "wasm32")'.dependencies.wgc]
package = "wgpu-core" package = "wgpu-core"
path = "../wgpu-core" path = "../wgpu-core"
version = "0.11" version = "0.12"
features = ["raw-window-handle"] features = ["raw-window-handle"]
optional = true optional = true
[dependencies.wgt] [dependencies.wgt]
package = "wgpu-types" package = "wgpu-types"
path = "../wgpu-types" path = "../wgpu-types"
version = "0.11" version = "0.12"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hal] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.hal]
package = "wgpu-hal" package = "wgpu-hal"
path = "../wgpu-hal" path = "../wgpu-hal"
version = "0.11" version = "0.12"
[dependencies] [dependencies]
arrayvec = "0.7" arrayvec = "0.7"
@ -135,22 +135,22 @@ pollster = "0.2"
env_logger = "0.8" env_logger = "0.8"
[dependencies.naga] [dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
optional = true optional = true
# used to test all the example shaders # used to test all the example shaders
[dev-dependencies.naga] [dev-dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
features = ["wgsl-in"] features = ["wgsl-in"]
[target.'cfg(target_arch = "wasm32")'.dependencies.naga] [target.'cfg(target_arch = "wasm32")'.dependencies.naga]
git = "https://github.com/gfx-rs/naga" #git = "https://github.com/gfx-rs/naga"
rev = "8ffd6ba" #rev = "8ffd6ba"
#version = "0.7" version = "0.8"
features = ["wgsl-out"] features = ["wgsl-out"]
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]