summaryrefslogtreecommitdiff
path: root/src/glsl/glsl_types.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-08-07 02:03:00 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-09-07 17:30:37 -0700
commit76deef138ee25ab57b4716aef41ce0c94081f20a (patch)
tree5335cb9adf19d835376d9f618448127d02f240d6 /src/glsl/glsl_types.cpp
parentc5e74871d9e4b555f3927fd11944c769d466bd12 (diff)
glsl: Split out types that are in 1.10 but not GLSL ES 1.00.
Diffstat (limited to 'src/glsl/glsl_types.cpp')
-rw-r--r--src/glsl/glsl_types.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 92ad3efafc..82eb470605 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -111,9 +111,8 @@ add_types_to_symbol_table(glsl_symbol_table *symtab,
}
}
-
void
-glsl_type::generate_110_types(glsl_symbol_table *symtab)
+glsl_type::generate_100ES_types(glsl_symbol_table *symtab)
{
add_types_to_symbol_table(symtab, builtin_core_types,
Elements(builtin_core_types),
@@ -121,10 +120,20 @@ glsl_type::generate_110_types(glsl_symbol_table *symtab)
add_types_to_symbol_table(symtab, builtin_structure_types,
Elements(builtin_structure_types),
false);
+ add_types_to_symbol_table(symtab, &void_type, 1, false);
+}
+
+void
+glsl_type::generate_110_types(glsl_symbol_table *symtab)
+{
+ generate_100ES_types(symtab);
+
+ add_types_to_symbol_table(symtab, builtin_110_types,
+ Elements(builtin_110_types),
+ false);
add_types_to_symbol_table(symtab, builtin_110_deprecated_structure_types,
Elements(builtin_110_deprecated_structure_types),
false);
- add_types_to_symbol_table(symtab, & void_type, 1, false);
}
@@ -173,6 +182,10 @@ void
_mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state)
{
switch (state->language_version) {
+ case 100:
+ assert(state->es_shader);
+ glsl_type::generate_100ES_types(state->symbols);
+ break;
case 110:
glsl_type::generate_110_types(state->symbols);
break;