1393: Fix dynamic stencil reference for Replace ops r=cwfitzgerald a=kvark
**Connections**
Fixes an issue reported on Matrix, where we'd not set the stencil reference.
**Description**
Our conditions didn't check the Replace ops.
**Testing**
Untested, YOLO
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
1391: Simplify features r=cwfitzgerald a=kvark
**Connections**
Fixes#1390
Makes vertex writable storage optional (native-only for now)
Fixes the follow-up to #891
**Description**
Refactors the code so that adding new features and maintaining current ones is much easier.
Refactors the way missing features are checked and reported, DRY way.
**Testing**
Not really tested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1381: Update naga to gfx-25 r=kvark a=kvark
**Connections**
Fixes#1362
Picks up https://github.com/gfx-rs/gfx/pull/3752 and https://github.com/gfx-rs/gfx/pull/3758
**Description**
Updates gfx and Naga. Hooks up the new validation capabilities.
**Testing**
Self-testing.
Note: this PR doesn't currently work because Metal's backend is now required use a sizes buffer when dynamically sized arrays are present. One of the internal tests here uses them.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1385: fix typo in PowerPreference::LowPower description r=cwfitzgerald a=cab
**Description**
Fixes a typo in the description of `PowerPreference::LowPower`.
**Testing**
None
Co-authored-by: Conner Bryan <conner@amps.io>
1358: Big refactor of the profiling usage r=kvark a=kvark
**Connections**
**Description**
Improves the profiling markers in many ways:
1. remove unnecessary leftovers from the `tracing` era, such as querying device/adapter features. These are one-time and light-weight. It's unlikely we are going to be interested in them.
2. add markers to where it really matters, such as `maintain` pieces, `submit` phases, render pass preparation, etc.
3. shorten the markers to be strictly the function names, passing the class name as a tag
**Testing**
Tested on vange-rs
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1354: Update profiling to 1.0 r=kvark a=kvark
**Connections**
https://github.com/gfx-rs/gfx/pull/3734
**Description**
Some crates like to release 1.0
**Testing**
Should work
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1353: Update naga to gfx-23 r=kvark a=kvark
**Connections**
Picks up https://github.com/gfx-rs/gfx/pull/3733
**Description**
Just a bunch of Naga fixes
**Testing**
To be tested in wgpu-rs
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1351: Hard error on SPIRV parsing failure when VALIDATION is requested r=cwfitzgerald a=kvark
**Connections**
Follow-up from https://github.com/gfx-rs/wgpu/issues/1350#issuecomment-825186159
**Description**
If the user provided SPIR-V, and they requested VALIDATION, and we fail to parse the file - there is no point to proceed.
VALIDATION flag should be a gaurantee of safe operation, so we can't just throw the same SPIR-V at SPIRV-Cross and pretend that it's ok.
**Testing**
Tested on noclip shaders
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
1348: Change error type for the backend shader r=kvark a=kvark
**Connections**
Fixes#1347
**Description**
Issues a better error for this case
**Testing**
Should work
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1346: Make implicit ids actually errors to start with r=kvark a=kvark
**Connections**
Follow-up to #1341
**Description**
Turns out, leaving the indices `Vacant` is also not an option, since the `hub.rs` code considers this an internal error (unexpected), and panics.
**Testing**
Tested on Austin's examples in Gecko
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
1332: Validate min/max blending factors r=kvark a=kvark
**Connections**
Based on #1325
Matches https://github.com/gpuweb/gpuweb/pull/1635
**Description**
This PR refactors the color state errors, giving them more detailed context, and having a dedicated enum for them.
It also adds the check for the blend factors to be (1, 1) for the min/max operations.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1341: Mark unused implicit BGL ids as vacant r=kvark a=kvark
**Connections**
Fixes https://github.com/gfx-rs/wgpu/issues/1340
**Description**
This is not an ideal solution. We aren't marking the IDs as errors. But it's an improvement, and it resolves the crash in FF, supposedly.
**Testing**
Tested on wgpu-rs examples with implicit layouts
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>