Some perf numbers would be nice. How much is this winning? - Chris
On Mon, Aug 3, 2015 at 11:18 AM, Timothy Arceri <t_arc...@yahoo.com.au> wrote: > On Sun, 2015-08-02 at 19:50 +0200, Alejandro Seguí wrote: > > Maybe just for completeness you could add this to the commit message > > The util/hash_table was intended to be a fast hash table > replacement for the program/hash_table see 35fd61bd99c1 and 72e55bb6888ff. > >> --- >> src/glsl/ir_print_visitor.cpp | 19 ++++++++++++------- >> 1 file changed, 12 insertions(+), 7 deletions(-) >> >> diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp >> index 78475f3..641a996 100644 >> --- a/src/glsl/ir_print_visitor.cpp >> +++ b/src/glsl/ir_print_visitor.cpp >> @@ -25,7 +25,7 @@ >> #include "glsl_types.h" >> #include "glsl_parser_extras.h" >> #include "main/macros.h" >> -#include "program/hash_table.h" >> +#include "util/hash_table.h" >> >> static void print_type(FILE *f, const glsl_type *t); >> >> @@ -89,14 +89,14 @@ ir_print_visitor::ir_print_visitor(FILE *f) >> { >> indentation = 0; >> printable_names = >> - hash_table_ctor(32, hash_table_pointer_hash, >> hash_table_pointer_compare); >> + _mesa_hash_table_create(NULL, _mesa_hash_pointer, >> _mesa_key_pointer_equal); >> symbols = _mesa_symbol_table_ctor(); >> mem_ctx = ralloc_context(NULL); >> } >> >> ir_print_visitor::~ir_print_visitor() >> { >> - hash_table_dtor(printable_names); >> + _mesa_hash_table_destroy(printable_names, NULL); >> _mesa_symbol_table_dtor(symbols); >> ralloc_free(mem_ctx); >> } >> @@ -121,9 +121,14 @@ ir_print_visitor::unique_name(ir_variable *var) >> } >> >> /* Do we already have a name for this variable? */ >> - const char *name = (const char *) hash_table_find(this->printable_names, >> var); >> - if (name != NULL) >> - return name; >> + struct hash_entry * entry = >> + _mesa_hash_table_search(this->printable_names, var); >> + >> + if (entry != NULL) { >> + return (const char *) entry->data; >> + } >> + >> + const char* name = NULL; > > The above looks a bit funny just floating here maybe move it > >> >> /* If there's no conflict, just use the original name */ > Here. >> if (_mesa_symbol_table_find_symbol(this->symbols, -1, var->name) == >> NULL) { >> @@ -132,7 +137,7 @@ ir_print_visitor::unique_name(ir_variable *var) >> static unsigned i = 1; >> name = ralloc_asprintf(this->mem_ctx, "%s@%u", var->name, ++i); >> } >> - hash_table_insert(this->printable_names, (void *) name, var); >> + _mesa_hash_table_insert(this->printable_names, var, (void *) name); >> _mesa_symbol_table_add_symbol(this->symbols, -1, name, var); >> return name; >> } > > With those couple of small changes you can add to the commit message > Reviewed-by: Timothy Arceri <t_arc...@yahoo.com.au> > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev