* Make wgpu-core's copy_buffer_to_buffer `size` parameter optional
* Make the copy size optional in more places
* Fix for webgpu backend
* [deno_webgpu] Support additional copyBufferToBuffer signatures
* Add changelog entry
* Add copyBufferToBuffer tests to CTS test list
(This doesn't actually enable the tests for the new overloads, because
of a different error reporting issue that affects many CTS tests
including these. But if you run the tests for the new overloads
manually, before and after the fix, you can see that the behavior has
changed.)
* Reproducible formula for vendoring modified webgpu-sys
Commit the updated vendor command in all the files for consistency.
The old is_compatible_with handled scalar/scalar, scalar/vector, vector/vector, but was missing vector/scalar.
Since is_compatible_with is only used by vertex shader inputs, and vertex shader inputs can't be matrices (only scalars and vectors), we can actually simplify this by removing the other match and just only checking the kind.
Fixes#7568
This is to preserve the current behavior as tested by the `SAMPLER_CREATION_FAILURE` test.
This is not spec compliant but it's unclear what we should do instead. I opened https://github.com/gpuweb/gpuweb/issues/5142 to figure out what we should do.
This removes the possibility of deadlocks happening since `release_gpu_resources` tries to lock resources (trackers, snatchable_lock, pending_writes, life_tracker) while they might be already locked; `handle_hal_error` is called in lots of places.
Removing the call only delays destruction since `release_gpu_resources` is still called in `maintain`.
* Fix validation error when configuring the surface on WebGL
* Remove unneeded `webgl` feature
* Fix compilation of the `noop` backend on `wasm32`
* Prevent `webgpu` examples from incorrectly falling back to WebGL
* Reduce dependency set when building wasm examples
* Fix various warnings
With the only caveat that device creation will now panic if the `wgsl` feature is not enabled, `InstanceFlags::VALIDATION_INDIRECT_CALL` is set and the device supports `DownlevelFlags::INDIRECT_EXECUTION`.