diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-07 17:13:44 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-07 17:13:44 -0700 |
commit | 0c824653952a67722c242616bb34a4796b42f660 (patch) | |
tree | 3e65d21684b5c01b934870240c1d27e07baab7e5 /glsl_types.cpp | |
parent | c77b257094b15e7c53b62cb50bfbcd7c5003f2a8 (diff) |
Treat texture rectangles as an extension that is enabled be default
Diffstat (limited to 'glsl_types.cpp')
-rw-r--r-- | glsl_types.cpp | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/glsl_types.cpp b/glsl_types.cpp index ba4f0297d8..24b3e3f59f 100644 --- a/glsl_types.cpp +++ b/glsl_types.cpp @@ -35,11 +35,11 @@ hash_table *glsl_type::array_types = NULL; static void add_types_to_symbol_table(glsl_symbol_table *symtab, const struct glsl_type *types, - unsigned num_types) + unsigned num_types, bool warn) { - unsigned i; + (void) warn; - for (i = 0; i < num_types; i++) { + for (unsigned i = 0; i < num_types; i++) { symtab->add_type(types[i].name, & types[i]); } } @@ -49,12 +49,15 @@ static void generate_110_types(glsl_symbol_table *symtab) { add_types_to_symbol_table(symtab, builtin_core_types, - Elements(builtin_core_types)); + Elements(builtin_core_types), + false); add_types_to_symbol_table(symtab, builtin_structure_types, - Elements(builtin_structure_types)); + Elements(builtin_structure_types), + false); add_types_to_symbol_table(symtab, builtin_110_deprecated_structure_types, - Elements(builtin_110_deprecated_structure_types)); - add_types_to_symbol_table(symtab, & void_type, 1); + Elements(builtin_110_deprecated_structure_types), + false); + add_types_to_symbol_table(symtab, & void_type, 1, false); } @@ -64,7 +67,7 @@ generate_120_types(glsl_symbol_table *symtab) generate_110_types(symtab); add_types_to_symbol_table(symtab, builtin_120_types, - Elements(builtin_120_types)); + Elements(builtin_120_types), false); } @@ -74,7 +77,16 @@ generate_130_types(glsl_symbol_table *symtab) generate_120_types(symtab); add_types_to_symbol_table(symtab, builtin_130_types, - Elements(builtin_130_types)); + Elements(builtin_130_types), false); +} + + +static void +generate_ARB_texture_rectangle_types(glsl_symbol_table *symtab, bool warn) +{ + add_types_to_symbol_table(symtab, builtin_ARB_texture_rectangle_types, + Elements(builtin_ARB_texture_rectangle_types), + warn); } @@ -95,6 +107,11 @@ _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state) /* error */ break; } + + if (state->ARB_texture_rectangle_enable) { + generate_ARB_texture_rectangle_types(state->symbols, + state->ARB_texture_rectangle_warn); + } } |