1107: Use `repr(transparent)` for shader flags r=cwfitzgerald a=grovesNL
**Connections**
None
**Description**
This allows cbindgen to generate bindings for shader flags in wgpu-native.
**Testing**
After `WGPUShaderFlags` is exposed in wgpu-native, bindings for `WGPUShaderFlags` will be generated in wgpu.h
Co-authored-by: Joshua Groves <josh@joshgroves.com>
684: First step for WebGL support. r=grovesNL a=VincentFTS
This permits to test WebGL backend in Wgpu-rs.
Next step is to test examples to make them work with WebGL backend !
Co-authored-by: Vincent Jousse <contact@ftsoftware.fr>
1103: Fix Assorted Low-Hanging Validation and Error Message Issues r=kvark a=cwfitzgerald
**Connections**
Closes#1085Closes#393Closes#1053
**Description**
These commits are independent and should be reviewed individually. Combined into a single PR to reduce noise.
Overview of what was done:
- Add validation for empty texture and buffer usage flags. (#393)
- Add allowed texture usage flags to `format.describe()` (#1085)
Validate new textures follow the allowed usage flags.
- Properly validates vertex and buffers are bound. (#1053)
Improves error messages when no vertex buffer is bound. (Before it said the limit was 0, now it says something is unbound)
- Improve the vertex buffer overrun messages by keeping track of which slot has the smallest index.
**Testing**
Tested on examples by artificially creating the situation I am trying to validate, as well as running clean examples to make sure they pass validation.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
1100: Validate swapchain extent as non-zero r=kvark a=cwfitzgerald
**Connections**
Fixes#1026.
**Description**
Zero area swapchains are UB under vulkan, and should be verboten.
**Testing**
Not tested
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
688: Use only 1 and 4 samples for msaa-line example r=kvark a=cwfitzgerald
As 1 and 4 samples are the only universally supported values, switch the msaa-line example to only using them. In the future where users can determine the supported sample counts. See https://github.com/gfx-rs/wgpu/issues/804
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
1099: Pass DEPTH_CLAMPING feature request to gfx-hal r=cwfitzgerald a=Imberflur
**Connections**
Fixes#1087
**Description**
The request for the depth clamping feature was not being passed down to `gfx-hal`. This led to a warning from the vulkan backend when attempting to use this feature.
**Testing**
ran `wgpu-rs` shadow example and the warning no longer appears
<!--
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: Imbris <imbrisf@gmail.com>
1098: Move AdapterInfo into wgt r=grovesNL a=kvark
**Connections**
Fixes#1095
**Description**
This is just nicer code, and we'll be able to make `get_info` available on Web targets.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1096: Fix build for wasm32 target r=kvark a=VincentFTS
**Connections**
#115
**Description**
Fix Wgpu build for Wasm target
**Testing**
It’s just a first step toward wasm support in Wgpu-rs, a PR in Wgpu-rs will come later.
Co-authored-by: Vincent Jousse <contact@ftsoftware.fr>
1097: Fix bad copy/paste in #907 r=grovesNL a=VincentFTS
**Connections**
#907
**Description**
Fix a copy/paste from dx11 code.
Co-authored-by: Vincent Jousse <contact@ftsoftware.fr>
680: Update wgpu with Naga fixes and OpenGL backend r=cwfitzgerald a=kvark
This PR makes it easier to build wgpu-rs on Linux, since it doesn't require pkg-config into EGL.
Fixes#607
Fixes https://github.com/gfx-rs/wgpu/issues/1063
Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
1093: Update naga and gfx, move the shader validation into a shader descriptor bit r=cwfitzgerald a=kvark
**Connections**
Includes https://github.com/gfx-rs/gfx/pull/3533 and a bunch of Naga things.
**Description**
Updates Naga with the new WGSL syntax, lots of fixes.
Large update of the GL backend.
**Testing**
Tested on some wgpu-rs examples.
Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
1092: Optimize submit() for no command buffers r=kvark a=kvark
**Connections**
Just a few bits I found when tinkering with API traces.
**Description**
No need to lock the world if there are no command buffers.
**Testing**
tested on API traces
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1090: Clean up render pass labels r=kvark a=kvark
**Connections**
Follow-up to #1088 to fix https://github.com/gfx-rs/wgpu/issues/1089#issuecomment-745596393
**Description**
Render passes are recorded into their own command buffers under the hood, and I forgot to properly reset the labels on them.
**Testing**
Untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1088: Fix and improve object labels and command markers r=cwfitzgerald a=kvark
**Connections**
Fixes a part of #1089
**Description**
PR contains a bunch of small but important things:
- reset the command buffer label after submission
- add labels to compute and pass descriptors
- actually push/pop markers for the scope of render bundle, compute passes
- set the label to render pass command buffers
- set labels on pipelines
**Testing**
Not tested much
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
672: Add write_whole_texture_mips Helper r=kvark a=cwfitzgerald
Adds a helper in QueueExt for uploading an entire texture with all of its mips. Name very bikeshedable.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
1086: Add SHADER_READ usage bit to non-readonly buffers r=kvark a=infinitesnow
Change-Id: I99d189e7ef295a58c2179635f95656eb9a2f5fe6
**Connections**
Fixes#949
**Description**
Non-readonly buffers are created with the STORAGE_WRITE usage flag, but that implies SHADER_READ too.
Co-authored-by: Emanuele Dalla Longa <3xplosive.g@gmail.com>
1077: Remove extern "C" from set_index_buffer r=kvark a=DevOrc
**Connections**
Fixes an issue that is blocking gfx-rs/wgpu-native#61
**Description**
Moves the ffi definition of wgpu_render_bundle_set_index_buffer / wgpu_render_pass_set_index_buffer to wgpu-native. This is needed because wgpu-native has its own version of IndexFormat that is different than the wgpu_types version.
**Testing**
My projects with wgpu-native work
Co-authored-by: Noah Charlton <ncharlton002@gmail.com>