[Mesa-dev] [PATCH 02/23] mesa: Replace hashing functions of prog_hash_table
Timothy Arceri
timothy.arceri at collabora.com
Wed Aug 17 01:02:48 UTC 2016
On Tue, 2016-08-16 at 22:10 +0200, Thomas Helland wrote:
> This will make it functionally equivalent to the one in util.
> This enables us to do a step-by-step replacement of the table.
>
> Signed-off-by: Thomas Helland <thomashelland90 at gmail.com>
You should really just move these to the header since you are moving
them there in the next patch anyway. Otherwise this is just code churn.
> ---
> src/mesa/program/prog_hash_table.c | 22 ++++++++--------------
> 1 file changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/src/mesa/program/prog_hash_table.c
> b/src/mesa/program/prog_hash_table.c
> index cbea74c..a712175 100644
> --- a/src/mesa/program/prog_hash_table.c
> +++ b/src/mesa/program/prog_hash_table.c
> @@ -35,33 +35,27 @@
> unsigned
> hash_table_string_hash(const void *key)
> {
> - const char *str = (const char *) key;
> - unsigned hash = 5381;
> -
> -
> - while (*str != '\0') {
> - hash = (hash * 33) + *str;
> - str++;
> - }
> -
> - return hash;
> + const char *str = (const char *) key;
> + uint32_t hash = _mesa_hash_string(str);
> + return hash;
> }
>
> -bool hash_table_string_compare(const void *a, const void *b)
> +bool
> +hash_table_string_compare(const void *a, const void *b)
> {
> - return strcmp(a, b) == 0;
> + return _mesa_key_string_equal(a, b);
> }
>
>
> unsigned
> hash_table_pointer_hash(const void *key)
> {
> - return (unsigned)((uintptr_t) key / sizeof(void *));
> + return _mesa_hash_pointer(key);
> }
>
>
> bool
> hash_table_pointer_compare(const void *key1, const void *key2)
> {
> - return key1 == key2;
> + return _mesa_key_pointer_equal(key1, key2);
> }
More information about the mesa-dev
mailing list