util: delete fnv1a hash function
authorDmitriy Nester <dmitriynester@gmail.com>
Thu, 27 Feb 2020 13:42:21 +0000 (15:42 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 25 May 2020 19:41:09 +0000 (19:41 +0000)
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2405
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

src/util/Makefile.sources
src/util/fnv1a.h [deleted file]
src/util/hash_table.h
src/util/meson.build

index 95e2f788c1e192f78d4554796b79092f5921149e..dc1b205bfc9e72ffd84c55def6a731d692b39072 100644 (file)
@@ -22,7 +22,6 @@ MESA_UTIL_FILES := \
        double.h \
        fast_idiv_by_const.c \
        fast_idiv_by_const.h \
-       fnv1a.h \
        format/u_format.c \
        format/u_format.h \
        format/u_format_bptc.c \
diff --git a/src/util/fnv1a.h b/src/util/fnv1a.h
deleted file mode 100644 (file)
index 0f92d0b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2009,2012 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Eric Anholt <eric@anholt.net>
- *
- */
-
-#ifndef _FNV1A_H
-#define _FNV1A_H
-
-enum {
-   _mesa_fnv32_1a_offset_bias = 2166136261u,
-};
-
-/**
- * Quick FNV-1a hash implementation based on:
- * http://www.isthe.com/chongo/tech/comp/fnv/
- *
- * FNV-1a is not be the best hash out there -- Jenkins's lookup3 is supposed
- * to be quite good, and it probably beats FNV.  But FNV has the advantage
- * that it involves almost no code.  For an improvement on both, see Paul
- * Hsieh's http://www.azillionmonkeys.com/qed/hash.html
- */
-static inline uint32_t
-_mesa_fnv32_1a_accumulate_block(uint32_t hash, const void *data, size_t size)
-{
-   const uint8_t *bytes = (const uint8_t *)data;
-
-   while (size-- != 0) {
-      hash ^= *bytes;
-      hash = hash * 0x01000193;
-      bytes++;
-   }
-
-   return hash;
-}
-
-#define _mesa_fnv32_1a_accumulate(hash, expr) \
-   _mesa_fnv32_1a_accumulate_block(hash, &(expr), sizeof(expr))
-
-#endif
index b1eb9d4e217d743d850e0eb3c6fb5f2f0f23f426..eabc88a5906f5d92ad13c1d33b20370ac43db57b 100644 (file)
@@ -1,4 +1,4 @@
-/*
+/*
  * Copyright © 2009,2012 Intel Corporation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -32,7 +32,6 @@
 #include <inttypes.h>
 #include <stdbool.h>
 #include "c99_compat.h"
-#include "fnv1a.h"
 #include "macros.h"
 
 #ifdef __cplusplus
index 7ea125e5ac8442c4dfc2c0924e29805a6324d446..1fda53bafd536f26c73d1dbf8a9396ad7a09e498 100644 (file)
@@ -46,7 +46,6 @@ files_mesa_util = files(
   'double.h',
   'fast_idiv_by_const.c',
   'fast_idiv_by_const.h',
-  'fnv1a.h',
   'format_r11g11b10f.h',
   'format_rgb9e5.h',
   'format_srgb.h',