Skip to content

Test index into swizzle for assignment - #4687

Merged
sudonatalie merged 2 commits into
gpuweb:mainfrom
sudonatalie:swizzle-assignment-index
Jul 28, 2026
Merged

Test index into swizzle for assignment#4687
sudonatalie merged 2 commits into
gpuweb:mainfrom
sudonatalie:swizzle-assignment-index

Conversation

@sudonatalie

Copy link
Copy Markdown
Contributor

Array-like indexing into swizzle views was added to the swizzle assignment WGSL language feature specification in a recent change to the spec PR: gpuweb/gpuweb@4b8daf8

These new cases have been tested against the updated dawn implementation at: https://dawn-review.googlesource.com/c/dawn/+/327436


Requirements for PR author:

  • All missing test coverage is tracked with "TODO" or .unimplemented().
  • New helpers are /** documented */ and new helper files are found in helper_index.txt.
  • Test behaves as expected in a WebGPU implementation. (If not passing, explain above.)
  • Test have be tested with compatibility mode validation enabled and behave as expected. (If not passing, explain above.)

Requirements for reviewer sign-off:

  • Tests are properly located.
  • Test descriptions are accurate and complete.
  • Tests provide complete coverage (including validation control cases). Missing coverage MUST be covered by TODOs.
  • Tests avoid over-parameterization (see case count report).

When landing this PR, be sure to make any necessary issue status updates.

Array-like indexing into swizzle views was added to the swizzle
assignment WGSL language feature specification in a recent change to the
spec PR:
gpuweb/gpuweb@4b8daf8
@sudonatalie
sudonatalie requested a review from alan-baker July 27, 2026 19:39
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

Results for build job (at 56bea06):

-webgpu:shader,execution,statement,swizzle_assignment:swizzle_assignment_vars:* - 16 cases, 128 subcases (~8/case)
-webgpu:shader,execution,statement,swizzle_assignment:swizzle_compound_assignment:* - 4 cases, 32 subcases (~8/case)
+webgpu:shader,execution,statement,swizzle_assignment:swizzle_assignment_vars:* - 21 cases, 168 subcases (~8/case)
+webgpu:shader,execution,statement,swizzle_assignment:swizzle_compound_assignment:* - 7 cases, 56 subcases (~8/case)
+webgpu:shader,execution,statement,swizzle_assignment:dynamic_index_into_swizzle:* - 30 cases, 228 subcases (~8/case)
+webgpu:shader,execution,statement,swizzle_assignment:indexed_swizzle_eval_order:* - 1 cases, 1 subcases (~1/case)
+webgpu:shader,execution,statement,swizzle_assignment:indexed_swizzle_compound_eval_order:* - 1 cases, 1 subcases (~1/case)
-webgpu:shader,validation,statement,swizzle_assignment:invalid_index_into_swizzle_view:* - 1 cases, 1 subcases (~1/case)
+webgpu:shader,validation,statement,swizzle_assignment:index_into_swizzle_view:* - 30 cases, 30 subcases (~1/case)
+webgpu:shader,validation,statement,swizzle_assignment:dynamic_index_into_swizzle_view:* - 6 cases, 6 subcases (~1/case)
-TOTAL: 285244 cases, 2346076 subcases
+TOTAL: 285319 cases, 2346405 subcases

Comment thread src/webgpu/shader/execution/statement/swizzle_assignment.spec.ts Outdated
@sudonatalie

Copy link
Copy Markdown
Contributor Author

Also modified tests to allow duplicates in the nested swizzle view being indexed, since this is actually allowed by the spec.

@sudonatalie
sudonatalie merged commit 63cb9fc into gpuweb:main Jul 28, 2026
1 check passed
@sudonatalie
sudonatalie deleted the swizzle-assignment-index branch July 28, 2026 13:59
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.

2 participants