History log of /external/mesa3d/src/util/hash_table.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0abebec01246cb55dba76330a759e14424dae169 19-Aug-2016 Tapani Pälli <tapani.palli@intel.com> util: add assert that key cannot be NULL on insertion

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
8b11d8cfbfaaf72755e6c200140e253cb3e3fa8a 06-Jan-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> util/hash_table: add _mesa_hash_table_clear (v4)

v4: coding style change (Matt Turner)

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v3)
/external/mesa3d/src/util/hash_table.c
19db71807f9ad9af8cc994705a18e9dd06f72b5d 15-Nov-2015 Connor Abbott <cwabbott0@gmail.com> util/hash_table: don't compare deleted entries

The equivalent of the last patch for the hash table. I'm not aware of
any issues this fixes.

v2:
- use entry_is_deleted (Timothy)

Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
/external/mesa3d/src/util/hash_table.c
c9287e797b3e58bd4403f79d484e7235dc59262d 05-Feb-2015 Jason Ekstrand <jason.ekstrand@intel.com> util/hash_table: Do a full search when adding new items

Previously, the hash_table_insert function would bail early if it found a
deleted slot that it could re-use. However, this is a problem if the key
being inserted is already in the hash table but further down the list. If
this happens, the element ends up getting inserted in the hash table twice.
This commit makes it so that we walk over all of the possible entries for
the given key and then, if we don't find the key, place it in the available
free entry we found.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
3cb10cce371cb62e0c4a988ab939bf640b75ebab 15-Jan-2015 Jan Vesely <jan.vesely@rutgers.edu> mesa: Fix some signed-unsigned comparison warnings

v2: s/unsigned int/unsigned/ in prog_optimize.c

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/util/hash_table.c
8ed5305d28d9309d651dfec3fbf4349854694694 15-Jan-2015 Jason Ekstrand <jason.ekstrand@intel.com> hash_table: Rename insert_with_hash to insert_pre_hashed

We already have search_pre_hashed. This makes the APIs match better.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
a3b73ccf6db3efe4ce0eed4c60d1e2709b335cac 06-Jan-2015 Jason Ekstrand <jason.ekstrand@intel.com> util/hash_table: Pull the details of the FNV-1a into helpers

This way the basics of the FNV-1a hash can be reused to easily create other
hashing functions.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
6c3115af852834476a451688734c07f0dbe13ec9 15-Dec-2014 Eric Anholt <eric@anholt.net> hash_table: Fix compiler warnings from the renaming.

Not sure how we both missed this. None of the callers were using the
return value, though.
/external/mesa3d/src/util/hash_table.c
94303a0750f9eaae3fcf598b7bf1320e521898fb 25-Nov-2014 Jason Ekstrand <jason@jlekstrand.net> util/hash_table: Rework the API to know about hashing

Previously, the hash_table API required the user to do all of the hashing
of keys as it passed them in. Since the hashing function is intrinsically
tied to the comparison function, it makes sense for the hash table to know
about it. Also, it makes for a somewhat clumsy API as the user is
constantly calling hashing functions many of which have long names. This
is especially bad when the standard call looks something like

_mesa_hash_table_insert(ht, _mesa_pointer_hash(key), key, data);

In the above case, there is no reason why the hash table shouldn't do the
hashing for you. We leave the option for you to do your own hashing if
it's more efficient, but it's no longer needed. Also, if you do do your
own hashing, the hash table will assert that your hash matches what it
expects out of the hashing function. This should make it harder to mess up
your hashing.

v2: change to call the old entrypoint "pre_hashed" rather than
"with_hash", like cworth's equivalent change upstream (change by
anholt, acked-in-general by Jason).

Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
b3721cd230453c19e16d5f696e8001cdcf8ff6b2 18-Nov-2014 Timothy Arceri <t_arceri@yahoo.com.au> util: update hash type comments

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/util/hash_table.c
efa0aa8ffc63e8fdd23335e67ca76eb358cfd1ac 23-Jul-2014 Jason Ekstrand <jason.ekstrand@intel.com> util: Gather some common macros

This gathers macros that have been included across components into util so
that the include chain can be more vertical. In particular, this makes
util stand on its own without any dependence whatsoever on the rest of
mesa.

Signed-off-by: "Jason Ekstrand" <jason.ekstrand@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/util/hash_table.c
72e55bb6888ff4d6b69b10d9c58573e4c3d492ec 25-Feb-2014 Kenneth Graunke <kenneth@whitecape.org> util: Move the open-addressing linear-probing hash_table to src/util.

This hash table is used in core Mesa, the GLSL compiler, and the i965
driver, which makes it a good candidate for the new src/util module.

It's much faster than program/hash_table.[ch] (see commit 6991c2922f5
for data), and José's u_hash_table.c has a comment saying Gallium should
probably consider switching to a linear probing hash table at some point.
So this seems like the best candidate for a shared data structure.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>

v2 (Jason Ekstrand): Pick up another hash_table use and patch up scons

Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/util/hash_table.c