On Wed, 2016-10-26 at 11:23 +0200, Samuel Iglesias Gonsálvez wrote: > Default precision qualifier for a data type could be set several > times > inside a shader. This patch allows to update the default precision > qualifier for the given type that is saved in the symbol table. > > If it is not in the symbol table, just add it. > > Signed-off-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97804 > --- > src/compiler/glsl/glsl_symbol_table.cpp | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/src/compiler/glsl/glsl_symbol_table.cpp > b/src/compiler/glsl/glsl_symbol_table.cpp > index 3162bb6..15e819e 100644 > --- a/src/compiler/glsl/glsl_symbol_table.cpp > +++ b/src/compiler/glsl/glsl_symbol_table.cpp > @@ -213,7 +213,10 @@ bool > glsl_symbol_table::add_default_precision_qualifier(const char > *type_name, > symbol_table_entry *entry = > new(mem_ctx) symbol_table_entry(default_specifier); > > - return _mesa_symbol_table_add_symbol(table, name, entry) == 0; > + if (!get_entry(name)) > + return _mesa_symbol_table_add_symbol(table, name, entry) == 0; > + > + return _mesa_symbol_table_replace_symbol(table, name, entry) == > 0;
This is much better thanks. Series: Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> Thanks for checking there are existing piglit tests for scoping, feel free to add my r-b to the new test. > } > > void glsl_symbol_table::add_global_function(ir_function *f) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev