mesa/src/util/blake3
Bernd Kuhls 248b818407
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
blake3: add blake3_neon.c only for little endian archs
Fixes build error on big endian archs:

Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: aarch64
Host machine cpu: cortex-a53
Target machine cpu family: aarch64
Target machine cpu: cortex-a53
[...]
../src/util/blake3/blake3_neon.c:6:2: error: #error "This implementation only supports little-endian ARM."
    6 | #error "This implementation only supports little-endian ARM."

as detected by buildroot autobuilders:
https://autobuild.buildroot.net/results/efd/efd07d97df4e0c1ceb07fc26e17898afef5435b9/build-end.log

For reference:
$ grep -i endian output/build/mesa3d-25.3.4/buildroot-build/cross-compilation.conf
endian = 'big'

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39681>
2026-02-04 15:07:42 +00:00
..
blake3.c util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3.h util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_avx2.c
blake3_avx2_x86-64_unix.S
blake3_avx2_x86-64_windows_gnu.S
blake3_avx2_x86-64_windows_msvc.masm
blake3_avx512.c util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_avx512_x86-64_unix.S util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_avx512_x86-64_windows_gnu.S
blake3_avx512_x86-64_windows_msvc.masm
blake3_dispatch.c util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_impl.h util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_neon.c util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00
blake3_portable.c
blake3_sse2.c
blake3_sse2_x86-64_unix.S
blake3_sse2_x86-64_windows_gnu.S
blake3_sse2_x86-64_windows_msvc.masm
blake3_sse41.c
blake3_sse41_x86-64_unix.S
blake3_sse41_x86-64_windows_gnu.S
blake3_sse41_x86-64_windows_msvc.masm
mesa_blake3_visibility.h
meson.build blake3: add blake3_neon.c only for little endian archs 2026-02-04 15:07:42 +00:00
README util: Update BLAKE3 from 1.5.1 to 1.8.2 2025-09-16 06:16:19 +00:00

This folder contains a local copy of BLAKE3 cryptographic hash library, version 1.8.2.

Except for changes listed in the "Changes" section, this is a verbatim copy from
https://github.com/BLAKE3-team/BLAKE3, tag 1.8.2.

Files will be periodically synchronized with the upstream, and any local changes should
be clearly documented below.

Changes:
- Rename .asm files to .masm due to a Meson limitation (https://mesonbuild.com/Release-notes-for-0-64-0.html#new-languages-nasm-and-masm)

- Add non-typedef struct name to blake3_hasher.

- Add "static" to blake3_hash4_neon, to comply with -Werror=missing-prototypes.

- Add mesa_blake3_visibility.h and set symbol visibility to hidden for assembly sources.

- Drop BLAKE3_PRIVATE from blake3_compress_subtree_wide and blake3_compress_subtree_wide_join_tbb