* Replace &[T] in descriptor structs with Cow<[T]>
* Changed label fields to use Cow<'a, str>
* Deduplicate types across the tracing API
Introduce the ToStatic trait
* Deduplicate trace::RenderBundleDescriptor
* Remove ugly ToOwned bounds
* Simplifiy Action variants
* Make Clone bounds on type defs less verbose
* Fix a error in play.rs
* Remove ToStatic, and Make Action<'a> borrow descriptors instead
452: Update to latest wgpu r=kvark a=rukai
public API changes:
* get_next_frame -> get_current_frame to better reflect the name of webgpu api being called.
Co-authored-by: Rukai <rubickent@gmail.com>
816: Error types for buffer mapping API r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Adds safe error handling for buffer mapping/unmapping functions.
**Testing**
Checked with core, and ran tests with player.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
819: swap_chain_present returns SwapChainStatus r=kvark a=rukai
**Connections**
Needed by https://github.com/gfx-rs/wgpu-rs/pull/452
**Description**
For `swap_chain_present` moves the PresentError cases out of the Err and into the Ok.
This means we can `.unwrap()` the result in wgpu and it will only panic on an error that the user cant handle.
**Testing**
Ran the wgpu-rs examples.
Co-authored-by: Rukai <rubickent@gmail.com>
455: Fix early logging in the examples r=kvark a=yzsolt
Fix early logging in the examples by moving logger initialization from `start` into `setup`.
Note: I haven't actually checked this on the WASM target, but it should probably be fine.
Co-authored-by: Zsolt Bölöny <bolony.zsolt@gmail.com>
814: Error type for texture creation r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Creates an error type for texture creation functions.
**Testing**
Checked with core and player.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
813: Add buffer creation error type r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Adds an error type for the buffer creation functions.
**Testing**
Checked with core and ran test on player.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
815: Remove error logging from `binding_model` r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Removes some `log::error!` calls from `binding_model.rs`, instead encoding the messages in the error type.
**Testing**
Checked with core.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
812: Error type for `WaitIdle` r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Adds an error type for the `wait_idle` function.
**Testing**
Checked with core.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
811: Error type for `command_encoder_finish` r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Makes `command_encoder_finish` return an error type.
**Testing**
Checked with core.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
810: Convert the existing error types to `thiserror` r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Converts the crate's existing error types from a manual `Display` implementation to using `thiserror`.
**Testing**
Tested with core and `wgpu-rs`.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
809: Safe error handling for swap chain r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
Error types for swap chain functions, using `thiserror` to avoid boilerplate code.
**Testing**
Checked with core and player.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
447: Remove Lifetimes from Push Constants r=kvark a=cwfitzgerald
This is sound because for render passes, compute passes, and render bundles we immediately copy the data into an internal buffer then refer to the data by offset into the buffer.
This also cleans up the example a bit as we don't need the array to outlive the statement.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
808: Use `thiserror` for validation module r=kvark a=GabrielMajeri
**Connections**
Part of #638
**Description**
_Describe what problem this is solving, and how it's solved._
**Testing**
Checked with core repo. This doesn't change any code, just adds an `Error`/`Display` implementation.
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
803: Player-based GPU test framework r=cwfitzgerald a=kvark
**Connections**
Closes#786
**Description**
This change adds a GPU-based testing by re-using the Player from tracing infrastructure - #289.
It converts the player into a lib + binary, and adds an integration test into the crate that implements RON-specified testing.
Current implementation has a few requirements/gotchas that are listed in `test.rs`:
* in all the IDs, the backend is `Empty`
* all expected buffers have `MAP_READ` usage on them
* last action is `Submit`
I believe it's workable, and we can improve it down the road (e.g. with #792).
**Testing**
MUHAHAHA
`cargo test` nails it
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
806: Fix rods error check - fixes water example r=kvark a=rukai
**Description**
Fixes water example panic
**Testing**
Tested on every wgpu-rs example
Co-authored-by: Rukai <rubickent@gmail.com>
443: Implement typical Error traits for SwapChainError r=kvark a=DasEtwas
Added Display and Error implementation for SwapChainError, imported Display and Error more nicely for the existing errors.
Co-authored-by: DasEtwas <18222134+DasEtwas@users.noreply.github.com>
800: Add the preferred format query r=cwfitzgerald a=kvark
Just getting us synced up to the spec naming and API for the swapchains...
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
802: adds size function for VertexFormat r=kvark a=bootra-dev
Addresses https://github.com/gfx-rs/wgpu/issues/801
This PR adds a simple size function to the VertexFormat enum. It returns a u64 so that it can be conveniently used with the VertexAttributeDescriptor offset.
Co-authored-by: bootra-dev <bootragames@gmail.com>
798: Fixed storage buffer counting towards storage textures for binding validation r=kvark a=Wumpf
See title.
(broke my group layout creation since my compute shaders need quite a few storage buffers _and_ storage textures bound... ;-))
Co-authored-by: Andreas Reich <r_andreas2@web.de>
439: Update to latest `wgpu-core` r=kvark a=GabrielMajeri
Pull in some of the latest changes from the `wgpu` repo
Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>