aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/glsl_types.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-07-22 08:22:17 +0200
committermarha <marha@users.sourceforge.net>2011-07-22 08:22:17 +0200
commit91e91b72f07f4e61db17ee86c6933a7217f0e25c (patch)
tree67cfe3dfc7562d2f53e9827b979e1dbbc1acec7b /mesalib/src/glsl/glsl_types.cpp
parent88101146f2ec7d53ffb793e365f05097ffd35fd3 (diff)
downloadvcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.tar.gz
vcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.tar.bz2
vcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.zip
mesa git update 22 July 2011
Diffstat (limited to 'mesalib/src/glsl/glsl_types.cpp')
-rw-r--r--mesalib/src/glsl/glsl_types.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/mesalib/src/glsl/glsl_types.cpp b/mesalib/src/glsl/glsl_types.cpp
index 78d10bd93..a5e21bbb9 100644
--- a/mesalib/src/glsl/glsl_types.cpp
+++ b/mesalib/src/glsl/glsl_types.cpp
@@ -111,6 +111,22 @@ add_types_to_symbol_table(glsl_symbol_table *symtab,
}
}
+bool
+glsl_type::contains_sampler() const
+{
+ if (this->is_array()) {
+ return this->fields.array->contains_sampler();
+ } else if (this->is_record()) {
+ for (unsigned int i = 0; i < this->length; i++) {
+ if (this->fields.structure[i].type->contains_sampler())
+ return true;
+ }
+ return false;
+ } else {
+ return this->is_sampler();
+ }
+}
+
void
glsl_type::generate_100ES_types(glsl_symbol_table *symtab)
{