Skip to content

Commit 8f62fee

Browse files
Merge branch 'trunk' into zero-init-multiplanar-textures
2 parents e6710e9 + a87213e commit 8f62fee

338 files changed

Lines changed: 22532 additions & 8175 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.config/nextest.toml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ slow-timeout = { period = "45s", terminate-after = 2 }
66
fail-fast = false
77
retries = 0
88

9-
[profile.default-miri]
10-
# Miri is very very slow, so give it a much longer timeout.
11-
slow-timeout = { period = "120s", terminate-after = 4 }
12-
139
# Use two threads for tests with "2 threads" in their name
1410
[[profile.default.overrides]]
1511
filter = 'test(~2_threads) | test(~2 threads)'
@@ -51,3 +47,13 @@ threads-required = "num-test-threads"
5147
[[profile.default.overrides]]
5248
priority = 1
5349
filter = 'test(clear_texture) | test(clear_buffer_range_respected) | test(compile_fail) | test(test_api)'
50+
51+
[profile.wasm]
52+
default-filter = "test([wasm])"
53+
slow-timeout = { period = "45s", terminate-after = 2 }
54+
fail-fast = false
55+
retries = 0
56+
57+
[profile.default-miri]
58+
# Miri is very very slow, so give it a much longer timeout.
59+
slow-timeout = { period = "120s", terminate-after = 4 }

.deny.toml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
# scope. The binaries, tests, examples, and tooling in this workspace pull in many
55
# more dependencies that would produce false-positive advisory/ban/license noise.
66
exclude-unpublished = true
7+
# Dev dependencies are not relevant to the published library crates, so we ignore them.
8+
exclude-dev = true
79

