From 576723960e482c81bb710de7b3604890fe6d0c47 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 15 Apr 2021 12:14:48 -0700 Subject: [PATCH] Permit interpolation qualifiers on both vertex outputs and fragment inputs. --- src/valid/interface.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/valid/interface.rs b/src/valid/interface.rs index 17629d1e08..1299b38216 100644 --- a/src/valid/interface.rs +++ b/src/valid/interface.rs @@ -210,8 +210,11 @@ impl VaryingContext<'_> { if !self.location_mask.insert(location as usize) { return Err(VaryingError::BindingCollision { location }); } - let needs_interpolation = - self.stage == crate::ShaderStage::Fragment && !self.output; + let needs_interpolation = match self.stage { + crate::ShaderStage::Vertex => self.output, + crate::ShaderStage::Fragment => !self.output, + _ => false, + }; if !needs_interpolation && interpolation.is_some() { return Err(VaryingError::InvalidInterpolation); }