Skip to content

Add shader execution tests on the feature subgroup-size-control#4643

Open
Jiawei-Shao wants to merge 2 commits into
gpuweb:mainfrom
Jiawei-Shao:test-subgroup-size-control-execution-test
Open

Add shader execution tests on the feature subgroup-size-control#4643
Jiawei-Shao wants to merge 2 commits into
gpuweb:mainfrom
Jiawei-Shao:test-subgroup-size-control-execution-test

Conversation

@Jiawei-Shao
Copy link
Copy Markdown
Collaborator

This patch adds the shader execution tests on the feature subgroup-size-control:

  • The value of the built-in variable subgroup_size must equal the value of the @subgroup_size attribute.
  • At least one value in the range of [subgroupMinSize, subgroupMaxSize] can be used as @subgroup_size
    attribute in a simple compute pipeline.

Issue: #4640


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.

This patch adds the shader execution tests on the feature
`subgroup-size-control`:
- The value of the built-in variable `subgroup_size` must equal the
  value of the `@subgroup_size` attribute.
- At least one value in the range of [GPUAdapterInfo.subgroupMinSize,
  GPUAdapterInfo.subgroupMaxSize] can be used as `@subgroup_size`
  attribute in a simple compute pipeline.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 18, 2026

Results for build job (at 70e2921):

+webgpu:shader,execution,shader_io,compute_builtins:subgroup_size_attribute:* - 6 cases, 6 subcases (~1/case)
+webgpu:shader,execution,shader_io,compute_builtins:subgroup_size_attribute_valid_size_exists:* - 1 cases, 1 subcases (~1/case)
-TOTAL: 281256 cases, 2322907 subcases
+TOTAL: 281263 cases, 2322914 subcases

@Jiawei-Shao Jiawei-Shao removed the request for review from Kangz May 19, 2026 12:44
@Jiawei-Shao
Copy link
Copy Markdown
Collaborator Author

@kainino0x @jrprice PTAL, thanks!


g.test('subgroup_size_attribute')
.desc(
'Tests that the value of the subgroup_size builtin must equal the value of the @subgroup_size attribute.'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test feels like just a subset of the test below, can we fold them together? i.e. for any pipeline that is successfully created in the below test, the value of the subgroup_size builtin should match the subgroup size attribute, and there must be at least one that succeeds.

That way we get better coverage of the fact that subgroup_size does actually change the subgroup size.

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