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>
1315: Add buffer arrays r=kvark a=csnewman
**Connections**
https://github.com/gfx-rs/wgpu-rs/pull/850
**Description**
Adds buffer array bindings
**Testing**
TODO
<!--
Non-trivial functional changes would need to be tested through:
- [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) - test the examples.
- [wgpu-native](https://github.com/gfx-rs/wgpu-native/) - check the generated C header for sanity.
Ideally, a PR needs to link to the draft PRs in these projects with relevant modifications.
See https://github.com/gfx-rs/wgpu/pull/666 for an example.
If you can add a unit/integration test here in `wgpu`, that would be best.
-->
Co-authored-by: Chandler Newman <chandler2newman@hotmail.co.uk>
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>
1331: Validate filtering r=cwfitzgerald a=kvark
**Connections**
See https://github.com/gpuweb/gpuweb/pull/1223
**Description**
This PR implements validation of sampler filtering (property in BGL), as well as the ability to filter non-filterable textures.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1325: Relax and imporve vertex attribute validation r=cwfitzgerald a=kvark
**Connections**
None
**Description**
Improves our validation of vertex attributes in the following ways:
1. Relaxes the size matching, so that we allow the shaders to default some of the values we don't provide
2. Require interpolation to match
3. Make the error messages more detailed:
> In Device::create_render_pipeline
error in stage VERTEX
error matching the stage input at 1 (Uint32x2 interpolated as None) against the previous stage outputs
input type is not compatible with the provided Float32x2
**Testing**
Tested on wgpu-rs examples.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1320: Update naga to gfx-21 r=kvark a=kvark
**Connections**
See https://github.com/gfx-rs/gfx/pull/3720
**Description**
Brings a number of Naga fixes.
**Testing**
wgpu-rs examples
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1313: Don't panic on change_extend errors r=cwfitzgerald a=kvark
**Connections**
???
**Description**
We used to have leftover `unwrap()` for extending the usages of render targets.
Now these are all routed via `UsageConflicts` into actual errors.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1311: Update gfx with the cmd buf freeing fix r=kvark a=kvark
**Connections**
Includes https://github.com/gfx-rs/gfx/pull/3717
**Description**
just an update
**Testing**
nopes
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1310: Updated `gpu-alloc` to rev 2cd1ad6 r=kvark a=francesco-cattoglio
**Connections**
Updated gpu-alloc to include the commit that fixed https://github.com/zakarumych/gpu-alloc/issues/41
**Description**
It is a simple update of a dependency.
**Testing**
I have not tested this change, I just made sure that everything was still compiling correctly.
<!--
Non-trivial functional changes would need to be tested through:
- [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) - test the examples.
- [wgpu-native](https://github.com/gfx-rs/wgpu-native/) - check the generated C header for sanity.
Ideally, a PR needs to link to the draft PRs in these projects with relevant modifications.
See https://github.com/gfx-rs/wgpu/pull/666 for an example.
If you can add a unit/integration test here in `wgpu`, that would be best.
-->
Co-authored-by: Franz <francesco.cattoglio@gmail.com>
1309: Move depth clamping to primitive state r=kvark a=kvark
**Connections**
Matches https://github.com/gpuweb/gpuweb/pull/1583
**Description**
There are valid cases where we'd want the depth clamping happening without any depth/stencil attachment or state.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>