Skip to content

Full per_vertex implementation#9219

Open
inner-daemons wants to merge 14 commits intogfx-rs:trunkfrom
inner-daemons:per-vertex-hlsl-msl
Open

Full per_vertex implementation#9219
inner-daemons wants to merge 14 commits intogfx-rs:trunkfrom
inner-daemons:per-vertex-hlsl-msl

Conversation

@inner-daemons
Copy link
Collaborator

@inner-daemons inner-daemons commented Mar 13, 2026

Connections
Closes #9117

Description
Adds support for per vertex fragment inputs on MSL and HLSL. Also adds some extra valiadtion that is related, plus an enable extension.

Testing
Existing tests

Squash or Rebase?
Squash

Checklist

  • Run cargo fmt.
  • Run taplo format.
  • Run cargo clippy --tests. If applicable, add:
    • --target wasm32-unknown-unknown
  • Run cargo xtask test to run tests.
  • If this contains user-facing changes, add a CHANGELOG.md entry.

@inner-daemons inner-daemons marked this pull request as ready for review March 14, 2026 00:51
Co-authored-by: atlv <email@atlasdostal.com>
@ChristopherBiscardi
Copy link
Contributor

Relevant per_vertex test is passing on m5 max hardware
❯ cargo xtask test per_vertex
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.05s
     Running `target/debug/wgpu-xtask test per_vertex`
[INFO  wgpu_xtask::test] Generating .gpuconfig file based on gpus on the system
   Compiling wgpu-examples v28.0.0 (/Users/chris/github/gfx-rs/wgpu/examples/features)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.16s
────────────
 Nextest run ID 574c45fa-1c48-4354-9f24-bcd0224b7aa4 with nextest profile: default
    Starting 1 test across 1 binary (2 tests and 35 binaries skipped)
        PASS [   0.128s] wgpu-info::bin/wgpu-info tests::generate_gpuconfig_report
────────────
     Summary [   0.130s] 1 test run: 1 passed, 2 skipped
[INFO  wgpu_xtask::test] Found 1 gpu
[INFO  wgpu_xtask::test] Running cargo tests
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
────────────
 Nextest run ID bfb67dfb-2a87-4c29-b2d5-ada62d6e6077 with nextest profile: default
    Starting 2 tests across 36 binaries (865 tests skipped)
        PASS [   0.010s] naga::naga wgsl_errors::per_vertex_capability
        PASS [   0.174s] wgpu-test::wgpu-gpu [Executed] [Metal/Apple M5 Max/0] wgpu_gpu::per_vertex::per_vertex
────────────
     Summary [   0.177s] 2 tests run: 2 passed, 865 skipped
[INFO  wgpu_xtask::test] Finished tests

and I pulled some of the relevant code from the per_vertex gpu test into an example and it runs as such:

Screenshot 2026-03-13 at 10 08 40 PM

@Wumpf Wumpf changed the title Full per vertex implementation Full per_vertex implementation Mar 18, 2026
@cwfitzgerald cwfitzgerald self-assigned this Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per vertex support on metal and DX12

4 participants