glsl: Add a new ast_type_qualifier::has_storage() method.
This makes it easy to check if any storage qualifiers are set. "centroid" is not considered a storage qualifier. In the old language rules, you can't specify "centroid" by itself; it's always "centroid in", "centroid out", or "centroid varying." So one of the other storage qualifiers will always be set; there's no need to specifically check for centroid. In the new 4.20 rules, centroid is an auxiliary storage qualifier, not a storage qualifier. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
7cef2b22b8
commit
eb30af51d6
|
@ -462,6 +462,11 @@ struct ast_type_qualifier {
|
|||
*/
|
||||
bool has_layout() const;
|
||||
|
||||
/**
|
||||
* Return whether a storage qualifier is present.
|
||||
*/
|
||||
bool has_storage() const;
|
||||
|
||||
/**
|
||||
* \brief Return string representation of interpolation qualifier.
|
||||
*
|
||||
|
|
|
@ -74,6 +74,17 @@ ast_type_qualifier::has_layout() const
|
|||
|| this->flags.q.explicit_index;
|
||||
}
|
||||
|
||||
bool
|
||||
ast_type_qualifier::has_storage() const
|
||||
{
|
||||
return this->flags.q.constant
|
||||
|| this->flags.q.attribute
|
||||
|| this->flags.q.varying
|
||||
|| this->flags.q.in
|
||||
|| this->flags.q.out
|
||||
|| this->flags.q.uniform;
|
||||
}
|
||||
|
||||
const char*
|
||||
ast_type_qualifier::interpolation_string() const
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue