Skip to content

Commit 3443224

Browse files
Correct STORAGE_READ_ONLY exclusivity (#8490)
Fixes #8485
1 parent 775ff20 commit 3443224

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ By @SupaMaggie70Incorporated in [#8206](https://github.com/gfx-rs/wgpu/pull/8206
139139
- Removed three features from `wgpu-hal` which did nothing useful: `"cargo-clippy"`, `"gpu-allocator"`, and `"rustc-hash"`. By @kpreid in [#8357](https://github.com/gfx-rs/wgpu/pull/8357).
140140
- `wgpu_types::PollError` now always implements the `Error` trait. By @kpreid in [#8384](https://github.com/gfx-rs/wgpu/pull/8384).
141141
- The texture subresources used by the color attachments of a render pass are no longer allowed to overlap when accessed via different texture views. By @andyleiserson in [#8402](https://github.com/gfx-rs/wgpu/pull/8402).
142+
- The `STORAGE_READ_ONLY` texture usage is now permitted to coexist with other read-only usages. By @andyleiserson in [#8490](https://github.com/gfx-rs/wgpu/pull/8490).
142143
- Validate that buffers are unmapped in `write_buffer` calls. By @ErichDonGubler in [#8454](https://github.com/gfx-rs/wgpu/pull/8454).
143144

144145
#### DX12

cts_runner/test.lst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,13 @@ webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,depth
132132
webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,*
133133
webgpu:api,validation,render_pass,resolve:resolve_attachment:*
134134
webgpu:api,validation,resource_usages,buffer,in_pass_encoder:*
135-
// FAIL: 8 other cases in resource_usages,texture,in_pass_encoder. https://github.com/gfx-rs/wgpu/issues/3126
135+
// FAIL: 2 other cases in resource_usages,texture,in_pass_encoder. https://github.com/gfx-rs/wgpu/issues/3126
136136
webgpu:api,validation,resource_usages,texture,in_pass_encoder:scope,*
137137
webgpu:api,validation,resource_usages,texture,in_pass_encoder:shader_stages_and_visibility,*
138138
webgpu:api,validation,resource_usages,texture,in_pass_encoder:subresources_and_binding_types_combination_for_aspect:*
139139
webgpu:api,validation,resource_usages,texture,in_pass_encoder:subresources_and_binding_types_combination_for_color:compute=false;type0="render-target";type1="render-target"
140140
webgpu:api,validation,resource_usages,texture,in_pass_encoder:unused_bindings_in_pipeline:*
141+
webgpu:api,validation,resource_usages,texture,in_render_common:subresources,multiple_bind_groups:bg0Levels={"base":0,"count":1};*
141142
webgpu:api,validation,texture,rg11b10ufloat_renderable:*
142143
webgpu:api,operation,render_pipeline,overrides:*
143144
webgpu:api,operation,rendering,basic:clear:*

wgpu-types/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5721,10 +5721,10 @@ bitflags::bitflags! {
57215721
const TRANSIENT = 1 << 12;
57225722
/// The combination of states that a texture may be in _at the same time_.
57235723
/// cbindgen:ignore
5724-
const INCLUSIVE = Self::COPY_SRC.bits() | Self::RESOURCE.bits() | Self::DEPTH_STENCIL_READ.bits();
5724+
const INCLUSIVE = Self::COPY_SRC.bits() | Self::RESOURCE.bits() | Self::DEPTH_STENCIL_READ.bits() | Self::STORAGE_READ_ONLY.bits();
57255725
/// The combination of states that a texture must exclusively be in.
57265726
/// cbindgen:ignore
5727-
const EXCLUSIVE = Self::COPY_DST.bits() | Self::COLOR_TARGET.bits() | Self::DEPTH_STENCIL_WRITE.bits() | Self::STORAGE_READ_ONLY.bits() | Self::STORAGE_WRITE_ONLY.bits() | Self::STORAGE_READ_WRITE.bits() | Self::STORAGE_ATOMIC.bits() | Self::PRESENT.bits();
5727+
const EXCLUSIVE = Self::COPY_DST.bits() | Self::COLOR_TARGET.bits() | Self::DEPTH_STENCIL_WRITE.bits() | Self::STORAGE_WRITE_ONLY.bits() | Self::STORAGE_READ_WRITE.bits() | Self::STORAGE_ATOMIC.bits() | Self::PRESENT.bits();
57285728
/// The combination of all usages that the are guaranteed to be be ordered by the hardware.
57295729
/// If a usage is ordered, then if the texture state doesn't change between draw calls, there
57305730
/// are no barriers needed for synchronization.

0 commit comments

Comments
 (0)