diff --git a/src/valid/interface.rs b/src/valid/interface.rs index bf4f397224..fef3d55dbb 100644 --- a/src/valid/interface.rs +++ b/src/valid/interface.rs @@ -168,6 +168,10 @@ impl VaryingContext<'_> { Bi::PrimitiveIndex => Capabilities::PRIMITIVE_INDEX, Bi::ViewIndex => Capabilities::MULTIVIEW, Bi::SampleIndex => Capabilities::MULTISAMPLED_SHADING, + Bi::SubgroupId + | Bi::SubgroupInvocationId + | Bi::SubgroupSize + | Bi::NumSubgroups => Capabilities::SUBGROUP, _ => Capabilities::empty(), }; if !self.capabilities.contains(required) { diff --git a/src/valid/mod.rs b/src/valid/mod.rs index 1dcdc5120e..d140e66bae 100644 --- a/src/valid/mod.rs +++ b/src/valid/mod.rs @@ -117,6 +117,8 @@ bitflags::bitflags! { const DUAL_SOURCE_BLENDING = 1 << 13; /// Support for arrayed cube textures. const CUBE_ARRAY_TEXTURES = 1 << 14; + /// Support for subgroup operations + const SUBGROUP = 1 << 15; } }