mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-21 22:33:49 +00:00
naga: Don't consider per-polygon inputs to be subgroup uniform
Implementations can absolutely pack multiple triangles per subgroup. Fixes #6270.
This commit is contained in:
parent
39cfeefd8b
commit
390a4169fb
@ -99,6 +99,7 @@ By @bradwerth [#6216](https://github.com/gfx-rs/wgpu/pull/6216).
|
||||
|
||||
- Accept only `vec3` (not `vecN`) for the `cross` built-in. By @ErichDonGubler in [#6171](https://github.com/gfx-rs/wgpu/pull/6171).
|
||||
- Configure `SourceLanguage` when enabling debug info in SPV-out. By @kvark in [#6256](https://github.com/gfx-rs/wgpu/pull/6256)
|
||||
- Per-polygon and flat inputs should not be considered subgroup uniform. By @magcius in [#6276](https://github.com/gfx-rs/wgpu/pull/6276).
|
||||
|
||||
#### General
|
||||
|
||||
|
@ -589,23 +589,16 @@ impl FunctionInfo {
|
||||
requirements: UniformityRequirements::empty(),
|
||||
}
|
||||
}
|
||||
// depends on the builtin or interpolation
|
||||
// depends on the builtin
|
||||
E::FunctionArgument(index) => {
|
||||
let arg = &resolve_context.arguments[index as usize];
|
||||
let uniform = match arg.binding {
|
||||
Some(crate::Binding::BuiltIn(
|
||||
// per-polygon built-ins are uniform
|
||||
crate::BuiltIn::FrontFacing
|
||||
// per-work-group built-ins are uniform
|
||||
| crate::BuiltIn::WorkGroupId
|
||||
crate::BuiltIn::WorkGroupId
|
||||
| crate::BuiltIn::WorkGroupSize
|
||||
| crate::BuiltIn::NumWorkGroups)
|
||||
) => true,
|
||||
// only flat inputs are uniform
|
||||
Some(crate::Binding::Location {
|
||||
interpolation: Some(crate::Interpolation::Flat),
|
||||
..
|
||||
}) => true,
|
||||
| crate::BuiltIn::NumWorkGroups,
|
||||
)) => true,
|
||||
_ => false,
|
||||
};
|
||||
Uniformity {
|
||||
|
Loading…
Reference in New Issue
Block a user