[Mesa-dev] [PATCH 4/7] glsl: Prehash to avoid hashing two times when inserting
Thomas Helland
thomashelland90 at gmail.com
Thu Feb 2 20:57:30 UTC 2017
---
src/compiler/glsl/opt_constant_variable.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/opt_constant_variable.cpp b/src/compiler/glsl/opt_constant_variable.cpp
index 1c06ffe675..a07d64067b 100644
--- a/src/compiler/glsl/opt_constant_variable.cpp
+++ b/src/compiler/glsl/opt_constant_variable.cpp
@@ -62,7 +62,9 @@ public:
static struct assignment_entry *
get_assignment_entry(ir_variable *var, struct hash_table *ht)
{
- struct hash_entry *hte = _mesa_hash_table_search(ht, var);
+ uint32_t hash = ht->key_hash_function(var);
+ struct hash_entry *hte =
+ _mesa_hash_table_search_pre_hashed(ht, hash, var);
struct assignment_entry *entry;
if (hte) {
@@ -70,7 +72,7 @@ get_assignment_entry(ir_variable *var, struct hash_table *ht)
} else {
entry = (struct assignment_entry *) calloc(1, sizeof(*entry));
entry->var = var;
- _mesa_hash_table_insert(ht, var, entry);
+ _mesa_hash_table_insert_pre_hashed(ht, hash, var, entry);
}
return entry;
--
2.11.0
More information about the mesa-dev
mailing list