diff --git a/src/valid/interface.rs b/src/valid/interface.rs index 67260fe71c..cb85d2901c 100644 --- a/src/valid/interface.rs +++ b/src/valid/interface.rs @@ -299,7 +299,15 @@ impl VaryingContext<'_> { width, }, ), - Bi::SubgroupInvocationId | Bi::SubgroupSize => ( + Bi::SubgroupInvocationId => ( + self.stage == St::Compute && !self.output, + *ty_inner + == Ti::Scalar { + kind: Sk::Uint, + width, + }, + ), + Bi::SubgroupSize => ( match self.stage { St::Compute | St::Fragment => !self.output, St::Vertex => false,