810
[bans]
911
multiple-versions = "deny"
@@ -19,9 +21,6 @@ skip = [
1921

2022
# wgpu-hal -> drm -> drm-sys uses an older version, while wgpu-hal -> drm -> rustix uses a newer one
2123
{ name = "linux-raw-sys", version = "0.9.4" },
22-
23-
# wgpu-hal -> ndk-sys -> jni-sys uses an old version, while jni-sys 0.4 re-exports it
24-
{ name = "jni-sys", version = "0.3.1" },
2524
]
2625
wildcards = "deny"
2726
allow-wildcard-paths = true
@@ -50,10 +49,6 @@ allow = [
5049
private = { ignore = true }
5150

5251
[sources]
53-
allow-git = [
54-
# Pending a release for https://github.com/rust-cli/env_logger/commit/143fa647ab33ed3acc9f160dfa3cb075cc62b5a3
55-
"https://github.com/rust-cli/env_logger",
56-
]
5752
unknown-registry = "deny"
5853
unknown-git = "deny"
5954
required-git-spec = "rev"

.github/actions/install-dxc/action.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ runs:
77
run: |
88
set -e
99
10-
export DXC_RELEASE="v1.8.2505.1"
11-
export DXC_FILENAME="dxc_2025_07_14.zip"
10+
export DXC_RELEASE="v1.9.2602.24"
11+
export DXC_FILENAME="dxc_2026_05_27.zip"
1212
1313
curl.exe -L --retry 5 https://github.com/microsoft/DirectXShaderCompiler/releases/download/$DXC_RELEASE/$DXC_FILENAME -o dxc.zip
1414
7z.exe e dxc.zip -odxc bin/x64/{dxc.exe,dxcompiler.dll}
1515
1616
# We need to use cygpath to convert PWD to a windows path as we're using bash.
17-
cygpath --windows "$PWD/dxc" >> "$GITHUB_PATH"
17+
echo "WGPU_DX12_COMPILER=$(cygpath --windows "$PWD/dxc/dxcompiler.dll")" >> "$GITHUB_ENV"
18+
echo "DENO_WEBGPU_DX12_COMPILER=$(cygpath --windows "$PWD/dxc/dxcompiler.dll")" >> "$GITHUB_ENV"

.github/workflows/ci.yml

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ on:
1414
merge_group:
1515

1616
env:
17+
#
18+
# Keep in sync with cts.yml
19+
#
20+
1721
#
1822
# Dependency versioning
1923
#
@@ -27,12 +31,11 @@ env:
2731
CORE_MSRV: "1.87"
2832

2933
#
30-
# Environment variables
34+
# Build and test configuration
3135
#
3236

3337
CARGO_INCREMENTAL: false
3438
CARGO_TERM_COLOR: always
35-
WGPU_DX12_COMPILER: dxc
3639
RUST_LOG: debug,wasm_bindgen_wasm_interpreter=warn,wasm_bindgen_cli_support=warn,walrus=warn,naga=info
3740
RUST_BACKTRACE: full
3841
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
@@ -42,6 +45,13 @@ env:
4245
CACHE_SUFFIX: e # cache busting
4346
WGPU_CI: true
4447

48+
#
49+
# Runtime configuration
50+
#
51+
52+
LVP_POISON_MEMORY: true # to test memory init; see docs/testing.md
53+
WGPU_DX12_COMPILER: dxc
54+
4555
# Every time a PR is pushed to, cancel any previous jobs. This
4656
# makes us behave nicer to github and get faster turnaround times
4757
# on PRs that are pushed to multiple times in rapid succession.
@@ -577,16 +587,25 @@ jobs:
577587
rustup override set ${{ env.REPO_MSRV }}
578588
cargo -V
579589
580-
- name: Install `wasm-pack`
590+
- name: Get `wasm-bindgen` version
591+
run: |
592+
WASM_BINDGEN_VERSION=$(cargo metadata --format-version 1 --all-features | jq '.packages[] | select(.name == "wasm-bindgen") | .version' | tr -d '"')
593+
594+
echo $WASM_BINDGEN_VERSION
595+
596+
echo "WASM_BINDGEN_VERSION=$WASM_BINDGEN_VERSION" >> "$GITHUB_ENV"
597+
598+
- name: Install `wasm-bindgen`
599+
run: cargo +stable install wasm-bindgen-cli --version=$WASM_BINDGEN_VERSION
600+
601+
- name: Install `cargo-nextest`
581602
uses: taiki-e/install-action@v2
582603
with:
583-
tool: wasm-pack
604+
tool: cargo-nextest
584605

585606
- name: Execute tests
586607
run: |
587-
cd wgpu
588-
589-
wasm-pack test --headless --chrome --no-default-features --features wgsl,webgl,web --workspace
608+
cargo xtask test-wasm
590609
591610
gpu-test:
592611
# runtime is normally 5-15 minutes
@@ -727,7 +746,7 @@ jobs:
727746
cargo --locked llvm-cov report --lcov --output-path lcov.info
728747
729748
- name: Upload coverage report to Codecov
730-
uses: codecov/codecov-action@v6
749+
uses: codecov/codecov-action@v7
731750
if: steps.coverage.outcome == 'success'
732751
with:
733752
files: lcov.info
@@ -816,26 +835,20 @@ jobs:
816835
rustup override set ${{ env.REPO_MSRV }}
817836
cargo -V
818837
819-
# NOTE: Keep this above the others, because this will fail if there are _any_ changes to
820-
# files, even ones this step doesn't modify.
821838
- name: "Format `**/*.{md,js,html,yml}` files"
822-
uses: creyD/prettier_action@v4.6
823-
with:
824-
prettier_version: 3.8.1
825-
prettier_options: --check --write .
826-
dry: true
839+
run: npx --yes prettier@3.8.1 --check .
827840

828841
- name: Run `cargo fmt`
829842
run: |
830843
cargo --locked fmt -- --check
831844
832-
- name: Install Taplo
833-
uses: uncenter/setup-taplo@v2
845+
- name: Install Tombi
846+
uses: tombi-toml/setup-tombi@v1.1.3
834847
with:
835-
version: "0.9.3"
848+
version: "1.1.3"
836849

837-
- name: Run `taplo fmt`
838-
run: taplo format --check --diff
850+
- name: Format TOML files
851+
run: tombi format --check --diff
839852

840853
- name: Check for typos
841854
uses: crate-ci/typos@v1.47.2

.github/workflows/cts.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@ on:
1414
merge_group:
1515

1616
env:
17+
#
18+
# Keep in sync with ci.yml
19+
#
20+
1721
REPO_MSRV: "1.93"
1822
CARGO_INCREMENTAL: false
1923
CARGO_TERM_COLOR: always
2024
RUST_BACKTRACE: full
2125
RUSTFLAGS: -D warnings
2226
RUSTDOCFLAGS: -D warnings
27+
DENO_WEBGPU_STRICT_COMPLIANCE: 1
28+
29+
#
30+
# Runtime configuration
31+
#
32+
33+
LVP_POISON_MEMORY: true # to test memory init; see docs/testing.md
34+
# cts_runner uses dxc by default
2335

2436
# Every time a PR is pushed to, cancel any previous jobs. This
2537
# makes us behave nicer to github and get faster turnaround times
@@ -172,7 +184,7 @@ jobs:
172184
cargo --locked llvm-cov report --lcov --output-path lcov.info
173185
174186
- name: Upload coverage report to Codecov
175-
uses: codecov/codecov-action@v6
187+
uses: codecov/codecov-action@v7
176188
if: steps.coverage.outcome == 'success'
177189
with:
178190
files: lcov.info

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,14 @@ wgpu/red.png
4141

4242
# Cached GPU config
4343
.gpuconfig
44+
.wasmgpuconfig
4445

4546
# Temporary clone location for wasm-bindgen mirroring
4647
wgpu/src/backend/webgpu/webgpu_sys/wasm_bindgen_clone_tmp
4748

4849
# LLM-related
4950
.claude/settings.local.json
51+
52+
# Wasm test generated files
53+
/tests/wasm/dist
54+
/tests/wasm/runner/node_modules

0 commit comments

Comments
 (0)