This will make it functionally equivalent to the one in util. This enables us to do a step-by-step replacement of the table.
Signed-off-by: Thomas Helland <thomashellan...@gmail.com> --- src/mesa/program/prog_hash_table.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/mesa/program/prog_hash_table.c b/src/mesa/program/prog_hash_table.c index cbea74c..a712175 100644 --- a/src/mesa/program/prog_hash_table.c +++ b/src/mesa/program/prog_hash_table.c @@ -35,33 +35,27 @@ unsigned hash_table_string_hash(const void *key) { - const char *str = (const char *) key; - unsigned hash = 5381; - - - while (*str != '\0') { - hash = (hash * 33) + *str; - str++; - } - - return hash; + const char *str = (const char *) key; + uint32_t hash = _mesa_hash_string(str); + return hash; } -bool hash_table_string_compare(const void *a, const void *b) +bool +hash_table_string_compare(const void *a, const void *b) { - return strcmp(a, b) == 0; + return _mesa_key_string_equal(a, b); } unsigned hash_table_pointer_hash(const void *key) { - return (unsigned)((uintptr_t) key / sizeof(void *)); + return _mesa_hash_pointer(key); } bool hash_table_pointer_compare(const void *key1, const void *key2) { - return key1 == key2; + return _mesa_key_pointer_equal(key1, key2); } -- 2.9.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev