222 Commits

Author SHA1 Message Date
Inner Daemons
ad0f3111b7
Add multiview limits and tests (#8206)
Co-authored-by: Andreas Reich <r_andreas2@web.de>
Co-authored-by: Magnus <85136135+SupaMaggie70Incorporated@users.noreply.github.com>
2025-11-01 12:08:15 +00:00
Kevin Reid
5633ae8649 Show command encoder label in validation errors.
The plumbing to get it out of `wgpu_core` is awkward but I didn’t see
a clearly better option. I think it would make sense to have something
like `Global::get_label<T>(id: Id<T>) -> String` but that looks like a
lot more work.
2025-10-31 13:03:55 -04:00
Andy Leiserson
07ce023cf1 Replay traces with pointers as IDs 2025-10-30 13:52:58 +01:00
Andy Leiserson
cb13fbe4a7
[cts_runner] Print uncaptured errors to stderr (#8263)
This is useful when running test snippets. Update READMEs including to
mention how to do that.
2025-10-15 16:13:04 -04:00
Sam
a8f51f8fd1
Split MipmapFilterMode from FilterMode (#8314) 2025-10-08 18:06:33 +02:00
Andreas Reich
333f811e9c
Rework wgpu::PollType to only two enum variants (#8285) 2025-10-01 18:08:07 -04:00
Andy Leiserson
5b194ec510
[deno] Remove kludge for type properties (#8262) 2025-10-01 11:23:46 -04:00
Andy Leiserson
61e5124eb9
[deno] Return undefined instead of null from WebGPU APIs (#8266)
See denoland/deno#29603
2025-09-26 20:10:09 -04:00
Erich Gubler
2b71b1f99d feat(deno): accept GPUTexture as GPUBindingResource 2025-09-26 17:51:35 -04:00
Erich Gubler
375095f789 feat(deno): accept GPUBuffer as GPUBindingResource 2025-09-26 17:51:35 -04:00
Kenta Moriuchi
67f7a4ea3b [deno] add illegal constructor errors
(cherry-picked from denoland/deno#30500)
2025-09-25 16:35:05 -04:00
Andy Leiserson
492fb59648 Update to deno 2.4.5 2025-09-25 16:35:05 -04:00
cions
ad4f10f60f [deno] fix android build
(cherry-picked from denoland/deno#30360)
2025-09-25 16:35:05 -04:00
chirsz
eb3bed5f53 [deno] add resize method to UnsafeWindowSurface
(cherry-picked from denoland/deno#29254)
2025-09-25 16:35:05 -04:00
Andy Leiserson
b6b951d467 Update to deno 2.3.2
(cherry picked from denoland/deno#29166)

Co-authored-by: snek <snek@deno.com>
2025-09-25 16:35:05 -04:00
Andy Leiserson
3ebae1bf3b Update to deno 2.2.12 2025-09-25 16:35:05 -04:00
Leo Kettmeir
190050e296 [deno] add deviceStartCapture and deviceStopCapture
This is achieved by adding a new `Deno.webgpu` namespace which will be
used for non-spec functionality, which for now will be marked as
unstable

(cherry picked from denoland/deno#28192)
2025-09-25 16:35:05 -04:00
chirsz
48097412fc [deno] release current texture of surface after present
(cherry picked from denoland/deno#28691)
2025-09-25 16:35:05 -04:00
Kenta Moriuchi
99a6fdd803 [deno] move isFallbackAdapter from GPUAdapter to GPUAdapterInfo
Also fixes `Deno.privateCustomInspect`, which was defined as static
methods of the classes and was not working properly.

(cherry picked from denoland/deno#28650)
2025-09-25 16:35:05 -04:00
Andy Leiserson
e714cb0339 [deno] Format with Deno's rustfmt config 2025-09-25 16:35:05 -04:00
Andy Leiserson
1967900565
Encode commands on finish (#8220)
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-09-25 14:22:51 -04:00
Andy Leiserson
68199042ed
Remove unused stale copy of webgpu.idl (#8242) 2025-09-18 23:48:58 -04:00
Connor Fitzgerald
8d1f4bb5f2
Require token for experimental features (#8163) 2025-08-29 15:43:27 -04:00
Connor Fitzgerald
2ff46cd7cd
Remove MULTI_DRAW_INDIRECT feature (#8162) 2025-08-28 12:00:14 -04:00
Andy Leiserson
8897c9e93f
[deno] Enable additional vertex formats (#8095) 2025-08-20 15:35:42 -07:00
Andy Leiserson
e7a99be058
[deno] Fix some problems in the handling of device limits (#8085)
* Correct error type when a requested limit is too high
* Clamp requested limits to the WebGPU defaults

Fixes #8084
2025-08-20 14:58:56 -07:00
Magnus
17a17f716a
Initial precompiled shaders implementation (#7834)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-08-20 16:20:59 -04:00
Marc Pabst
e7cdfc436a
Allow disabling waiting for latency waitable object (#7400) 2025-08-10 10:01:25 +00:00
Erich Gubler
f6a3af1f1d refactor(deno_webgpu): remove unused allow(dead_code) on GPUError::Internal 2025-08-09 07:50:51 -04:00
Andy Leiserson
910143d622
Check for more cases of unbalanced debug groups (#8048)
Fixes #3911
2025-08-05 16:52:50 +02:00
teoxoy
63f3df86c8 [wgpu-core] split command encoders from command buffers 2025-07-22 16:19:18 +02:00
Teodor Tanasoaia
d2f8c44ac6
[wgpu-core] remove implicit PL & BGL IDs from pipeline creation (#7967) 2025-07-18 13:04:46 -04:00
Andy Leiserson
2db1d71f1b [deno] Implement nullable vertex buffer layouts 2025-07-10 09:52:20 -07:00
teoxoy
918fdc98b5 remove reason from ErrorType::DeviceLost since it's always "unknown" and users should register the lost callback instead 2025-07-02 11:11:37 +02:00
Erich Gubler
c7e6170fd0 refactor(deno): use WebGpuError for error classification 2025-06-30 10:58:56 -04:00
Erich Gubler
d8d1af24b6 refactor(deno): impl From<wgpu_types::DeviceLostReason> for GPUDeviceLostReason 2025-06-30 10:58:56 -04:00
Andy Leiserson
201b2fba76
[deno] Don't report support for native-only features (#7813) 2025-06-27 10:05:13 -07:00
Andy Leiserson
460f073a67 Deferred error reporting for compute passes 2025-06-26 15:39:53 -07:00
Andy Leiserson
e702d1c116 Deferred error reporting for transfer commands 2025-06-17 16:00:49 -07:00
Jamie Nicol
5f8d408fb8 [deno_webgpu] Add stub GPUExternalTexture implementation
This doesn't do anything yet, but unblocks running some CTS tests.
2025-06-17 20:20:25 +01:00
Andy Leiserson
afa0f71736
[deno] Fix dropping of command encoders/buffers, and an enum typo (#7808)
Fixes #7797
2025-06-16 10:50:19 -07:00
Andy Leiserson
620c9d1e8b
Deferred error reporting for debug commands (#7789) 2025-06-12 11:53:32 -07:00
Andy Leiserson
e9af205c71
[deno] Implement ShaderModule.getCompilationInfo (#7736) 2025-06-11 03:49:39 -04:00
Andy Leiserson
1d4891ab5a
[deno] Return undefined instead of null from Queue.submit (#7784) 2025-06-11 03:40:19 -04:00
Andy Leiserson
1194833a74
[deno] Make QuerySet.destroy a no-op for now (#7758)
Implementing it is tracked by #6495. In the mean time it is okay for it
to be a no-op. `destroy` just recovers the resources earlier than garbage
collection might, doing nothing is not a leak.
2025-06-09 10:22:42 -07:00
Andy Leiserson
233a25c1e5
Update to the latest CTS; run it on all platforms and on all PRs (#7752) 2025-06-05 22:04:45 -04:00
Zachary Harrold
6151330e3a
[wgpu-hal]: MVP no_std support (#7599)
* MVP `no_std` support in `wgpu-hal`

* Update CHANGELOG.md

* Fix visibility

* Fix unused imports

* Response to feedback

Co-Authored-By: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* Update other `validation_canary` usages

Co-Authored-By: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

---------

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-05-30 12:31:44 -04:00
Andy Leiserson
3cca5f8cfd
Make the copy_buffer_to_buffer size parameter optional (#7659)
* 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.
2025-05-28 17:21:19 +02:00
Andy Leiserson
24d0eae36c
Remove another type of error that could be raised by destroy (#7720) 2025-05-24 17:02:00 +02:00
Andy Leiserson
fd6f16f598
Revive the CTS job (#7675)
Includes the following minor functional fixes to deno_webgpu:

* Don't throw an error immediately when `create_buffer` is called with invalid usage flags.
* Implement `on_submitted_work_done`.
* Correct validation of GPUExtent3D element count.
* Run without tracing (instead of panic) if the DENO_WEBGPU_TRACE env var is not set.

Fixes #6838
2025-05-21 09:52:03 -07:00