diff --git a/src/valid/interface.rs b/src/valid/interface.rs index 67130ddc68..727480b15f 100644 --- a/src/valid/interface.rs +++ b/src/valid/interface.rs @@ -140,6 +140,7 @@ impl VaryingContext<'_> { Bi::ClipDistance => Capabilities::CLIP_DISTANCE, Bi::CullDistance => Capabilities::CULL_DISTANCE, Bi::PrimitiveIndex => Capabilities::PRIMITIVE_INDEX, + Bi::ViewIndex => Capabilities::MULTIVIEW, _ => Capabilities::empty(), }; if !self.capabilities.contains(required) { diff --git a/src/valid/mod.rs b/src/valid/mod.rs index 033d967818..a4c94bac20 100644 --- a/src/valid/mod.rs +++ b/src/valid/mod.rs @@ -106,6 +106,8 @@ bitflags::bitflags! { const CULL_DISTANCE = 0x80; /// Support for 16-bit normalized storage texture formats. const STORAGE_TEXTURE_16BIT_NORM_FORMATS = 0x100; + /// Support for [`BuiltIn::ViewIndex`]. + const MULTIVIEW = 0x200; } } diff --git a/tests/in/multiview.param.ron b/tests/in/multiview.param.ron index 35dd990fd6..69390f9fd8 100644 --- a/tests/in/multiview.param.ron +++ b/tests/in/multiview.param.ron @@ -1,3 +1,4 @@ ( + god_mode: true, glsl_multiview: Some(2), ) diff --git a/tests/in/multiview_webgl.param.ron b/tests/in/multiview_webgl.param.ron index a8bc096646..98b7fd7339 100644 --- a/tests/in/multiview_webgl.param.ron +++ b/tests/in/multiview_webgl.param.ron @@ -1,4 +1,5 @@ ( + god_mode: true, glsl: ( version: Embedded ( version: 300,