util: use crc32_z instead of crc32 and bump zlib dep to 1.2.9
1.2.9 has been released in January 2017, so let's assume we'll find it everywhere. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27311>
This commit is contained in:

committed by
Marge Bot

parent
56f31d1847
commit
010272b62e
@@ -1537,7 +1537,7 @@ else
|
||||
dep_clock = cc.find_library('rt')
|
||||
endif
|
||||
|
||||
dep_zlib = dependency('zlib', version : '>= 1.2.3',
|
||||
dep_zlib = dependency('zlib', version : '>= 1.2.9',
|
||||
allow_fallback: true,
|
||||
required : get_option('zlib'))
|
||||
if dep_zlib.found()
|
||||
|
@@ -33,10 +33,15 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "crc32.h"
|
||||
#ifdef HAVE_ZLIB
|
||||
#include <zlib.h>
|
||||
#endif
|
||||
#include "crc32.h"
|
||||
uint32_t
|
||||
util_hash_crc32(const void *data, size_t size)
|
||||
{
|
||||
return ~crc32_z(0, data, size);
|
||||
}
|
||||
#else
|
||||
|
||||
|
||||
static const uint32_t
|
||||
@@ -117,18 +122,9 @@ util_hash_crc32(const void *data, size_t size)
|
||||
const uint8_t *p = data;
|
||||
uint32_t crc = 0xffffffff;
|
||||
|
||||
#ifdef HAVE_ZLIB
|
||||
/* Prefer zlib's implementation for better performance.
|
||||
* zlib's uInt is always "unsigned int" while size_t can be 64bit.
|
||||
* Since 1.2.9 there's crc32_z that takes size_t, but use the more
|
||||
* available function to avoid build system complications.
|
||||
*/
|
||||
if ((uInt)size == size)
|
||||
return ~crc32(0, data, size);
|
||||
#endif
|
||||
|
||||
while (size--)
|
||||
crc = util_crc32_table[(crc ^ *p++) & 0xff] ^ (crc >> 8);
|
||||
|
||||
return crc;
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user