617: Add labels for some error messages r=kvark a=scoopr
This places some pieces on how to transform the ids in the errors to a label, and adds them to the validation message.
This changes the formatting of the validation error to happen when constructing the error, rather than in the unhandled error handler.
It also requires some code for all the error variants for extracting the ids.
Co-authored-by: Mikko Lehtonen <scoopr@iki.fi>
This adds transforms for the ids in the errors to a label,
and adds them to the validation error message.
This changes the formatting of the validation error to happen when
constructing the error, rather than in the unhandled error handler.
It also requires some code for all the error variants for extracting the ids.
1033: Missing label queries r=kvark a=scoopr
I missed few bits needed for labeling the resources in the errors.
Co-authored-by: Mikko Lehtonen <scoopr@iki.fi>
931: Retain labels for resources r=kvark a=scoopr
This is wip, mostly a conversation starter.
I've attempted to have some labels show up in the errors, outside of only creation errors.
Steps to do that include,
1. Retain the label in the underlying struct (here, `Buffer`). It is guarded by `debug_assertions`
2. Add the label option to the error variant, and show it
3. Add label option to the `Element::Error` variant, so that invalid ids retain the label also. Didn't guard it with `debug_assertions` yet, but probably should. `buffer_error` now takes the label option.
4. Added a query for invalid id labels
5. Add `Global::buffer_label` for returning the label from the struct, or the invalid id.
6. Change the error variants to query the `buffer_label` when creating the error
with that (and little bit of fudging to get in to the error state), I can get
```
wgpu error: Validation error
Caused by:
In CommandEncoder::copy_buffer_to_buffer
buffer (0, 1, Metal) (label: Some("Staging buffer")) is invalid
```
instead of
```
wgpu error: Validation error
Caused by:
In CommandEncoder::copy_buffer_to_buffer
buffer (0, 1, Metal) is invalid
```
Some of the hub handling etc. is a bit iffy for me, I really have no idea what I'm doing.
The point would be to massage this to the point that there would be a simple steps to follow on how to decorate all the errors with labels to whatever they refer to.
Other ideas I had, included trying to have `impl Debug for Id<BufferId>` to print out the label (from the struct, wouldn't work for invalid ids), but in that context I don't think I have access to the Global, so I'm not sure how resolve the id to anything useful. I suppose there could a whole separate singleton storage for id to label maps which could be easier to access in any context. Then the errors could just store the Id, and not have a separate label field.
Co-authored-by: Mikko Lehtonen <scoopr@iki.fi>
627: Fixed size in "boids" example r=kvark a=infinitesnow
Buffer size is specified in number of items instead of bytes and fails validation against compiled SPIR-V
Co-authored-by: infinitesnow <3xplosive.g@gmail.com>
624: Remove implicit conversion hello-triangle shader.vert r=kvark a=Napokue
Remove implicit conversion to float, and change it to explicit conversion. Reason for this change is to prepare the hello-triangle example for Naga glsl-spirv path.
Co-authored-by: Timo de Kort <dekort.timo@gmail.com>
1023: Drop surfaces and adapters r=cwfitzgerald a=kvark
**Connections**
Not very connected
**Description**
Refactors our destruction paths a bit
**Testing**
tested on wgpu-rs
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1021: Normalize `Err(x)?` to `return Err(x.into())` r=kvark a=Kimundi
Just a tiny change based on some matrix discussion.
Co-authored-by: Marvin Löbel <loebel.marvin@gmail.com>
1018: Add context for errors originating from commads in a Pass r=kvark a=Kimundi
**Description**
This adds some error context information for some errors that can happen in a `{Render,Compute}Pass` to make error messages more clear.
Combined with https://github.com/gfx-rs/wgpu-rs/pull/613, errors in passes will look like this:
```
wgpu error: Validation error
Caused by:
In a RenderPass
In a draw command
index 3600 extends beyond limit 38
```
Co-authored-by: Marvin Löbel <loebel.marvin@gmail.com>
618: Removed unusued Uniform struct in texture-arrays example. r=cwfitzgerald a=Stygeon
The Uniform struct in the texture-arrays example is unused.
Co-authored-by: Stygeon <denrellum@gmail.com>
613: Add more context to errors originating in Passes and Encoders r=kvark a=Kimundi
**Description**
This adds some top-level error context information to indicate wether an error originated in a `{Render,Compute}Pass` or `{Command,RenderBundle}Encoder` to make error messages more clear.
Combined with https://github.com/gfx-rs/wgpu/pull/1018, errors in passes will look like this:
```
wgpu error: Validation error
Caused by:
In a RenderPass
In a draw command
index 3600 extends beyond limit 38
```
Co-authored-by: Marvin Löbel <loebel.marvin@gmail.com>
614: Bump winit version to 0.23.0 r=cwfitzgerald a=daveshah1
This fixes the following error trying to run the hello-triangle (and probably other) examples on GNOME/Wayland:
[wayland-client error] Attempted to dispatch unknown opcode 0 for wl_shm, aborting.
Co-authored-by: David Shah <dave@ds0.me>
This fixes the following error trying to run the hello-triangle (and
probably other) examples on GNOME/Wayland:
[wayland-client error] Attempted to dispatch unknown opcode 0 for wl_shm, aborting.
Signed-off-by: David Shah <dave@ds0.me>
612: Update create_buffer_init_polyfill for wasm32 r=grovesNL a=alankemp
This removes create_buffer_mapped which has been removed in the latest chrome canary and firefox nightly and fixes#609
Co-authored-by: Alan Kemp <alan@alankemp.com>
611: Match inputs/outputs in msaa-line shader r=kvark a=kvark
Note: this shouldn't be necessary, as the varyings are matched by location and not the name. However, spirv-cross doesn't try to fiddle with the varying names, so it fails if they are unmatched.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>