9967 Commits

Author SHA1 Message Date
Inner Daemons
a05c70cef7
WGSL parsing for mesh shaders (#8370)
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: SupaMaggie70Incorporated <85136135+SupaMaggie70Incorporated@users.noreply.github.com>
2025-11-12 21:06:20 -05:00
Erich Gubler
dda99c9bdb
Check that PRs' CHANGELOG.md changes don't modify already-released content in CI (#8351) 2025-11-12 19:26:24 -05:00
Andy Leiserson
7b95053f5a
Adjust the expected failure conditions for subgroup_operations (#8515) 2025-11-12 16:14:23 -05:00
csmoe
961be24246
Warn about Limits::max_non_sampler_bindings's default 1_000_000 (#8447) 2025-11-12 17:53:45 +01:00
Connor Fitzgerald
065329000b
Auto install warp (#8458) 2025-11-12 10:56:54 -05:00
Jim Blandy
39f7dbcaf5
In GitHub CI, check that docs build for private items in wgpu. (#8514) 2025-11-12 10:09:22 -05:00
Jim Blandy
0e7dce9fb0
[wgpu] Fix warnings in cargo doc --document-private-items. (#8492)
Fix some broken and outdated links in documentation for private items.
CI only checks `wgpu`'s public interface.
2025-11-12 06:45:23 -08:00
s-ol
d017d48b45
Allow passing external_memory in vulkan-hal::Device::texture_from_raw() (#8512) 2025-11-11 11:01:02 -05:00
renovate[bot]
81dfcaf664
chore(deps): update jamesives/github-pages-deploy-action action to v4.7.4 (#8502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 00:22:31 -05:00
renovate[bot]
670940f457
chore(deps): update cts digest to cf8d393 (#8501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 00:22:09 -05:00
renovate[bot]
39c7f1b216
chore(deps): update cargo.lock (#8504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 00:21:50 -05:00
Andy Leiserson
0a3818a4d1
Adjust timeout for timestamp_queries test (#8487) 2025-11-10 19:38:19 -08:00
mfluehr
0290f085b2
boids: use div_ceil to calculate work group count (#8506) 2025-11-10 13:56:04 -05:00
Connor Fitzgerald
f14458b067
Improve late buffer binding size error (#8484) 2025-11-07 03:21:25 +00:00
Andy Leiserson
a2db631672
Fix clamping at minimal render extent (#8486)
This was a regression introduced by #8307.

For mipmapped multi-planar textures, requires that the size is a
multiple of a power of two determined by the mip level count, in lieu
of properly aligning the size of each mip level to an even
dimension. See #8491.

(The failure referred to by "fails due to missing validation" was
fixed before the regression, by #8402, but was not identified as fixed
and added to the test list at that time.)
2025-11-06 17:56:18 -08:00
Connor Fitzgerald
c0607b53f5
Refactor readme to get to the point (#8488) 2025-11-07 01:23:55 +00:00
Jim Blandy
6e06ec99ee
[wgpu] Document dispatch_type! macro. (#8483)
Add more documentation for the `dispatch_type` macro, and provide a
more detailed explanation of how it enables devirtualization in the
single-backend case.
2025-11-07 00:56:46 +00:00
Andy Leiserson
3443224e78
Correct STORAGE_READ_ONLY exclusivity (#8490)
Fixes #8485
2025-11-06 15:04:38 -08:00
Erich Gubler
775ff20d7b docs(CHANGELOG): move #8445's entry to WebGPU section 2025-11-06 15:03:36 -05:00
Erich Gubler
a4b3d115bd style(CHANGELOG): add space b/w Top level categories and its list 2025-11-06 15:03:36 -05:00
Connor Fitzgerald
7d8e7b447a
Remove accidentally committed test code (#8489) 2025-11-06 10:43:25 -05:00
Erich Gubler
e2e4651ecb fix(core): validate that buffer is unmapped in write_buffer calls 2025-11-05 16:12:58 -05:00
Erich Gubler
f47a8eb1d1 test(cts): write current expected outcomes for webgpu:api,validation,queue,buffer_mapped:* 2025-11-05 16:12:58 -05:00
Erich Gubler
9447a22288
refactor(gles): document Buffer::map_flags (#8455) 2025-11-05 21:11:34 +00:00
Andy Leiserson
f888eab831
[ci] Key CTS job caches to the CTS version (#8476) 2025-11-05 14:54:01 -05:00
Jim Blandy
2e34322f9a
[naga] De-indent mainline control flow in interface validation. (#8359)
In `naga::valid::interface::VaryingContext::validate`, use `let else`
instead of `match`, to promote the main flow of control to a lower
indentation level, and move error reporting closer to the check that
failed.
2025-11-05 13:45:38 -05:00
Marijn Suijten
59a03eaf2f
[d3d12 wgl] Upgrade to windows 0.62 crates (#6876)
* [d3d12 wgl] Upgrade to `windows 0.59` crates

https://github.com/microsoft/windows-rs/releases/tag/0.61.0

The latest `windows 0.59` and `windows-core 0.59` crates were
just released (strangely tagged `0.61`), including some minor code
improvements for us.  The MSRV has been bumped to `1.74`, but `wgpu` is
already on `1.76` anyway.

* [d3d12 wgl] Upgrade to `windows 0.61` crates

https://github.com/microsoft/windows-rs/releases/tag/63

* [d3d12 wgl] Upgrade to windows 0.62 crates

https://github.com/microsoft/windows-rs/releases/tag/69
2025-11-05 11:47:31 -05:00
renovate[bot]
cb2edd2915
Update crate-ci/typos action to v1.39.0 (#8466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-11-05 16:35:03 +00:00
Connor Fitzgerald
71b5fb0ad9
Update WARP (#8444) 2025-11-04 23:57:49 -05:00
Tim Evans
ccc650fd0a
Added missing aspect field in map_texture_copy_view. (#8445)
Co-authored-by: Tim Evans <tim.evans@aranzgeo.com>
2025-11-04 15:35:45 -05:00
Inner Daemons
80c4468492
Try to fix occasional CI failures caused by #8345 (mipmap-query) (#8472)
* Try to fix Occasional CI failures on wgpu-examples [Executed] [Vulkan/llvmpipe (LLVM 18.1.3, 256 bits)/0] mipmap-query
Fixes #8345
2025-11-04 15:34:58 -05:00
Kevin Reid
2a58599dc4 Replace noop waker implementation with Waker::noop().
The MSRV of `wgpu` is currently 1.88, so we can use `Waker::noop()`,
which was stabilized in 1.85.
2025-11-03 16:05:41 -08:00
renovate[bot]
abff8ae375
Update cts digest to 964a0b4 (#8465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 16:04:27 -08:00
renovate[bot]
f319ca8bab
Update Cargo.lock (#8469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 23:48:22 +01:00
Kevin Reid
6560412a52 Make StagingBelt own the Device it uses.
This means that usage of a `StagingBelt` only requires passing along
the current `CommandEncoder` instead of both the encoder and the device.
It also makes the API reflect the fact that a `StagingBelt` cannot be
reused with a fresh device.

As far as I know, the only reason this was not done previously was that
`Device` was not clonable, and so doing this would have required an
`Arc<Device>` or other specific mechanism.
2025-11-01 21:43:48 -04:00
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
Kevin Reid
586b344719 Fix CHANGELOG headings/organization. 2025-10-31 13:03:55 -04:00
Kevin Reid
85fb959d20 Correct documentation of alignment/size requirements for buffer mapping.
The documentation previously claimed that the end point must be aligned
to `MAP_ALIGNMENT` = 8, but in fact it only needs to be aligned to 4.

Also fixed `map_buffer_on_submit()` referring to “this slice” instead of
“`bounds`”.
2025-10-31 11:54:46 -04:00
Kevin Reid
da927daf82 StagingBelt: add a test and document slice size requirements.
* Add documentation that every `allocate()` or `write_buffer()`
  operation must have a size that is a multiple of 4.

* Add assertions for those properties (this gives more helpful panics
  than leaving it to validation).

* Add a randomized test to exercise usage of StagingBelt.
  I was concerned that `StagingBelt` might have an alignment math bug;
  having written this test, I am much less concerned. There was previously
  no test for `StagingBelt` at all, if you don’t count examples/skybox.
2025-10-31 11:53:46 -04:00
Connor Fitzgerald
a682d9e15a
Update desired_maximum_frame_latency documentation (#8421) 2025-10-30 13:57:52 +01:00
Andy Leiserson
c6dc8eeac5 Remove get_buffer alias of resolve_buffer_id 2025-10-30 13:52:58 +01:00
Andy Leiserson
5ac2ed19cb Fix serde feature gating 2025-10-30 13:52:58 +01:00
Andy Leiserson
c501ef68df Remove stale attributes 2025-10-30 13:52:58 +01:00
Andy Leiserson
a60e71c765 Clarify comment about Arc::as_ptr 2025-10-30 13:52:58 +01:00
Andy Leiserson
50a26133ec Remove redundant device validity check and inaccurate comment 2025-10-30 13:52:58 +01:00
Andy Leiserson
9d0fd2153b Condition macro_rules_attribute dev-dependency on serde feature 2025-10-30 13:52:58 +01:00
Andy Leiserson
242c49f90d Fix get_mapped_range duplication 2025-10-30 13:52:58 +01:00
Andy Leiserson
41dc177c5b Fix Free* operations 2025-10-30 13:52:58 +01:00
Andy Leiserson
2d699295ce Restore PointerId(...) serialized representation 2025-10-30 13:52:58 +01:00