-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add mesh shader stages to wgt::ShaderStages and naga::ShaderStage #7292
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 mesh shader stages to wgt::ShaderStages and naga::ShaderStage #7292
Conversation
ErichDonGubler
left a comment
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.
This LGTM, minus a question about nomenclature. I'm a graphic programming novice, but Task seems like an overly general shader stage name, given the docs. Perhaps it would be better to rename to MeshTask instead?
|
@ErichDonGubler I don't claim to be an expert either lol. Perhaps that is a good idea, or switching it to something like amplification shaders as DX12 calls them. @cwfitzgerald said in this comment:
Your call(or cw's ig), we do want these names to not be immediately confusing to someone reading the code! |
@ErichDonGubler Tell that to vulkan :) Metal calls them Object shaders, Vulkan calls them Task, D3D12 calls them Amplification. We should just pick one and move on for now - |
| const VERTEX_FRAGMENT = Self::VERTEX.bits() | Self::FRAGMENT.bits(); | ||
| /// Binding is visible from the task shader of a mesh pipeline | ||
| const TASK = 1 << 3; | ||
| /// Binding is visible from the mesh shader of a mesh pipeline |
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.
Too late now, but could've used a period at the end of these sentences.
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.
Good catch, I'll fix that in a subsequent PR
…x-rs#7292) * Initial changes * Fixed metal backend in wgpu-hal, ran tests
Connections
#7197
Description
Previously, when building mesh shader pipelines, we would pretend they are compute shader stages since they must've been passed through anyway. This PR addresses that, mostly finishing the mesh shader work for wgpu-hal.
Testing
Squash or Rebase?
Checklist
cargo fmt.taplo format.cargo clippy. If applicable, add:--target wasm32-unknown-unknowncargo xtask testto run tests.CHANGELOG.mdentry.