Hi Thomas, On 12 March 2018 at 17:55, Thomas Helland <[email protected]> wrote: > V2: Don't rzalloc; we are about to rewrite the whole thing (Vladislav) > --- > src/util/hash_table.c | 22 ++++++++++++++++++++++ > src/util/hash_table.h | 2 ++ > 2 files changed, 24 insertions(+) > > diff --git a/src/util/hash_table.c b/src/util/hash_table.c > index b7421a0144..f8d5d0f88a 100644 > --- a/src/util/hash_table.c > +++ b/src/util/hash_table.c > @@ -141,6 +141,28 @@ _mesa_hash_table_create(void *mem_ctx, > return ht; > } > > +struct hash_table * > +_mesa_hash_table_clone(struct hash_table *src, void *dst_mem_ctx) > +{ > + struct hash_table *ht; > + > + ht = ralloc(dst_mem_ctx, struct hash_table); > + if (ht == NULL) > + return NULL; > + > + memcpy(ht, src, sizeof(struct hash_table)); > + > + ht->table = ralloc_array(ht, struct hash_entry, ht->size); > + if (ht->table == NULL) { > + ralloc_free(ht); > + return NULL; > + } > + > + memcpy(ht->table, src->table, ht->size * sizeof(struct hash_entry)); > + Thinking out loud:
I'm wondering if it won't make sense to reuse _mesa_hash_table_create, instead of open-coding it? -Emil _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
