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

Reply via email to