-
Notifications
You must be signed in to change notification settings - Fork 942
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
Add Pipeline Overrides for workgroup_size
#6635
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits on the integration tests, looks good on the wgpu side.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tests look good :) Need a naga review still
Don't forget to re-request review when things are addressed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks!
Connections
resolves #4450
Description
The WebGPU spec allows for pipeline overrides of
workgroup_size
. This is achieved by adding aworkgroup_size_overrides
field tocrate::EntryPoint
and registering any override expressions inworkgroup_size
as an override with the name__workgroup_size_{[012]}
since identifiers aren't allowed to start with two underscores in a row. From there, they are resolved to constants with the other overrides and anySome
fields inworkgroup_size_overrides
replace the correspondingworkgroup_size
.Testing
This change adds an integration test via
wgpu_test
, which checks that the workgroup size equals the initialization value by default and that it changes with pipeline overrides.Checklist
cargo fmt
.taplo format
.cargo clippy
. If applicable, add:--target wasm32-unknown-unknown
--target wasm32-unknown-emscripten
cargo xtask test
to run tests.CHANGELOG.md
. See simple instructions inside file.