1399: Fix segfault caused by improper drop order r=kvark a=cwfitzgerald
**Connections**
Closes#1398
**Description**
The disabled dtor of the global hub was causing the incorrect drop order causing devices to be dropped before instances.
**Testing**
Tested against up and coming testing code.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
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>
907: Add feature request for wgpu-rs r=kvark a=cwfitzgerald
Thanks @JMS55 for bringing this to my attention in #906
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
905: Fill Out Issue Templates r=kvark a=cwfitzgerald
This adds issue templates, as well as links to the wgpu-core tracker and the discussion board. Hopefully this should reduce the amount of issues we have to transfer.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
900: Fix initializing buffer with unaligned data r=grovesNL a=Uriopass
In wgpu 0.7, this was a valid operation, the zero padding was done by hand.
In #872 this logic was removed as an optimization since buffers are already zero initialized, however the slice end was taken from buffer.slice which has to be aligned when mapped.
This is causing issues when trying to update imgui-wgpu-rs (https://github.com/Yatekii/imgui-wgpu-rs/issues/54) to wgpu 0.8 since they use U16 index buffers with odd lengths.
Co-authored-by: Pâris DOUADY <paris.douady@hotmail.fr>
In wgpu 0.7, this was a valid operation, the zero padding was done by hand.
However in #872 this was removed as an optimization since buffers are zero padded, however the slice end was taken from buffer.slice which has to be aligned when mapped.
894: Skip mapping of zero sized buffers in create_buffer_init to avoid a panic and avoid creating an unused padded buffer r=kvark a=Imberflur
Co-authored-by: Imbris <imbrisf@gmail.com>
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>