summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/glsl/ast.h5
-rw-r--r--src/glsl/ast_type.cpp11
2 files changed, 16 insertions, 0 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 441b389a74a..78d24ae069d 100644
--- a/src/glsl/ast.h
+++ b/src/glsl/ast.h
@@ -463,6 +463,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.
*
* If an interpolation qualifier is present, then return that qualifier's
diff --git a/src/glsl/ast_type.cpp b/src/glsl/ast_type.cpp
index 4e870a70742..2e55b76762b 100644
--- a/src/glsl/ast_type.cpp
+++ b/src/glsl/ast_type.cpp
@@ -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
{