aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/ast_type.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-07-19 08:30:15 +0200
committermarha <marha@users.sourceforge.net>2013-07-19 08:30:15 +0200
commit89bc3ee988b62eb5e10284bac32a176955546410 (patch)
tree186769abb7a48a7b04463706dee116795e07485f /mesalib/src/glsl/ast_type.cpp
parentf5e157731e6b51421ac89cfefb666b8bbf971b03 (diff)
downloadvcxsrv-89bc3ee988b62eb5e10284bac32a176955546410.tar.gz
vcxsrv-89bc3ee988b62eb5e10284bac32a176955546410.tar.bz2
vcxsrv-89bc3ee988b62eb5e10284bac32a176955546410.zip
mesa xkbcomp git update 19 Jul 2013
xkbcomp commit 0ebdf47fd4bc434ac3d2339544c022a869510738 esa commit 9f07ca11c1797ac12de1e1c6aef13cf58824b5f5
Diffstat (limited to 'mesalib/src/glsl/ast_type.cpp')
-rw-r--r--mesalib/src/glsl/ast_type.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/mesalib/src/glsl/ast_type.cpp b/mesalib/src/glsl/ast_type.cpp
index be84550da..275b2a1d0 100644
--- a/mesalib/src/glsl/ast_type.cpp
+++ b/mesalib/src/glsl/ast_type.cpp
@@ -56,6 +56,42 @@ 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
+ || this->flags.q.explicit_binding;
+}
+
+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;
+}
+
+bool
+ast_type_qualifier::has_auxiliary_storage() const
+{
+ return this->flags.q.centroid;
+}
+
const char*
ast_type_qualifier::interpolation_string() const
{
@@ -110,6 +146,9 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc,
if (q.flags.q.explicit_index)
this->index = q.index;
+ if (q.flags.q.explicit_binding)
+ this->binding = q.binding;
+
return true;
}