Signed-off-by: Thomas Helland <thomashellan...@gmail.com> --- src/compiler/glsl/ir_clone.cpp | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/src/compiler/glsl/ir_clone.cpp b/src/compiler/glsl/ir_clone.cpp index ef2c4c3..b1e5ea8 100644 --- a/src/compiler/glsl/ir_clone.cpp +++ b/src/compiler/glsl/ir_clone.cpp @@ -25,7 +25,7 @@ #include "main/compiler.h" #include "ir.h" #include "compiler/glsl_types.h" -#include "program/hash_table.h" +#include "util/hash_table.h" ir_rvalue * ir_rvalue::clone(void *mem_ctx, struct hash_table *) const @@ -68,9 +68,8 @@ ir_variable::clone(void *mem_ctx, struct hash_table *ht) const var->interface_type = this->interface_type; - if (ht) { - hash_table_insert(ht, var, (void *)const_cast<ir_variable *>(this)); - } + if (ht) + _mesa_hash_table_insert(ht, (void *)const_cast<ir_variable *>(this), var); return var; } @@ -175,9 +174,8 @@ ir_dereference_variable::clone(void *mem_ctx, struct hash_table *ht) const ir_variable *new_var; if (ht) { - new_var = (ir_variable *)hash_table_find(ht, this->var); - if (!new_var) - new_var = this->var; + hash_entry *entry = _mesa_hash_table_search(ht, this->var); + new_var = entry ? (ir_variable *) entry->data : this->var; } else { new_var = this->var; } @@ -281,8 +279,8 @@ ir_function::clone(void *mem_ctx, struct hash_table *ht) const copy->add_signature(sig_copy); if (ht != NULL) - hash_table_insert(ht, sig_copy, - (void *)const_cast<ir_function_signature *>(sig)); + _mesa_hash_table_insert(ht, + (void *)const_cast<ir_function_signature *>(sig), sig_copy); } return copy; @@ -394,10 +392,13 @@ public: /* Try to find the function signature referenced by the ir_call in the * table. If it is found, replace it with the value from the table. */ - ir_function_signature *sig = - (ir_function_signature *) hash_table_find(this->ht, ir->callee); - if (sig != NULL) - ir->callee = sig; + ir_function_signature *sig; + hash_entry *entry = _mesa_hash_table_search(this->ht, ir->callee); + + if (entry != NULL) { + sig = (ir_function_signature *) entry->data; + ir->callee = sig; + } /* Since this may be used before function call parameters are flattened, * the children also need to be processed. @@ -422,7 +423,7 @@ void clone_ir_list(void *mem_ctx, exec_list *out, const exec_list *in) { struct hash_table *ht = - hash_table_ctor(0, hash_table_pointer_hash, hash_table_pointer_compare); + _mesa_hash_table_create(NULL, _mesa_hash_pointer, _mesa_key_pointer_equal); foreach_in_list(const ir_instruction, original, in) { ir_instruction *copy = original->clone(mem_ctx, ht); @@ -437,5 +438,5 @@ clone_ir_list(void *mem_ctx, exec_list *out, const exec_list *in) */ fixup_function_calls(ht, out); - hash_table_dtor(ht); + _mesa_hash_table_destroy(ht, NULL); } -- 2.9.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev