Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
303 commits
Select commit Hold shift + click to select a range
4a00b62
[player] Support specifying a trace file directly (#7982)
andyleiserson Jul 22, 2025
43a4d53
[naga wgsl-in wgsl-out] WGSL support for texture_external texture typ…
jamienicol Jul 22, 2025
acfa8c5
[wgpu-core] Add ExternalTexture type to wgpu-core
jamienicol May 27, 2025
d263b18
[wgpu-core] Create default ExternalTextureParams buffer
jamienicol May 27, 2025
7087f0c
[wgpu-core] Allow creation of bind groups containing external textures
jamienicol May 27, 2025
f8756a6
[wgpu] Add external texture validation tests
jamienicol Jun 2, 2025
ffd5969
[webgpu] fix device loss callback to be immediately drop (#7992)
uael Jul 23, 2025
1c43ac2
Additional validation of buffer-texture copies (#7948)
andyleiserson Jul 23, 2025
d9a6b4f
[naga, wgpu-core] Add some docs for Naga validator creation.
jimblandy Jul 22, 2025
b8c462a
[core] fix missing applies of `DISCARD_HAL_LABELS` (#7991)
uael Jul 23, 2025
2fcd413
[naga] Make Naga tests build when no features are enabled. (#7989)
jimblandy Jul 23, 2025
dbe64a7
[naga hlsl-out] Fix odd name for a Handle<GlobalVariable>. (#7996)
jimblandy Jul 23, 2025
4bd0f75
Backport changelog from v26.0.2 (#7999)
cwfitzgerald Jul 24, 2025
68a10a0
[egl] Fix robust context creation failing on some devices (#7952)
FlorianDenis Jul 24, 2025
074c0e7
Add mesh shading api to wgpu & wgpu-core (#7345)
inner-daemons Jul 25, 2025
d8b7e81
Updated mesh shader limits to be llvmpipe compatible (#8004)
inner-daemons Jul 25, 2025
bf86ac3
Two small vulkan changes (#8001)
andyleiserson Jul 25, 2025
ec1ab06
Update cts digest to e110f5e (#8015)
renovate[bot] Jul 28, 2025
d913042
Update Rust crate criterion to 0.7 (#8016)
renovate[bot] Jul 28, 2025
7473844
Update Cargo.lock (#8017)
renovate[bot] Jul 28, 2025
1583c24
Another fix for texture copy validation (#8019)
andyleiserson Jul 29, 2025
5089063
Allow copying one layer of depth/stencil textures (#8020)
andyleiserson Jul 29, 2025
36ae215
Fix image copy regressions (#8022)
andyleiserson Jul 30, 2025
9f654c6
[naga] Generate special type for external texture params buffer
jamienicol Jun 2, 2025
0448b46
[naga] Reserve names for each plane and params buffer of external tex…
jamienicol Jun 2, 2025
e1ccb66
[naga hlsl-out] Implement external texture support
jamienicol Jun 2, 2025
59f815a
[naga] Have validation reject shaders containing binding arrays of ex…
jamienicol Jul 30, 2025
58b6135
hal/vulkan: Clear framebuffer cache during command buffer reset (#8031)
cwfitzgerald Jul 30, 2025
45e96e5
docs: Fix comment in `COPY_BYTES_PER_ROW_ALIGNMENT` to include `copy_…
sagudev Jul 31, 2025
f25a795
Add a missing condition to viewport validation (#8040)
andyleiserson Aug 1, 2025
df40889
Prepare for miri
cwfitzgerald Jul 13, 2025
fdc4d42
Add cargo xtask miri
cwfitzgerald Jul 13, 2025
86d5211
Add support for running tests on the noop backend
cwfitzgerald Jul 13, 2025
09d0c94
Use explicit test enumeration
cwfitzgerald Jul 14, 2025
3e153fb
Label no-op supporting tests
cwfitzgerald Jul 14, 2025
fe22fe2
Update cts digest to a46bb82 (#8044)
renovate[bot] Aug 4, 2025
4938f86
Update Cargo.lock (#8045)
renovate[bot] Aug 4, 2025
a116861
Prevent resources for acceleration structures being created if they a…
Vecvec Aug 4, 2025
7cb642e
fix STATUS_HEAP_CORRUPTION crash in create_sampler (#8043)
atlv24 Aug 5, 2025
910143d
Check for more cases of unbalanced debug groups (#8048)
andyleiserson Aug 5, 2025
88a8147
test(deno_webgpu): add `--release` to `cargo xtask cts` (#8053)
ErichDonGubler Aug 5, 2025
8cd4bd6
[naga hlsl-out] Handle external texture color space conversion
jamienicol Jun 25, 2025
b538522
fix(core): validate effective buf. binding size is aligned to 4 (#8041)
ErichDonGubler Aug 6, 2025
b3a3dc3
[dx12] Support external textures on DX12
jamienicol Jun 2, 2025
bd85c9a
[test] Rename existing `external_texture` tests to `external_image_copy`
jamienicol Jun 19, 2025
1bf1671
[test] Add external texture GPU tests
jamienicol Jun 19, 2025
24a05fe
Update CHANGELOG (#8050)
andyleiserson Aug 8, 2025
0c30efe
docs(release-checklist): sync backporting label name with current one…
ErichDonGubler Aug 8, 2025
7816390
Make vendor-web-sys xtask accept a SHA
andyleiserson Aug 8, 2025
605f40d
Vendor web-sys
andyleiserson Aug 8, 2025
e990388
Update README.md (#8069)
Bot-Kerem Aug 8, 2025
1241bb0
fix(deno_webgpu): expose `GPUInternalError` in `bootstrap.js`
ErichDonGubler Aug 5, 2025
495df81
fix(deno_webgpu): expose `GPUUncapturedErrorEvent` in `bootstrap.js`
ErichDonGubler Aug 5, 2025
f6a3af1
refactor(deno_webgpu): remove unused `allow(dead_code)` on `GPUError:…
ErichDonGubler Aug 5, 2025
b1bf444
Fix error message when render pipeline vertex attribute location is g…
lisyarus Aug 9, 2025
1b948fb
Fix 'Read-only attachment with load' error message (#8068)
lisyarus Aug 9, 2025
b9f66e7
docs(release-checklist): include `This release includes `crate`, …` i…
ErichDonGubler Aug 10, 2025
f04b3b0
Remove lifetime from BufferSlice, BufferView, BufferViewMut (#8046)
sagudev Aug 10, 2025
e7cdfc4
Allow disabling waiting for latency waitable object (#7400)
marcpabst Aug 10, 2025
0990ecd
chore(deps): update crate-ci/typos action to v1.35.3 (#8077)
renovate[bot] Aug 11, 2025
505d721
chore(deps): update rust crate ctor to 0.5 (#8078)
renovate[bot] Aug 11, 2025
02636cd
style(CHANGELOG): trim extra whitespace
ErichDonGubler Aug 7, 2025
d17228f
docs(CHANGELOG): port 26.0.{3,4} release notes
ErichDonGubler Aug 7, 2025
f9df2b5
docs(CHANGELOG): move #7345's entry to `Unreleased`
ErichDonGubler Aug 7, 2025
0cc8c11
Escape control chars in source when printing diagnostics (#8049)
andyleiserson Aug 11, 2025
e7dad31
Accept configuration from the environment for the trace player (#8083)
andyleiserson Aug 11, 2025
445ecb3
Update backport label ref. in `release-checklist.md` & style fixes (#…
ErichDonGubler Aug 11, 2025
a96a6cd
Update to slab 0.4.11. (#8088)
jimblandy Aug 12, 2025
01b3204
[hal] Minor doc clarification. (#8087)
jimblandy Aug 12, 2025
486c151
[dx12,vulkan] Add support for P010 texture format (#8086)
jamienicol Aug 13, 2025
2e8a600
Add `Sync` bound to uncaptured error handler.
kpreid Jul 26, 2025
ea8315e
Change uncaptured error handler pointer type from `Box` to `Arc`.
kpreid Jul 26, 2025
2d835bf
Call uncaptured error handler without the lock held.
kpreid Jul 26, 2025
54be6a2
Fix empty `if`s causing errors on spirv 1.6 (#7883)
Vecvec Aug 13, 2025
dd93ed5
chore(deps): update cargo.lock (#8079)
renovate[bot] Aug 13, 2025
0c0df24
Only commit hopefully (#8101)
inner-daemons Aug 14, 2025
5762102
Fix minimal versions CI failure (#8112)
andyleiserson Aug 17, 2025
21497a5
chore(deps): update cts digest to 94f4ce1 (#8113)
renovate[bot] Aug 18, 2025
7bd0055
chore(deps): update actions/checkout action to v5 (#8115)
renovate[bot] Aug 19, 2025
8752503
chore(deps): update crate-ci/typos action to v1.35.5 (#8114)
renovate[bot] Aug 19, 2025
9aaed2c
[naga] Ensure validation rejects invalid sample operations of `ImageC…
jamienicol Aug 20, 2025
57d89b4
docs(vulkan): clarify safety contract for `DeviceShared::set_object_n…
ErichDonGubler Aug 20, 2025
6a4eaa9
chore(deps): update cargo.lock (#8116)
renovate[bot] Aug 20, 2025
eb9b2e9
Add changelog entry for external texture support (#8123)
jamienicol Aug 20, 2025
17a17f7
Initial precompiled shaders implementation (#7834)
inner-daemons Aug 20, 2025
fe86710
Properly enable getrandom in nanorand (#8098)
cwfitzgerald Aug 20, 2025
e7a99be
[deno] Fix some problems in the handling of device limits (#8085)
andyleiserson Aug 20, 2025
8897c9e
[deno] Enable additional vertex formats (#8095)
andyleiserson Aug 20, 2025
2996c92
[docs] Security policy (#8006)
andyleiserson Aug 21, 2025
4b5e38a
[naga spv-out] Add f16 io polyfill (#7884)
cryvosh Aug 21, 2025
bb21da3
[naga msl-out] Split up write_wrapped_functions()
jamienicol Aug 14, 2025
2cada72
[naga] Make external texture snapshot test call textureLoad() with bo…
jamienicol Aug 14, 2025
2c6f06a
[naga msl-out] Implement support for external textures
jamienicol Jun 9, 2025
167ff7b
[metal] Implement support for external textures
jamienicol Jun 9, 2025
37c4c88
Fix RT validation error (#8132)
cwfitzgerald Aug 23, 2025
7394d43
Remove copy-pasted mention of acceleration structures from mesh docs.…
jimblandy Aug 24, 2025
c4a834e
Make the compacted hal acceleration structure inherit a label from t…
Vecvec Aug 24, 2025
dd73743
fix(wgsl-in): accept trailing comma in `@blend_src(…)` attr. (#8137)
ErichDonGubler Aug 24, 2025
779249f
Remove security issue type; github adds it automatically (#8142)
andyleiserson Aug 24, 2025
57368b3
Disable `copy_ranges` on dx12 due to intermittent failures (#8141)
andyleiserson Aug 24, 2025
24a31c4
Only commit hopefully (#8140)
inner-daemons Aug 24, 2025
c1254b4
Add more overview documentation to `Buffer` and usages.
kpreid Aug 10, 2025
03d419d
Update Cargo.lock (#8145)
renovate[bot] Aug 25, 2025
fdde05c
Update cts digest to f164473 (#8143)
renovate[bot] Aug 25, 2025
1301f80
Update Rust crate cargo_metadata to 0.22 (#8144)
renovate[bot] Aug 25, 2025
884cea5
Narrow locks in queue::write_buffer (#8146)
cwfitzgerald Aug 25, 2025
6adb058
[ci] Fix minimal version job (#8147)
cwfitzgerald Aug 25, 2025
9a8dbfb
Link image_copy depth/stencil dx12 failures to #8133 (#8148)
andyleiserson Aug 25, 2025
0372d31
ci: Update vulkan sdk to 1.4.321.0 (#8157)
DeltaEvo Aug 27, 2025
780bdfc
hal/vulkan: Increment counter for intermediate shaders (#8066)
DeltaEvo Aug 27, 2025
ca3f7f8
[tests] Add test priorities so that heavy tests run first (#8152)
cwfitzgerald Aug 27, 2025
1c8d769
[naga] Introduce `KeywordSet` and `CaseInsensitiveKeywordSet`. (#8136)
kpreid Aug 28, 2025
e59cdb5
Remove CODEOWNERS file (#8159)
cwfitzgerald Aug 28, 2025
97ba77d
We're just lowercase bro (#8160)
cwfitzgerald Aug 28, 2025
2ff46cd
Remove MULTI_DRAW_INDIRECT feature (#8162)
cwfitzgerald Aug 28, 2025
967cd4b
ci: Extract linux vulkan installation into its own action (#8164)
DeltaEvo Aug 28, 2025
2e78c5b
typo: s/investiagate/investigate
andyleiserson Aug 22, 2025
e939bf2
feat(naga): expose `{,Implemented}EnableExtension`
andyleiserson Aug 22, 2025
1689c56
refactor(naga): use explicit `\x20` in error output instead of traili…
andyleiserson Aug 22, 2025
4a7b6ab
Add `F16_IN_F32` downlevel flag for pack/unpack/quantize f16 (#8130)
andyleiserson Aug 22, 2025
7933dd7
docs(types): note intent to move `EXTERNAL_TEXTURE` to a downlevel flag
andyleiserson Aug 24, 2025
03513e8
chore(tests): add issue links for TODOs
andyleiserson Aug 26, 2025
0aacfea
fix(hal): adjust the conditions when F16_IN_F32 is available
andyleiserson Aug 27, 2025
cd14b19
[egl] get rid of `unwrap` where possible (#8024)
uael Aug 28, 2025
80a7420
[wgpu-core] Improve errors for forbidden texture copy formats (#8156)
reima Aug 29, 2025
5d4cf56
[api] expose invalid submission index to `PollError` (#8169)
uael Aug 29, 2025
5a24e24
wgpu-types: Do not depend on "bitflags/serde" if feature "serde" is n…
a1phyr Aug 29, 2025
e58223b
[metal] allow access to command buffer (#8166)
uael Aug 29, 2025
8d1f4bb
Require token for experimental features (#8163)
cwfitzgerald Aug 29, 2025
188a8cb
ci: Make the install-{mesa,vulkan-sdk} action multiplatform (#8167)
DeltaEvo Aug 29, 2025
12c8b37
[naga wgsl-in] add "texture_external" to reserved keyword list (#8178)
jamienicol Sep 1, 2025
c488bbe
[wgpu] Improve buffer mapping errors and allow multiple immutable bor…
cwfitzgerald Sep 2, 2025
fcde047
Fix `cargo deny` problems (#8182)
andyleiserson Sep 4, 2025
989d48c
Tweak the bytes_per_row alignment check
andyleiserson Aug 14, 2025
4853133
Fix buffer initialization tracking for some buffer-texture copies (#8…
andyleiserson Aug 14, 2025
8326099
Convert QueueWriteBufferView to be lifetime-less (#8161)
cwfitzgerald Sep 7, 2025
fb28da1
[wgpu] add convience functions for deferring mapping/callbacks
cwfitzgerald Aug 21, 2025
6bab36d
chore(deps): update cargo.lock (#8197)
renovate[bot] Sep 8, 2025
f7e81f2
chore(deps): update crate-ci/typos action to v1.36.2 (#8193)
renovate[bot] Sep 9, 2025
a9638c8
Remove `pending_query_resets` from `CommandBufferMutable` (#8187)
andyleiserson Sep 9, 2025
1791064
Update comments on IdentityValues (#8183)
andyleiserson Sep 9, 2025
3902b0c
Add support for builtin DComp swapchains (#7550)
n1ght-hunter Sep 11, 2025
3758b08
Update cts to 20d2805 (#8201)
andyleiserson Sep 11, 2025
d31d944
Clarify the effect of the SUBGROUP features and capabilities (#8203)
andyleiserson Sep 11, 2025
54ce9f7
Update shader bencher to share some logic with snapshots (#8108)
inner-daemons Sep 11, 2025
f4ea864
docs(CHANGELOG): Update pull request reference (#8208)
andyleiserson Sep 11, 2025
8858450
Extract the parts of PassState that apply to the base encoder
andyleiserson Aug 30, 2025
c0c1607
Rename and relocate ID resolution helpers
andyleiserson Aug 30, 2025
7184973
Move `enum Command` from `device::trace` to `command::encoder_command`.
andyleiserson Aug 28, 2025
d79a49a
Rename `commands` to `trace_commands`
andyleiserson Aug 30, 2025
aaf52e9
Move some `*Copy*Info` types out of `wgpu_core::command::transfer`
andyleiserson Sep 10, 2025
1bef4ff
wgpu: Make `CommandBuffer` not shared/clonable
a1phyr Aug 27, 2025
33a45e1
wgpu: Remove `Arc` in WebGPU backend
a1phyr Aug 27, 2025
6815bd3
chore(deps): Update bitflags version (#8209)
andyleiserson Sep 11, 2025
67bdd80
Add cbindgen:ignore directives (#8212)
andyleiserson Sep 11, 2025
04a3401
Extract command encoding to free functions (#8210)
andyleiserson Sep 11, 2025
aee8cd1
Lazy-load the dcomp library (#8216)
andyleiserson Sep 15, 2025
023f124
chore(deps): update cts digest to 7a9fcc3 (#8227)
renovate[bot] Sep 16, 2025
b55c24c
[naga wgsl-in] Allow trailing comma in switch cases (#8165)
reima Sep 16, 2025
c7fd582
docs(README): Update statement on naga spec conformance (#8233)
andyleiserson Sep 16, 2025
6819904
Remove unused stale copy of webgpu.idl (#8242)
andyleiserson Sep 19, 2025
0b38e96
[msl] vertex pulling: fix unpacking `snorm16x2` & `snorm16x4` (#8249)
teoxoy Sep 19, 2025
f6005a1
Include FreeBSD in conditional compile attributes (#8246)
awbradle Sep 21, 2025
3efd640
naga: Correct spelling in wgsl parsing rg11b10float -> rg11b10ufloat …
EriKWDev Sep 21, 2025
ffd4e9f
chore(deps): update cts digest to 81bfec7 (#8253)
renovate[bot] Sep 23, 2025
7255493
[vulkan] Use corresponding bind group layout entries when creating bi…
jamienicol Jul 23, 2025
ba0b6b9
[vulkan, naga spv-out] Remap resource bindings
jamienicol Jul 24, 2025
d2ee4b8
Fix #8151. (#8215)
caibear Sep 24, 2025
084431b
[naga] Implement atan2 in const (#8222)
sagudev Sep 24, 2025
b2b76e6
chore(deps): update rust crate hashbrown to 0.16 (#8194)
renovate[bot] Sep 24, 2025
6ef8e1f
Expose raw handles (#8174)
jeapostrophe Sep 24, 2025
81f02f2
chore(deps): update rust crate ron to 0.11 (#8196)
renovate[bot] Sep 24, 2025
4566e56
chore(deps): update rust crate encase to 0.12 (#8228)
renovate[bot] Sep 24, 2025
1f10d0c
[naga] Don't report shader errors as their own source (#8258)
andyleiserson Sep 25, 2025
05cc6dc
[hal/dx12] Mesh Shaders (#8110)
inner-daemons Sep 25, 2025
2f7ebf1
(Naga) Add support for Descriptor Runtime Indexing when ingesting SPI…
hasenbanck Sep 25, 2025
990aef9
Expose external memory of vulkan texture (#8257)
xiaopengli89 Sep 25, 2025
1967900
Encode commands on finish (#8220)
andyleiserson Sep 25, 2025
b3423dc
chore: update min. req. for `smallvec` 0.13.1 → 0.14
ErichDonGubler Sep 17, 2025
1f88dfa
style: `Cargo.toml`: strip trailing whitespace
ErichDonGubler Sep 17, 2025
1571342
chore: ignore `rustc-hash` 1.1.0 in `cargo-deny` check for dupes
ErichDonGubler Sep 17, 2025
9aeb5a4
chore: update min. req. for `libc` to 0.2.171
ErichDonGubler Sep 17, 2025
a6c7191
chore: update min. req. for `tokio` to 1.45.1
ErichDonGubler Sep 17, 2025
5093585
chore: update min. req. for `indexmap` to 2.8
ErichDonGubler Sep 17, 2025
099a95b
chore: update min. req. for `strum` 0.27 → 0.27.1
ErichDonGubler Sep 17, 2025
e714cb0
[deno] Format with Deno's rustfmt config
andyleiserson Sep 17, 2025
99a6fdd
[deno] move `isFallbackAdapter` from `GPUAdapter` to `GPUAdapterInfo`
petamoriken Sep 17, 2025
4809741
[deno] release current texture of surface after present
chirsz-ever Sep 17, 2025
190050e
[deno] add `deviceStartCapture` and `deviceStopCapture`
crowlKats Sep 17, 2025
3ebae1b
Update to deno 2.2.12
andyleiserson Sep 17, 2025
b6b951d
Update to deno 2.3.2
andyleiserson Sep 17, 2025
eb3bed5
[deno] add `resize` method to `UnsafeWindowSurface`
chirsz-ever Sep 17, 2025
7f30a8d
[deno] Switch rustfmt to edition 2024
andyleiserson Sep 17, 2025
ad4f10f
[deno] fix android build
cions Sep 17, 2025
492fb59
Update to deno 2.4.5
andyleiserson Sep 17, 2025
67f7a4e
[deno] add illegal constructor errors
petamoriken Sep 17, 2025
5e6c151
chore: remove `advisories.ignore` entry for RUSTSEC-2025-0056
ErichDonGubler Sep 17, 2025
5cbab61
refactor(xtask/cts): move `TEST_LINE_REGEX` to single site of use
ErichDonGubler Sep 25, 2025
83a0722
test(cts): allow comma-separated backend list in `fails-if(…)`
ErichDonGubler Sep 25, 2025
cac1bf9
test(cts): add `…,vertex_state,correctness:array_stride_zero:*`, expe…
ErichDonGubler Sep 25, 2025
3375284
[D3D12] fix setting vertex buffer array stride if 0 (#8260)
teoxoy Sep 26, 2025
ce96254
[msl] fix vertex pulling with a stride of 0 (#8265)
teoxoy Sep 26, 2025
375095f
feat(deno): accept `GPUBuffer` as `GPUBindingResource`
ErichDonGubler Sep 18, 2025
2b71b1f
feat(deno): accept `GPUTexture` as `GPUBindingResource`
ErichDonGubler Sep 18, 2025
61e5124
[deno] Return `undefined` instead of `null` from WebGPU APIs (#8266)
andyleiserson Sep 27, 2025
f1c876c
Create a seperate event for each fence wait. (#8273)
Vecvec Sep 29, 2025
9c92a90
chore(deps): update crate-ci/typos action to v1.36.3 (#8276)
renovate[bot] Sep 29, 2025
bc43a23
chore(deps): update cts digest to 5e7bd6e (#8275)
renovate[bot] Sep 29, 2025
a01ffb7
Fix unused warning in a specific feature config (#8271)
andyleiserson Sep 29, 2025
8cb94db
(Naga) Add support for Storage Image Multisample when ingesting SPIR-…
hasenbanck Sep 29, 2025
ea80c7d
hal/vulkan: Accurately map all formats except fp16 to use the non-lin…
MarijnS95 Sep 29, 2025
8c4aebc
(Naga) Implement OpImageGather and OpImageDrefGather when ingesting S…
hasenbanck Sep 29, 2025
d0bcb7e
CI: Disallow all warnings in `cargo deny` and prune unmatched `skip`s…
MarijnS95 Sep 30, 2025
06fc6f7
feat(wgsl): recognize `enable primitive-index;` (#8237)
ErichDonGubler Sep 30, 2025
00ea850
Allow timeouting on poll (#8282)
Wumpf Oct 1, 2025
9070215
fix(namer): escape, rather than strip, non-ASCII ident. characters
ErichDonGubler Jul 22, 2025
5146b3f
fix(namer): normalize ":<>," characters to a snake case separator
ErichDonGubler Jul 25, 2025
a2547f8
chore(deps): update dependency macos to v15 (#8278)
renovate[bot] Oct 1, 2025
5b194ec
[deno] Remove kludge for `type` properties (#8262)
andyleiserson Oct 1, 2025
43eccd2
[naga] Remove `naga::path_like`. Use `String` instead. (#8284)
jimblandy Oct 1, 2025
333f811
Rework `wgpu::PollType` to only two enum variants (#8285)
Wumpf Oct 1, 2025
9380b87
chore(deps): update cargo.lock (#8229)
renovate[bot] Oct 1, 2025
482a983
Release v27 (#8287)
cwfitzgerald Oct 1, 2025
7b98896
Remove trunk example warning
cwfitzgerald Oct 1, 2025
0df9350
Fix docs.rs build
cwfitzgerald Oct 2, 2025
d3f487e
Clarify changelog
cwfitzgerald Oct 2, 2025
c76dea0
Bump version to v27.0.1
cwfitzgerald Oct 2, 2025
b34c110
Gate DX12 mesh shader command signature initialization on device supp…
vorporeal Oct 4, 2025
627bf91
Bump version to v27.0.2
cwfitzgerald Oct 4, 2025
98caa62
[msl-out] use `separator` closure for all fn arguments
teoxoy Oct 6, 2025
2ea52e0
[ci] Reset cache tag for CTS
andyleiserson Oct 6, 2025
f3dad22
refactor(dx12): detect `UnrestrictedBufferTextureCopyPitchSupported`
ErichDonGubler May 22, 2025
341a4e0
refactor(dx12): lower `list` extraction for copies between textures a…
ErichDonGubler May 22, 2025
3a5e2c4
refactor(hal): impl. `From` conversions b/w `wgh::CopyExtent` and `wg…
ErichDonGubler May 22, 2025
8d63de7
refactor(dx12): extract `copy_aligned` in `copy_texture_to_buffer`
ErichDonGubler May 23, 2025
46af29d
test(cts): add `…,image_copy:undefined_params:*` with current failures
ErichDonGubler Oct 13, 2025
53c71ae
fix(dx12): align tex. <-> buf. copies via intermediate buffer if `!Un…
ErichDonGubler May 22, 2025
ffcb07e
[build] Commit Cargo.lock changes from the v27.0.2 version bump
andyleiserson Oct 17, 2025
787aa72
Remove `!encoder.is_open` assertion
andyleiserson Oct 20, 2025
69fda60
style: format `CHANGELOG.md` with `prettier`
ErichDonGubler Oct 21, 2025
c5f7026
[build] Waive cargo deny for unmaintained `unic-*` crates
andyleiserson Oct 21, 2025
2404992
chore: ignore `windows-sys` 0.59.0 in `cargo deny` checks
ErichDonGubler Oct 21, 2025
e17bd3a
docs(README): add backport link
ErichDonGubler Oct 21, 2025
459e34a
docs(CHANGELOG): hoist backport entry for #8311 to proper place, lowe…
ErichDonGubler Oct 21, 2025
d61dc3a
chore: prep. for 27.0.3 release
ErichDonGubler Oct 21, 2025
542d7c9
Remove fragile dependency constraint on `ordered-float`. (#8371)
kpreid Oct 22, 2025
c06b23b
docs(CHANGELOG): import fixups of old entries from `trunk` (#8406)
ErichDonGubler Oct 23, 2025
386d443
[hal/vulkan] Wait for fence signalled in vkAcquireNextImage
cwfitzgerald Oct 22, 2025
af91efa
Bump version to v27.0.4
cwfitzgerald Oct 23, 2025
76cb48c
Allow uniform buffers and binding arrays in same bind group
LPGhatguy May 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
[alias]
xtask = "run -p wgpu-xtask --"

# Needed until https://github.com/rust-random/getrandom/issues/675 is resolved.
[target.wasm32-unknown-unknown]
rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""]
13 changes: 13 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ slow-timeout = { period = "45s", terminate-after = 2 }
fail-fast = false
retries = 0

[profile.default-miri]
# Miri is very very slow, so give it a much longer timeout.
slow-timeout = { period = "120s", terminate-after = 4 }

# Use two threads for tests with "2 threads" in their name
[[profile.default.overrides]]
filter = 'test(~2_threads) | test(~2 threads)'
Expand Down Expand Up @@ -38,3 +42,12 @@ slow-timeout = { period = "3m", terminate-after = 2 }
[[profile.default.overrides]]
filter = 'test(~oom_test)'
threads-required = "num-test-threads"

#
# Priorities for slow tests so that they run first, increasing overall test suite speed.
# On software renderers, they can take 10-60 seconds. Compile fail can easily take 30+
# seconds as it has to compile wgpu.
#
[[profile.default.overrides]]
priority = 1
filter = 'test(clear_texture) | test(clear_buffer_range_respected) | test(compile_fail) | test(test_api)'
44 changes: 21 additions & 23 deletions .deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,12 @@
multiple-versions = "deny"
skip-tree = [
{ name = "windows-sys", version = "0.45" },
{ name = "windows-sys", version = "0.59" },
{ name = "winit", version = "0.29" },
{ name = "rustc_version", version = "0.2.3" },
{ name = "miniz_oxide", version = "0.7.4" },
{ name = "rustc-hash", version = "1.1.0" },

# introduced by Deno, to be investigated
{ name = "strum_macros", version = "0.25.3" },
{ name = "petgraph", version = "0.6.5" },
{ name = "base64-simd", version = "0.7.0" },
{ name = "bit-set", version = "0.5.3" },
{ name = "bit-vec", version = "0.6.3" },
{ name = "capacity_builder", version = "0.1.3" },
]
skip = [
# Flume uses an old version
Expand All @@ -21,6 +16,9 @@ skip = [
# Deno uses an old version
{ name = "which", version = "6.0.3" },

# Winit uses an old version
{ name = "windows-sys", version = "0.52.0" },

# Loom uses a new windows version
{ name = "windows", version = "0.61.1" },
{ name = "windows-core", version = "0.61.2" },
Expand All @@ -29,27 +27,28 @@ skip = [
{ name = "windows-result", version = "0.3.4" },
{ name = "windows-strings", version = "0.4.2" },

# cargo-metadata uses an old version of ordered-float. Only used for testing.
{ name = "ordered-float", version = "2.10.1" },
# criterion uses an old version
{ name = "itertools", version = "0.10.5" },
# bindgen (used by deno) uses old version
{ name = "itertools", version = "0.13.0" },
# loom (used by tracy-client) uses old `matchers` crate
{ name = "regex-automata", version = "0.1.10" },
{ name = "regex-syntax", version = "0.6.29" },
# Strum uses an old version
{ name = "heck", version = "0.4.0" },
# Deno uses an old version
{ name = "strum", version = "0.25.0" },
{ name = "bincode", version = "1.3.3" },
]
wildcards = "deny"
allow-wildcard-paths = true

[advisories]
# `paste` crate is no longer maintained https://rustsec.org/advisories/RUSTSEC-2024-0436
# It's a dependency of `metal` (which is to be replaced with `objc2`) and a transitive dependency of `deno`.
ignore = ["RUSTSEC-2024-0436"]
ignore = [
# `paste` crate is no longer maintained https://rustsec.org/advisories/RUSTSEC-2024-0436
# It's a dependency of `metal` (which is to be replaced with `objc2-metal`), and a
# transitive dependency of `deno`. https://github.com/gfx-rs/wgpu/issues/7873
"RUSTSEC-2024-0436",
# `unic-*` crates are no longer maintained https://rustsec.org/advisories/RUSTSEC-2025-0100
# These are used via `deno`. https://github.com/gfx-rs/wgpu/issues/8393
"RUSTSEC-2025-0075",
"RUSTSEC-2025-0080",
"RUSTSEC-2025-0081",
"RUSTSEC-2025-0098",
"RUSTSEC-2025-0100",
]

[licenses]
allow = [
Expand All @@ -62,19 +61,18 @@ allow = [
"MPL-2.0",
"MIT",
"MIT-0",
"Unicode-DFS-2016",
"Unicode-3.0",
"Zlib",
]
private = { ignore = true }

[sources]
allow-git = [
# Waiting on releases; used in examples only
# Waiting on releases; used in examples/tests only
]
unknown-registry = "deny"
unknown-git = "deny"
required-git-spec = "rev"

[sources.allow-org]
github = ["gfx-rs"]
github = []
17 changes: 0 additions & 17 deletions .github/CODEOWNERS

This file was deleted.

2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Question about wgpu
url: https://github.com/gfx-rs/wgpu/discussions/new
url: https://github.com/gfx-rs/wgpu/discussions/new/choose
about: Any questions about how to use wgpu should go here.
39 changes: 32 additions & 7 deletions .github/actions/install-mesa/action.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
name: 'Install Mesa'
description: 'Install Mesa'
inputs:
# Sourced from https://archive.mesa3d.org/. Bumping this requires
# updating the mesa build in https://github.com/gfx-rs/ci-build and creating a new release.
version:
default: '24.3.4'
# Corresponds to https://github.com/gfx-rs/ci-build/releases
ci-binary-build:
default: 'build20'
runs:
using: "composite"
using: 'composite'
steps:
- name: Install Mesa
- name: (Linux) Install Mesa
if: runner.os == 'Linux'
shell: bash
env:
# Sourced from https://archive.mesa3d.org/. Bumping this requires
# updating the mesa build in https://github.com/gfx-rs/ci-build and creating a new release.
MESA_VERSION: "24.3.4"
# Corresponds to https://github.com/gfx-rs/ci-build/releases
CI_BINARY_BUILD: "build20"
MESA_VERSION: ${{ inputs.version }}
CI_BINARY_BUILD: ${{ inputs.ci-binary-build }}
run: |
set -e

Expand All @@ -34,3 +40,22 @@ runs:
echo "VK_DRIVER_FILES=$PWD/icd.json" >> "$GITHUB_ENV"
echo "LD_LIBRARY_PATH=$PWD/mesa/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
echo "LIBGL_DRIVERS_PATH=$PWD/mesa/lib/x86_64-linux-gnu/dri" >> "$GITHUB_ENV"

- name: (Windows) Install Mesa
if: runner.os == 'Windows'
shell: bash
env:
MESA_VERSION: ${{ inputs.version }}
CI_BINARY_BUILD: ${{ inputs.ci-binary-build }}
run: |
set -e

curl.exe -L --retry 5 https://github.com/pal1000/mesa-dist-win/releases/download/$MESA_VERSION/mesa3d-$MESA_VERSION-release-msvc.7z -o mesa.7z
7z.exe e mesa.7z -omesa x64/{opengl32.dll,libgallium_wgl.dll,libglapi.dll,vulkan_lvp.dll,lvp_icd.x86_64.json}

cp -v mesa/* target/llvm-cov-target/debug/
cp -v mesa/* target/llvm-cov-target/debug/deps

# We need to use cygpath to convert PWD to a windows path as we're using bash.
echo "VK_DRIVER_FILES=`cygpath --windows $PWD/mesa/lvp_icd.x86_64.json`" >> "$GITHUB_ENV"
echo "GALLIUM_DRIVER=llvmpipe" >> "$GITHUB_ENV"
62 changes: 62 additions & 0 deletions .github/actions/install-vulkan-sdk/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: 'Install Vulkan SDK'
description: 'Install Vulkan SDK'
inputs:
# Sourced from https://vulkan.lunarg.com/sdk/home#linux
version:
default: '1.4.321'
full-version:
default: '1.4.321.0'
runs:
using: 'composite'
steps:
- name: (Linux) Install Vulkan SDK
if: runner.os == 'Linux'
shell: bash
env:
VULKAN_SDK_VERSION: ${{ inputs.version }}
VULKAN_FULL_SDK_VERSION: ${{ inputs.full-version }}
run: |
set -e

curl -L --retry 5 https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_FULL_SDK_VERSION }}/linux/vulkansdk-linux-x86_64-${{ env.VULKAN_FULL_SDK_VERSION }}.tar.xz -o vulkan-sdk.tar.xz
mkdir vulkan-sdk
tar xpf vulkan-sdk.tar.xz -C vulkan-sdk

mv ./vulkan-sdk/${{ env.VULKAN_FULL_SDK_VERSION }} $HOME/VulkanSDK

echo "$HOME/VulkanSDK/x86_64/bin" >> "$GITHUB_PATH"
echo "LD_LIBRARY_PATH=$HOME/VulkanSDK/x86_64/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> "$GITHUB_ENV"
echo "VK_ADD_LAYER_PATH=$HOME/VulkanSDK/x86_64/share/vulkan/explicit_layer.d" >> "$GITHUB_ENV"

- name: (Windows) Install Vulkan SDK
if: runner.os == 'Windows'
shell: bash
env:
VULKAN_SDK_VERSION: ${{ inputs.version }}
VULKAN_FULL_SDK_VERSION: ${{ inputs.full-version }}
run: |
set -e

curl.exe -L --retry 5 https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_FULL_SDK_VERSION }}/windows/vulkansdk-windows-X64-${{ env.VULKAN_FULL_SDK_VERSION }}.exe -o vulkan-sdk-installer.exe

./vulkan-sdk-installer.exe --accept-licenses --default-answer --confirm-command install

echo "C:/VulkanSDK/${{ env.VULKAN_FULL_SDK_VERSION }}/Bin" >> "$GITHUB_PATH"


- name: (Mac) Install Vulkan SDK
if: runner.os == 'macOS'
shell: bash
env:
VULKAN_SDK_VERSION: ${{ inputs.version }}
VULKAN_FULL_SDK_VERSION: ${{ inputs.full-version }}
run: |
set -e

curl -L --retry 5 https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_FULL_SDK_VERSION }}/mac/vulkansdk-macos-${{ env.VULKAN_FULL_SDK_VERSION }}.zip -o vulkan-sdk.zip
unzip vulkan-sdk.zip -d vulkan-sdk

ls -l vulkan-sdk
sudo ./vulkan-sdk/vulkansdk-macOS-${{ env.VULKAN_FULL_SDK_VERSION }}.app/Contents/MacOS/vulkansdk-macOS-${{ env.VULKAN_FULL_SDK_VERSION }} --root "$HOME/VulkanSDK" --accept-licenses --default-answer --confirm-command install

echo "$HOME/VulkanSDK/macOS/bin" >> "$GITHUB_PATH"
Loading
Loading