This is not a hot path, but when we have the functionality we should take advantage of it. --- src/util/string_to_uint_map.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/util/string_to_uint_map.h b/src/util/string_to_uint_map.h index e0533ec6ea..3248696e88 100644 --- a/src/util/string_to_uint_map.h +++ b/src/util/string_to_uint_map.h @@ -138,12 +138,15 @@ public: assert(value != UINT_MAX); char *dup_key = strdup(key); - struct hash_entry *entry = _mesa_hash_table_search(this->ht, dup_key); + uint32_t hash = ht->key_hash_function(dup_key); + struct hash_entry *entry = + _mesa_hash_table_search_pre_hashed(this->ht, hash, dup_key); + if (entry) { entry->data = (void *) (intptr_t) (value + 1); } else { - _mesa_hash_table_insert(this->ht, dup_key, - (void *) (intptr_t) (value + 1)); + _mesa_hash_table_insert_pre_hashed(this->ht, hash, dup_key, + (void *) (intptr_t) (value + 1)); } if (entry) -- 2.13.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev