Mesa (master): util: delete fnv1a hash function
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon May 25 19:56:39 UTC 2020
Module: Mesa
Branch: master
Commit: 46d5b07c5c39d1b8cf10976f6574a63062dea9c4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46d5b07c5c39d1b8cf10976f6574a63062dea9c4
Author: Dmitriy Nester <dmitriynester at gmail.com>
Date: Thu Feb 27 15:42:21 2020 +0200
util: delete fnv1a hash function
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester at globallogic.com>
Reviewed-by: Eric Anholt <eric at 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 | 1 -
src/util/fnv1a.h | 61 -----------------------------------------------
src/util/hash_table.h | 3 +--
src/util/meson.build | 1 -
4 files changed, 1 insertion(+), 65 deletions(-)
diff --git a/src/util/Makefile.sources b/src/util/Makefile.sources
index 95e2f788c1e..dc1b205bfc9 100644
--- a/src/util/Makefile.sources
+++ b/src/util/Makefile.sources
@@ -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
index 0f92d0b0e40..00000000000
--- a/src/util/fnv1a.h
+++ /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 at 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
diff --git a/src/util/hash_table.h b/src/util/hash_table.h
index b1eb9d4e217..eabc88a5906 100644
--- a/src/util/hash_table.h
+++ b/src/util/hash_table.h
@@ -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
diff --git a/src/util/meson.build b/src/util/meson.build
index 7ea125e5ac8..1fda53bafd5 100644
--- a/src/util/meson.build
+++ b/src/util/meson.build
@@ -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',
More information about the mesa-commit
mailing list