glsl: Add a new ast_type_qualifier::has_layout() method.

This makes it easy to check if any layout qualifiers are set.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Kenneth Graunke 2013-07-12 22:34:19 -07:00
parent 7ce5c6b214
commit 7cef2b22b8
2 changed files with 23 additions and 0 deletions

View File

@ -457,6 +457,11 @@ struct ast_type_qualifier {
*/
bool has_interpolation() const;
/**
* Return whether a layout qualifier is present.
*/
bool has_layout() const;
/**
* \brief Return string representation of interpolation qualifier.
*

View File

@ -56,6 +56,24 @@ bool ast_type_qualifier::has_interpolation() const
|| this->flags.q.noperspective;
}
bool
ast_type_qualifier::has_layout() const
{
return this->flags.q.origin_upper_left
|| this->flags.q.pixel_center_integer
|| this->flags.q.depth_any
|| this->flags.q.depth_greater
|| this->flags.q.depth_less
|| this->flags.q.depth_unchanged
|| this->flags.q.std140
|| this->flags.q.shared
|| this->flags.q.column_major
|| this->flags.q.row_major
|| this->flags.q.packed
|| this->flags.q.explicit_location
|| this->flags.q.explicit_index;
}
const char*
ast_type_qualifier::interpolation_string() const
{