1183: Improve docs language r=cwfitzgerald a=danielzgtg
**Description**
- s/fact culling/face culling/g
- s/are draw /are drawn /g
**Testing**
- There are no code change.
- The documentation should be less confusing
Co-authored-by: Daniel Tang <danielzgtg.opensource@gmail.com>
1182: Update all versions r=kvark a=kvark
**Connections**
Picks up https://github.com/gfx-rs/gfx/pull/3620 and a bunch of other fixes in gfx-rs and naga.
**Description**
Updates the dependencies ("gfx-9" naga train) as well as self version to 0.7, to match the v0.7 branch.
**Testing**
Should just work :)
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1159: Zero initialize buffers r=kvark a=Wumpf
**Connections**
First half of #563, focusing solely on buffers and ignoring same issue for textures
**Description**
Tracks for each buffer which parts are initialized (i.e. set to zero). Identified three interaction points for this:
* buffer mapping: Zeroing out ad-hoc and marking as initialized
* queue write to buffer: Marks target buffer regions as initialized (i.e. optimizes away buffer init down the line)
* use in binding or copy operation in a command buffer:
* fine grained tracking of regions that may require init (or will be initialized implicitly) on each command buffer
* set in motion on queue submit, init is exclusively with `fill_buffer`
Todo list for Ready-to-Review
- [x] memory barriers for `fill_buffer` calls
- [x] better data structure for `memory_init_tracker`
- [x] coarse filtering on command-buffer buffer init requirements (the list should almost always be empty whereas now it pushes any buffer use)
- [x] improve naming of things
- [x] at least pretend this is adequately tested
Todo list beyond this PR
* make data structures usable for textures
* and.. well.. implement all this for textures!
* explore reusing barrier tracker for memory init tracking?
**Testing**
* Some basic testing by doing some changes to wgpu-rs samples and watching them in in the debugger.
* Added a ron test file for the player (love those!) to poke the feature a little bit
* MemoryInitTracker comes with simple unit tests
Overall this is a bit shallow but as so often in this area accurate testing is hard because the outcomes are quite indirect
Co-authored-by: Andreas Reich <r_andreas2@web.de>
1180: Add dummy structs for indirect command buffers r=cwfitzgerald,kvark a=Wumpf
**Connections**
Review of #1159 which could make more use of this expressiveness patch of having the buffers spelled out.
**Description**
Add dummy structs for indirect command buffers and (bonus!) fix missing IndirectBufferOverrun error for IndirectDispatch.
**Testing**
squinting at it only 👁️👁️
Co-authored-by: Andreas Reich <r_andreas2@web.de>
1178: Add DepthBiasState, rename StencilStateFace r=kvark a=kvark
**Connections**
None
**Description**
Found the error in the `StencilStateFace` name and fixed it here.
Also identified that depth bias is a noticeable ergonomic offender, so moving it out into a struct, similar to what we have with stencil.
**Testing**
tested on wgpu-rs examples.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1176: Rewrite RenderPipelineDescriptor according to aspects r=grovesNL,cwfitzgerald a=kvark
**Connections**
Fixes#1166
**Description**
Totally re-imagines the structure tree for describing the rendering pipeline, based on the aspects instead of logical steps.
**Testing**
Just local testing. I don't think there is any concern that these changes might not work, they just need the clients to adapt.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1173: Handle zero-sized bindings as an error r=cwfitzgerald a=kvark
**Connections**
Fixes#1165
**Description**
Adds buffer IDs to the binding errors, also adds a variant for zero sized bindings.
**Testing**
Tested on a hand-written example.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1170: Don't build shader interface without the validation flag r=kvark a=kvark
**Connections**
Fixes#1169
**Description**
We used to try building the interface of a Naga module before (!) the validation has happened, and even without a check for the validation flag.
**Testing**
Untested.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
1164: Update naga to gfx-7 r=kvark a=kvark
**Connections**
Includes https://github.com/gfx-rs/gfx/pull/3612
**Description**
Carries a bunch of important Naga improvements.
**Testing**
Just local playtests
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1161: Fix replaying issues with dropped texture views r=urgent a=kvark
**Connections**
Fixes replaying of https://github.com/gfx-rs/wgpu/issues/1158#issuecomment-763272796
**Description**
The main fix is calling `maintain` in the player before getting the new view from the swapchain. That allows the device to properly remove the ID that is just about to be used.
**Testing**
Tested on that API trace.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>