Skip to content

Commit 011a4e2

Browse files
cwfitzgeraldConnor Fitzgerald
andauthored
Release v0.16.0 (#3707)
Co-authored-by: Connor Fitzgerald <[email protected]>
1 parent c86f977 commit 011a4e2

File tree

6 files changed

+114
-68
lines changed

6 files changed

+114
-68
lines changed

CHANGELOG.md

Lines changed: 82 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,14 @@ Bottom level categories:
4040

4141
## Unreleased
4242

43+
## v0.16.0 (2023-04-19)
44+
4345
### Major changes
4446

4547
#### TextureFormat info API
4648

47-
The `describe` fn was removed in favor of separate functions: `block_dimensions`, `is_compressed`, `is_srgb`, `required_features`, `guaranteed_format_features`, `sample_type` and `block_size`.
49+
The `TextureFormat::describe` function was removed in favor of separate functions: `block_dimensions`, `is_compressed`, `is_srgb`, `required_features`, `guaranteed_format_features`, `sample_type` and `block_size`.
50+
4851

4952
```diff
5053
- let block_dimensions = format.describe().block_dimensions;
@@ -55,8 +58,13 @@ The `describe` fn was removed in favor of separate functions: `block_dimensions`
5558
+ let is_srgb = format.is_srgb();
5659
- let required_features = format.describe().required_features;
5760
+ let required_features = format.required_features();
61+
```
62+
63+
Additionally `guaranteed_format_features` now takes a set of features to assume are enabled.
64+
65+
```diff
5866
- let guaranteed_format_features = format.describe().guaranteed_format_features;
59-
+ let guaranteed_format_features = format.guaranteed_format_features();
67+
+ let guaranteed_format_features = format.guaranteed_format_features(device.features());
6068
```
6169

6270
Additionally `sample_type` and `block_size` now take an optional `TextureAspect` and return `Option`s.
@@ -100,7 +108,7 @@ By @teoxoy in [#3534](https://github.com/gfx-rs/wgpu/pull/3534)
100108

101109
#### Anisotropic Filtering
102110

103-
Anisotropic filtering has been brought in line with the spec. The anisotropic clamp is now a u16 (was a `Option<u8>`) which must be at least 1.
111+
Anisotropic filtering has been brought in line with the spec. The anisotropic clamp is now a `u16` (was a `Option<u8>`) which must be at least 1.
104112

105113
If the anisotropy clamp is not 1, all the filters in a sampler must be `Linear`.
106114

@@ -124,10 +132,9 @@ Some texture format names have changed to get back in line with the spec.
124132

125133
By @cwfitzgerald in [#3671](https://github.com/gfx-rs/wgpu/pull/3671).
126134

127-
#### General
135+
#### Misc Breaking Changes
128136

129137
- Change type of `mip_level_count` and `array_layer_count` (members of `TextureViewDescriptor` and `ImageSubresourceRange`) from `Option<NonZeroU32>` to `Option<u32>`. By @teoxoy in [#3445](https://github.com/gfx-rs/wgpu/pull/3445)
130-
- All `fxhash` dependencies have been replaced with `rustc-hash`. By @james7132 in [#3502](https://github.com/gfx-rs/wgpu/pull/3502)
131138
- Change type of `bytes_per_row` and `rows_per_image` (members of `ImageDataLayout`) from `Option<NonZeroU32>` to `Option<u32>`. By @teoxoy in [#3529](https://github.com/gfx-rs/wgpu/pull/3529)
132139
- On Web, `Instance::create_surface_from_canvas()` and `create_surface_from_offscreen_canvas()` now take the canvas by value. By @daxpedda in [#3690](https://github.com/gfx-rs/wgpu/pull/3690)
133140

@@ -139,6 +146,7 @@ By @cwfitzgerald in [#3671](https://github.com/gfx-rs/wgpu/pull/3671).
139146
- Added `BufferUsages::QUERY_RESOLVE`. By @JolifantoBambla in [#3489](https://github.com/gfx-rs/wgpu/pull/3489)
140147
- Support stencil-only views and copying to/from combined depth-stencil textures. By @teoxoy in [#3436](https://github.com/gfx-rs/wgpu/pull/3436)
141148
- Added `Features::SHADER_EARLY_DEPTH_TEST`. By @teoxoy in [#3494](https://github.com/gfx-rs/wgpu/pull/3494)
149+
- All `fxhash` dependencies have been replaced with `rustc-hash`. By @james7132 in [#3502](https://github.com/gfx-rs/wgpu/pull/3502)
142150
- Allow copying of textures with copy-compatible formats. By @teoxoy in [#3528](https://github.com/gfx-rs/wgpu/pull/3528)
143151
- Improve attachment related errors. By @cwfitzgerald in [#3549](https://github.com/gfx-rs/wgpu/pull/3549)
144152
- Make error descriptions all upper case. By @cwfitzgerald in [#3549](https://github.com/gfx-rs/wgpu/pull/3549)
@@ -149,72 +157,110 @@ By @cwfitzgerald in [#3671](https://github.com/gfx-rs/wgpu/pull/3671).
149157

150158
#### WebGPU
151159

152-
- Implement `CommandEncoder::clear_buffer`. By @raphlinus in [#3426](https://github.com/gfx-rs/wgpu/pull/3426)
153160
- Implement the new checks for readonly stencils. By @JCapucho in [#3443](https://github.com/gfx-rs/wgpu/pull/3443)
154161
- Reimplement `adapter|device_features`. By @jinleili in [#3428](https://github.com/gfx-rs/wgpu/pull/3428)
155162
- Implement `command_encoder_resolve_query_set`. By @JolifantoBambla in [#3489](https://github.com/gfx-rs/wgpu/pull/3489)
156163
- Add support for `Features::RG11B10UFLOAT_RENDERABLE`. By @mockersf in [#3689](https://github.com/gfx-rs/wgpu/pull/3689)
157164

158165
#### Vulkan
159-
160-
- Improve format MSAA capabilities detection. By @jinleili in [#3429](https://github.com/gfx-rs/wgpu/pull/3429)
161-
- Fix surface view formats validation error. By @jinleili in [#3432](https://github.com/gfx-rs/wgpu/pull/3432)
162166
- Set `max_memory_allocation_size` via `PhysicalDeviceMaintenance3Properties`. By @jinleili in [#3567](https://github.com/gfx-rs/wgpu/pull/3567)
163167
- Silence false-positive validation error about surface resizing. By @seabassjh in [#3627](https://github.com/gfx-rs/wgpu/pull/3627)
164168

165169
### Bug Fixes
166170

167-
#### WebGPU
171+
#### General
172+
- `copyTextureToTexture` src/dst aspects must both refer to all aspects of src/dst format. By @teoxoy in [#3431](https://github.com/gfx-rs/wgpu/pull/3431)
173+
- Validate before extracting texture selectors. By @teoxoy in [#3487](https://github.com/gfx-rs/wgpu/pull/3487)
174+
- Fix fatal errors (those which panic even if an error handler is set) not including all of the details. By @kpreid in [#3563](https://github.com/gfx-rs/wgpu/pull/3563)
175+
- Validate shader location clashes. By @emilk in [#3613](https://github.com/gfx-rs/wgpu/pull/3613)
176+
- Fix surfaces not being dropped until exit. By @benjaminschaaf in [#3647](https://github.com/gfx-rs/wgpu/pull/3647)
168177

178+
#### WebGPU
169179
- Fix handling of `None` values for `depth_ops` and `stencil_ops` in `RenderPassDescriptor::depth_stencil_attachment`. By @niklaskorz in [#3660](https://github.com/gfx-rs/wgpu/pull/3660)
170-
171-
#### Metal
172-
- Fix incorrect mipmap being sampled when using `MinLod <= 0.0` and `MaxLod >= 32.0` or when the fragment shader samples different Lods in the same quad. By @cwfitzgerald in [#3610](https://github.com/gfx-rs/wgpu/pull/3610).
180+
- Avoid using `WasmAbi` functions for WebGPU backend. By @grovesNL in [#3657](https://github.com/gfx-rs/wgpu/pull/3657)
173181

174182
#### DX12
175-
176-
- Fix DXC validation issues when using a custom `dxil_path`. By @Elabajaba in [#3434](https://github.com/gfx-rs/wgpu/pull/3434)
177183
- Use typeless formats for textures that might be viewed as srgb or non-srgb. By @teoxoy in [#3555](https://github.com/gfx-rs/wgpu/pull/3555)
178184

179185
#### GLES
180-
181-
- [gles] fix: Set FORCE_POINT_SIZE if it is vertex shader with mesh consist of point list. By @REASY in [3440](https://github.com/gfx-rs/wgpu/pull/3440)
182-
- [gles] fix: enable `WEBGL_debug_renderer_info` before querying unmasked vendor/renderer to avoid crashing on emscripten in [#3519](https://github.com/gfx-rs/wgpu/pull/3519)
186+
- Set FORCE_POINT_SIZE if it is vertex shader with mesh consist of point list. By @REASY in [3440](https://github.com/gfx-rs/wgpu/pull/3440)
183187
- Remove unwraps inside `surface.configure`. By @cwfitzgerald in [#3585](https://github.com/gfx-rs/wgpu/pull/3585)
188+
- Fix `copy_external_image_to_texture`, `copy_texture_to_texture` and `copy_buffer_to_texture` not taking the specified index into account if the target texture is a cube map, 2D texture array or cube map array. By @daxpedda [#3641](https://github.com/gfx-rs/wgpu/pull/3641)
189+
- Fix disabling of vertex attributes with non-consecutive locations. By @Azorlogh in [#3706](https://github.com/gfx-rs/wgpu/pull/3706)
190+
191+
#### Metal
192+
- Fix metal erroring on an `array_stride` of 0. By @teoxoy in [#3538](https://github.com/gfx-rs/wgpu/pull/3538)
193+
- `create_texture` returns an error if `new_texture` returns NULL. By @jinleili in [#3554](https://github.com/gfx-rs/wgpu/pull/3554)
194+
- Fix shader bounds checking being ignored. By @FL33TW00D in [#3603](https://github.com/gfx-rs/wgpu/pull/3603)
195+
196+
#### Vulkan
197+
- Treat `VK_SUBOPTIMAL_KHR` as `VK_SUCCESS` on Android due to rotation issues. By @James2022-rgb in [#3525](https://github.com/gfx-rs/wgpu/pull/3525)
198+
199+
### Examples
200+
- Use `BufferUsages::QUERY_RESOLVE` instead of `BufferUsages::COPY_DST` for buffers used in `CommandEncoder::resolve_query_set` calls in `mipmap` example. By @JolifantoBambla in [#3489](https://github.com/gfx-rs/wgpu/pull/3489)
201+
202+
## v0.15.3 (2023-03-22)
203+
204+
### Bug Fixes
205+
206+
#### Metal
207+
- Fix incorrect mipmap being sampled when using `MinLod <= 0.0` and `MaxLod >= 32.0` or when the fragment shader samples different Lods in the same quad. By @cwfitzgerald in [#3610](https://github.com/gfx-rs/wgpu/pull/3610).
208+
209+
#### GLES
210+
- Fix `Vertex buffer is not big enough for the draw call.` for ANGLE/Web when rendering with instance attributes on a single instance. By @wumpf in [#3596](https://github.com/gfx-rs/wgpu/pull/3596)
184211
- Reset all queue state between command buffers in a submit. By @jleibs [#3589](https://github.com/gfx-rs/wgpu/pull/3589)
185212
- Reset the state of `SAMPLE_ALPHA_TO_COVERAGE` on queue reset. By @jleibs [#3589](https://github.com/gfx-rs/wgpu/pull/3589)
186-
- Fix `Vertex buffer is not big enough for the draw call.` for ANGLE/Web when rendering with instance attributes on a single instance. By @wumpf in [#3597](https://github.com/gfx-rs/wgpu/pull/3597)
187-
- Fix `copy_external_image_to_texture`, `copy_texture_to_texture` and `copy_buffer_to_texture` not taking the specified index into account if the target texture is a cube map, 2D texture array or cube map array. By @daxpedda [#3641](https://github.com/gfx-rs/wgpu/pull/3641)
188-
- Fix disabling of vertex attributes with non-consecutive locations [#3706](https://github.com/gfx-rs/wgpu/pull/3706)
213+
214+
215+
## wgpu-0.15.2 (2023-03-08)
216+
217+
### Bug Fixes
189218

190219
#### Metal
220+
- Fix definition of `NSOperatingSystemVersion` to avoid potential crashes. By @grovesNL in [#3557](https://github.com/gfx-rs/wgpu/pull/3557)
191221

192-
- Fix metal erroring on an `array_stride` of 0. By @teoxoy in [#3538](https://github.com/gfx-rs/wgpu/pull/3538)
222+
#### GLES
223+
- Enable `WEBGL_debug_renderer_info` before querying unmasked vendor/renderer to avoid crashing on emscripten in [#3519](https://github.com/gfx-rs/wgpu/pull/3519)
193224

194-
#### WebGPU
225+
## wgpu-0.15.1 (2023-02-09)
195226

196-
- Avoid using `WasmAbi` functions for WebGPU backend. By @grovesNL in [#3657](https://github.com/gfx-rs/wgpu/pull/3657)
227+
### Changes
197228

198229
#### General
230+
- Fix for some minor issues in comments on some features. By @Wumpf in [#3455](https://github.com/gfx-rs/wgpu/pull/3455)
199231

200-
- `copyTextureToTexture` src/dst aspects must both refer to all aspects of src/dst format. By @teoxoy in [#3431](https://github.com/gfx-rs/wgpu/pull/3431)
201-
- Validate before extracting texture selectors. By @teoxoy in [#3487](https://github.com/gfx-rs/wgpu/pull/3487)
202-
- Fix fatal errors (those which panic even if an error handler is set) not including all of the details. By @kpreid in [#3563](https://github.com/gfx-rs/wgpu/pull/3563)
203-
- Validate shader location clashes. By @emilk in [#3613](https://github.com/gfx-rs/wgpu/pull/3613)
204-
- Fix surfaces not being dropped until exit. By @benjaminschaaf in [#3647](https://github.com/gfx-rs/wgpu/pull/3647)
232+
#### Vulkan
233+
- Improve format MSAA capabilities detection. By @jinleili in [#3429](https://github.com/gfx-rs/wgpu/pull/3429)
234+
235+
#### DX12
236+
- Update gpu allocator to 0.22. By @Elabajaba in [#3447](https://github.com/gfx-rs/wgpu/pull/3447)
237+
238+
#### WebGPU
239+
- Implement `CommandEncoder::clear_buffer`. By @raphlinus in [#3426](https://github.com/gfx-rs/wgpu/pull/3426)
240+
241+
### Bug Fixes
242+
243+
#### General
244+
- Re-sort supported surface formats based on srgb-ness. By @cwfitzgerald in [#3444](https://github.com/gfx-rs/wgpu/pull/3444)
205245

206246
#### Vulkan
247+
- Fix surface view formats validation error. By @jinleili in [#3432](https://github.com/gfx-rs/wgpu/pull/3432)
207248

208-
- Treat `VK_SUBOPTIMAL_KHR` as `VK_SUCCESS` on Android. By @James2022-rgb in [#3525](https://github.com/gfx-rs/wgpu/pull/3525)
249+
#### DX12
250+
- Fix DXC validation issues when using a custom `dxil_path`. By @Elabajaba in [#3434](https://github.com/gfx-rs/wgpu/pull/3434)
209251

210-
#### Metal
211-
- `create_texture` returns an error if `new_texture` returns NULL. By @jinleili in [#3554](https://github.com/gfx-rs/wgpu/pull/3554)
212-
- Fix definition of `NSOperatingSystemVersion` to avoid potential crashes. By @grovesNL in [#3557](https://github.com/gfx-rs/wgpu/pull/3557)
213-
- Fix shader bounds checking being ignored. By @FL33TW00D in [#3603](https://github.com/gfx-rs/wgpu/pull/3603)
252+
#### GLES
253+
- Unbind vertex buffers at end of renderpass. By @cwfitzgerald in [#3459](https://github.com/gfx-rs/wgpu/pull/3459)
214254

215-
### Examples
255+
#### WebGPU
256+
257+
- Reimplement `{adapter|device}_features`. By @jinleili in [#3428](https://github.com/gfx-rs/wgpu/pull/3428)
258+
259+
### Documentation
260+
261+
#### General
262+
- Build for WASM on docs.rs. By @daxpedda in [#3462](https://github.com/gfx-rs/wgpu/pull/3428)
216263

217-
- Use `BufferUsages::QUERY_RESOLVE` instead of `BufferUsages::COPY_DST` for buffers used in `CommandEncoder::resolve_query_set` calls in `mipmap` example. By @JolifantoBambla in [#3489](https://github.com/gfx-rs/wgpu/pull/3489)
218264

219265
## wgpu-0.15.0 (2023-01-25)
220266

Cargo.lock

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,28 @@ keywords = ["graphics"]
2222
license = "MIT OR Apache-2.0"
2323
homepage = "https://wgpu.rs/"
2424
repository = "https://github.com/gfx-rs/wgpu"
25-
version = "0.15.0"
25+
version = "0.16.0"
2626
authors = ["wgpu developers"]
2727

2828
[workspace.dependencies.wgc]
2929
package = "wgpu-core"
3030
path = "./wgpu-core"
31-
version = "0.15"
31+
version = "0.16"
3232

3333
[workspace.dependencies.wgt]
3434
package = "wgpu-types"
3535
path = "./wgpu-types"
36-
version = "0.15"
36+
version = "0.16"
3737

3838
[workspace.dependencies.hal]
3939
package = "wgpu-hal"
4040
path = "./wgpu-hal"
41-
version = "0.15"
41+
version = "0.16"
4242

4343
[workspace.dependencies.naga]
4444
git = "https://github.com/gfx-rs/naga"
45-
rev = "b9c5cb5a7841a8728137a58840fbbdbb9b310267"
46-
version = "0.11.0"
45+
rev = "b99d58ea435090e561377949f428bce2c18451bb"
46+
version = "0.12.0"
4747

4848
[workspace.dependencies]
4949
arrayvec = "0.7"
@@ -83,7 +83,7 @@ serde_json = "1.0.96"
8383
smallvec = "1"
8484
static_assertions = "1.1.0"
8585
thiserror = "1"
86-
wgpu = { version = "0.15", path = "./wgpu" }
86+
wgpu = { version = "0.16", path = "./wgpu" }
8787
winit = "0.27.1"
8888

8989
# Metal dependencies

wgpu-core/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "wgpu-core"
3-
version = "0.15.0"
3+
version = "0.16.0"
44
authors = ["wgpu developers"]
55
edition = "2021"
66
description = "WebGPU core logic on wgpu-hal"
@@ -67,19 +67,19 @@ thiserror = "1"
6767

6868
[dependencies.naga]
6969
git = "https://github.com/gfx-rs/naga"
70-
rev = "b9c5cb5a7841a8728137a58840fbbdbb9b310267"
71-
version = "0.11.0"
70+
rev = "b99d58ea435090e561377949f428bce2c18451bb"
71+
version = "0.12.0"
7272
features = ["clone", "span", "validate"]
7373

7474
[dependencies.wgt]
7575
package = "wgpu-types"
7676
path = "../wgpu-types"
77-
version = "0.15"
77+
version = "0.16"
7878

7979
[dependencies.hal]
8080
package = "wgpu-hal"
8181
path = "../wgpu-hal"
82-
version = "0.15"
82+
version = "0.16"
8383

8484
[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies]
8585
web-sys = { version = "0.3.60", features = ["HtmlCanvasElement", "OffscreenCanvas"] }

0 commit comments

Comments
 (0)