I can't find explicit words in spec for this topic. Interpolation qualifier (flat, smooth...) is not allowed to be used with "patch" qualifier in 4.6 spec: ``` The auxiliary storage qualifier patch is not used for interpolation; it is a compile-time error to use interpolation qualifiers with patch. ``` So I expect interpolation qualifier should not be used for per-primitive IO as it makes no sense to interpolate per-primitive IO. But glslang compiler allow this usage (no compiler error).