diff options
author | Chad Versace <[email protected]> | 2011-01-11 17:21:18 -0800 |
---|---|---|
committer | Chad Versace <[email protected]> | 2011-01-17 09:41:24 -0800 |
commit | 605aacc67d73db0926e0046a90a07fcd93a2d613 (patch) | |
tree | de484f94ab19f20b93a45c6611f63d3151a18d1e /src/glsl/ast.h | |
parent | 0e2f8936c8ef872cb464e54a9f09ae0324487147 (diff) |
glsl: Check that interpolation qualifiers do not precede 'varying'
... and 'centroid varying'. The check is performed only in GLSL
versions >= 1.30.
From page 29 (page 35 of the PDF) of the GLSL 1.30 spec:
"interpolation qualifiers may only precede the qualifiers in, centroid
in, out, or centroid out in a declaration. They do not apply to the
deprecated storage qualifiers varying or centroid varying."
Fixes Piglit test
spec/glsl-1.30/compiler/interpolation-qualifiers/smooth-varying-01.frag.
Diffstat (limited to 'src/glsl/ast.h')
-rw-r--r-- | src/glsl/ast.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h index c096f9aa876..523a38937a5 100644 --- a/src/glsl/ast.h +++ b/src/glsl/ast.h @@ -366,6 +366,11 @@ struct ast_type_qualifier { unsigned location; /** + * Return true if and only if an interpolation qualifier is present. + */ + bool has_interpolation() const; + + /** * \brief Return string representation of interpolation qualifier. * * If an interpolation qualifier is present, then return that qualifier's |