projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
st/xvmc: fix library installation dir
[mesa.git]
/
src
/
glsl
/
glsl_types.cpp
diff --git
a/src/glsl/glsl_types.cpp
b/src/glsl/glsl_types.cpp
index 1489aae6d898d24fdf4fe4fe1946e51c07b17f98..069ebd10d6c3efc4966ecf66809dcd7bc8c41f0e 100644
(file)
--- a/
src/glsl/glsl_types.cpp
+++ b/
src/glsl/glsl_types.cpp
@@
-169,7
+169,7
@@
glsl_type::generate_100ES_types(glsl_symbol_table *symtab)
}
void
}
void
-glsl_type::generate_110_types(glsl_symbol_table *symtab)
+glsl_type::generate_110_types(glsl_symbol_table *symtab
, bool add_deprecated
)
{
generate_100ES_types(symtab);
{
generate_100ES_types(symtab);
@@
-177,16
+177,18
@@
glsl_type::generate_110_types(glsl_symbol_table *symtab)
Elements(builtin_110_types),
false);
add_types_to_symbol_table(symtab, &_sampler3D_type, 1, false);
Elements(builtin_110_types),
false);
add_types_to_symbol_table(symtab, &_sampler3D_type, 1, false);
- add_types_to_symbol_table(symtab, builtin_110_deprecated_structure_types,
- Elements(builtin_110_deprecated_structure_types),
- false);
+ if (add_deprecated) {
+ add_types_to_symbol_table(symtab, builtin_110_deprecated_structure_types,
+ Elements(builtin_110_deprecated_structure_types),
+ false);
+ }
}
void
}
void
-glsl_type::generate_120_types(glsl_symbol_table *symtab)
+glsl_type::generate_120_types(glsl_symbol_table *symtab
, bool add_deprecated
)
{
{
- generate_110_types(symtab);
+ generate_110_types(symtab
, add_deprecated
);
add_types_to_symbol_table(symtab, builtin_120_types,
Elements(builtin_120_types), false);
add_types_to_symbol_table(symtab, builtin_120_types,
Elements(builtin_120_types), false);
@@
-194,9
+196,9
@@
glsl_type::generate_120_types(glsl_symbol_table *symtab)
void
void
-glsl_type::generate_130_types(glsl_symbol_table *symtab)
+glsl_type::generate_130_types(glsl_symbol_table *symtab
, bool add_deprecated
)
{
{
- generate_120_types(symtab);
+ generate_120_types(symtab
, add_deprecated
);
add_types_to_symbol_table(symtab, builtin_130_types,
Elements(builtin_130_types), false);
add_types_to_symbol_table(symtab, builtin_130_types,
Elements(builtin_130_types), false);
@@
-204,6
+206,16
@@
glsl_type::generate_130_types(glsl_symbol_table *symtab)
}
}
+void
+glsl_type::generate_140_types(glsl_symbol_table *symtab)
+{
+ generate_130_types(symtab, false);
+
+ add_types_to_symbol_table(symtab, builtin_140_types,
+ Elements(builtin_140_types), false);
+}
+
+
void
glsl_type::generate_ARB_texture_rectangle_types(glsl_symbol_table *symtab,
bool warn)
void
glsl_type::generate_ARB_texture_rectangle_types(glsl_symbol_table *symtab,
bool warn)
@@
-249,20
+261,24
@@
_mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state)
glsl_type::generate_100ES_types(state->symbols);
break;
case 110:
glsl_type::generate_100ES_types(state->symbols);
break;
case 110:
- glsl_type::generate_110_types(state->symbols);
+ glsl_type::generate_110_types(state->symbols
, true
);
break;
case 120:
break;
case 120:
- glsl_type::generate_120_types(state->symbols);
+ glsl_type::generate_120_types(state->symbols
, true
);
break;
case 130:
break;
case 130:
- glsl_type::generate_130_types(state->symbols);
+ glsl_type::generate_130_types(state->symbols, true);
+ break;
+ case 140:
+ glsl_type::generate_140_types(state->symbols);
break;
default:
/* error */
break;
}
break;
default:
/* error */
break;
}
- if (state->ARB_texture_rectangle_enable) {
+ if (state->ARB_texture_rectangle_enable ||
+ state->language_version >= 140) {
glsl_type::generate_ARB_texture_rectangle_types(state->symbols,
state->ARB_texture_rectangle_warn);
}
glsl_type::generate_ARB_texture_rectangle_types(state->symbols,
state->ARB_texture_rectangle_warn);
}