9741 Commits

Author SHA1 Message Date
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
Erich Gubler
099a95ba64 chore: update min. req. for strum 0.27 → 0.27.1 2025-09-25 16:35:05 -04:00
Erich Gubler
5093585d5b chore: update min. req. for indexmap to 2.8 2025-09-25 16:35:05 -04:00
Erich Gubler
a6c71911a8 chore: update min. req. for tokio to 1.45.1 2025-09-25 16:35:05 -04:00
Erich Gubler
9aeb5a4079 chore: update min. req. for libc to 0.2.171 2025-09-25 16:35:05 -04:00
Erich Gubler
157134293c chore: ignore rustc-hash 1.1.0 in cargo-deny check for dupes 2025-09-25 16:35:05 -04:00
Erich Gubler
1f88dfa6e0 style: Cargo.toml: strip trailing whitespace 2025-09-25 16:35:05 -04:00
Erich Gubler
b3423dc6c4 chore: update min. req. for smallvec 0.13.1 → 0.14 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
Xiaopeng Li
990aef977e
Expose external memory of vulkan texture (#8257) 2025-09-25 08:27:54 -04:00
Nils Hasenbanck
2f7ebf1401
(Naga) Add support for Descriptor Runtime Indexing when ingesting SPIR-V (#8256) 2025-09-25 08:25:04 -04:00
Magnus
05cc6dca82
[hal/dx12] Mesh Shaders (#8110)
* Features and draw commands added

* Tried to implement the pipeline creation (completely untested)

* Fixed clippy issues

* Fixed something I think

* A little bit of work on the mesh shader example (currently doesn't work on dx12)

* Reached a new kind of error state

* Fixed an alignment issue

* DirectX 12 mesh shaders working :party:

* Removed stupid change and updated changelog

* Fixed typo

* Added backends option to example framework

* Removed silly no write fragment shader from tests to see if anything breaks

* Tried to make mesh shader tests run elsewhere too

* Removed printlns and checked that dx12 mesh shader tests run

* Documented very strange issue

* I'm so lost

* Fixed stupid typos

* Fixed all issues

* Removed unnecessary example stuff, updated tests

* Updated typos.toml

* Updated limits

* Apply suggestion from @cwfitzgerald

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* Apply suggestion from @cwfitzgerald

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* Removed supported backends, made example & tests always pass the filename to shader compilers

* Removed excessive bools in test params

* Added new tests to the list

* I'm a sinner for this one (unused import)

* Replaced random stuff with test params hashing

* Updated typos.toml

* Updated -Fo typo thing

* Actually fixed typo issue this time

* Update CHANGELOG.md

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* Update tests/tests/wgpu-gpu/mesh_shader/mod.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update wgpu-hal/src/dx12/mod.rs

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* Addressed comments

* Lmao

---------

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-25 03:24:56 +00:00
Andy Leiserson
1f10d0ce8a
[naga] Don't report shader errors as their own source (#8258) 2025-09-24 22:42:24 -04:00
renovate[bot]
4566e56677
chore(deps): update rust crate encase to 0.12 (#8228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-09-24 22:18:05 +00:00
renovate[bot]
81f02f26f2
chore(deps): update rust crate ron to 0.11 (#8196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-24 17:47:32 -04:00
Jay McCarthy
6ef8e1f103
Expose raw handles (#8174)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-09-24 21:16:47 +00:00
renovate[bot]
b2b76e6bfc
chore(deps): update rust crate hashbrown to 0.16 (#8194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-09-24 20:50:01 +00:00
Sam
084431b548
[naga] Implement atan2 in const (#8222)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-24 11:23:25 -07:00
Cai Bear
d2ee4b8be5
Fix #8151. (#8215) 2025-09-24 16:03:58 +00:00
Jamie Nicol
ba0b6b9b0e [vulkan, naga spv-out] Remap resource bindings
In order to support external textures, we must be able to map a single
external texture resource binding to multiple Vulkan descriptors. This
means we must be able to override the `Binding` and `DescriptorSet`
values for global variables when generating SPIR-V, rather than simply
passing through the group and binding values from Naga IR.

This patch extends the existing SPIR-V Naga backend's `BindingMap` to
contain a descriptor set and binding value in addition to the existing
array size. When creating BindGroupLayouts/BindGroups we use a
sequentially incrementing value for each entry's binding value,
continuing to just use the bind group index as the descriptor set
value.

The Naga backend looks up each resource in the map when emitting its
`Binding` and `DescriptorSet` decorations. If the entry cannot be
found in the map, it will either error or emit fake bindings based on
its configuration.
2025-09-24 17:55:35 +02:00
Jamie Nicol
725549363b [vulkan] Use corresponding bind group layout entries when creating bind groups, rather than list of vk::DescriptorType
This is a refactoring of Vulkan BindGroupLayout and BindGroup creation
in preparation for implementing external texture support.

Currently when creating a BindGroupLayout the Vulkan backend creates a
list of the vk::DescriptorType for each entry, as well as the count, for
binding arrays. Then when creating the BindGroup, it iterates through
this list and does whatever it needs to do for each entry based on these
values.

In order to support external textures, we will have to create multiple
descriptors for each BindingType::ExternalTexture. This means we cannot
map each binding type to a single Vulkan descriptor type. Instead, store
the list of BindGroupLayoutEntries on the BindGroupLayout and use those
when creating the BindGroup, using the same "layout_and_entry_iter"
idiom used by other backends. In subsequent patches this will allow us
to create multiple descriptors for a single resource binding.
2025-09-24 17:55:35 +02:00
renovate[bot]
ffd4e9fb53
chore(deps): update cts digest to 81bfec7 (#8253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 13:37:29 -07:00
EriKWDev
3efd640178
naga: Correct spelling in wgsl parsing rg11b10float -> rg11b10ufloat (#8219) 2025-09-21 10:41:17 +00:00
Andie Bradley
f6005a16c8
Include FreeBSD in conditional compile attributes (#8246) 2025-09-20 22:46:46 -04:00
Teodor Tanasoaia
0b38e96379
[msl] vertex pulling: fix unpacking snorm16x2 & snorm16x4 (#8249) 2025-09-19 18:11:31 -04:00
Andy Leiserson
68199042ed
Remove unused stale copy of webgpu.idl (#8242) 2025-09-18 23:48:58 -04:00
Andy Leiserson
c7fd582f05
docs(README): Update statement on naga spec conformance (#8233) 2025-09-16 10:45:48 -04:00
Matthias Reitinger
b55c24cf27
[naga wgsl-in] Allow trailing comma in switch cases (#8165) 2025-09-16 07:58:23 -04:00
renovate[bot]
023f124fa5
chore(deps): update cts digest to 7a9fcc3 (#8227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 07:56:22 -04:00
Andy Leiserson
aee8cd1650
Lazy-load the dcomp library (#8216) 2025-09-15 11:48:28 -07:00
Andy Leiserson
04a3401638
Extract command encoding to free functions (#8210) 2025-09-11 15:15:33 -04:00
Andy Leiserson
67bdd80a38
Add cbindgen:ignore directives (#8212) 2025-09-11 19:10:05 +00:00
Andy Leiserson
6815bd364d
chore(deps): Update bitflags version (#8209)
I think what happened here is that another reference to 2.9.3 was added
to Cargo.lock in parallel with the renovate change that bumped the
version to 2.9.4.
2025-09-11 15:09:13 -04:00
Benoît du Garreau
33a45e16e0 wgpu: Remove Arc in WebGPU backend 2025-09-11 15:08:38 -04:00
Benoît du Garreau
1bef4ff193 wgpu: Make CommandBuffer not shared/clonable 2025-09-11 15:08:38 -04:00
Andy Leiserson
aaf52e93d9 Move some *Copy*Info types out of wgpu_core::command::transfer
In the future `transfer` will want to use the `Arc` versions of these
types. I have exported them from `wgpu_core::command::ffi`, to document
that these are used for FFI purposes, and from `wgpu_core::command`, for
backwards compatibility, although I also change the in-tree uses to
use them from `wgpu_types` instead of from `wgpu_core::command`.
2025-09-11 10:20:03 -07:00
Andy Leiserson
d79a49a060 Rename commands to trace_commands 2025-09-11 10:20:03 -07:00
Andy Leiserson
718497356c Move enum Command from device::trace to command::encoder_command. 2025-09-11 10:20:03 -07:00
Andy Leiserson
c0c16078e9 Rename and relocate ID resolution helpers 2025-09-11 10:20:03 -07:00
Andy Leiserson
885845087f Extract the parts of PassState that apply to the base encoder
And rename a few things.
2025-09-11 10:20:03 -07:00
Andy Leiserson
f4ea8642a5
docs(CHANGELOG): Update pull request reference (#8208) 2025-09-11 00:52:02 -04:00
Magnus
54ce9f7f98
Update shader bencher to share some logic with snapshots (#8108)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-09-11 00:55:42 +00:00
Andy Leiserson
d31d944ed5
Clarify the effect of the SUBGROUP features and capabilities (#8203) 2025-09-10 20:53:56 -04:00
Andy Leiserson
3758b08be9
Update cts to 20d2805 (#8201) 2025-09-10 20:50:25 -04:00
Night_Hunter
3902b0c11c
Add support for builtin DComp swapchains (#7550)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Marijn Suijten <marijns95@gmail.com>
2025-09-11 00:19:42 +00:00