Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve fragment shader checks in subgroupBitwise #4070

Merged
merged 2 commits into from
Dec 4, 2024

Conversation

alan-baker
Copy link
Contributor

  • Modifies the fragment tests in subgroupBitwise to avoid any subgroup in the last row or column
    • this fixes failures seen on some devices performing subgroupXor when helpers are in bounds, but not on the edge of the framebuffer
  • Tests skip cases that could not possibly yield useful results, but checking is also terminated early if no useful results can be found
    • Enough framebuffer variants are swept to ensure some tests will cover useful subgroups, but the sizes are only known after a pipeline compile

This fixes the errors I was seeing in small framebuffer sizes on Apple silicon.

Issue: #


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 in the test tree.
  • Test descriptions allow a reader to "read only the test plans and evaluate coverage completeness", and accurately reflect the test code.
  • Tests provide complete coverage (including validation control cases). Missing coverage MUST be covered by TODOs.
  • Helpers and types promote readability and maintainability.

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

@alan-baker alan-baker requested review from jrprice and dneto0 December 3, 2024 16:51
* Modifies the fragment tests in subgroupBitwise to avoid any subgroup
  in the last row or column
  * this fixes failures seen on some devices performing subgroupXor when
    helpers are in bounds, but not on the edge of the framebuffer
* Tests skip cases that could not possibly yield useful results, but
  checking is also terminated early if no useful results can be found
  * Enough framebuffer variants are swept to ensure some tests will
    cover useful subgroups, but the sizes are only known after a pipeline
    compile
@alan-baker alan-baker enabled auto-merge (squash) December 4, 2024 15:22
@alan-baker alan-baker merged commit 096f9fd into gpuweb:main Dec 4, 2024
1 check passed
@alan-baker alan-baker deleted the fix-subgroup-xor branch December 4, 2024 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants