index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
author | Erich Eckner <git@eckner.net> | 2023-05-22 20:18:50 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-05-22 20:18:50 +0200 |
commit | e74cde76c104df82b120a7b13964cb786da8f565 (patch) | |
tree | 39967e24037929c04aaf79922aa260b437a60a5e /extra/embree | |
parent | 73e1d3b448cc583ab38cae4d61a26f313fad946b (diff) |
-rw-r--r-- | extra/embree/PKGBUILD | 27 | ||||
-rw-r--r-- | extra/embree/embree-3.2.0-intrinsic.patch | 12 |
diff --git a/extra/embree/PKGBUILD b/extra/embree/PKGBUILD new file mode 100644 index 00000000..522a3482 --- /dev/null +++ b/extra/embree/PKGBUILD @@ -0,0 +1,27 @@ +# avoid breakage in newer CPU ISAs, supporting SSE2 should be enough for +# 32-bit platforms +# for special use cases (like running Archlinux32 on 64-bit hardware) +# we can support up to SSE4.2 (everything above is too hard to fix). +# As Embree chooses the ISA at runtime, this is no problem for machines +# not having SSE4.2 +eval "$( + declare -f build | \ + sed ' + /cmake/s/-DEMBREE_MAX_ISA="AVX512SKX"/-DEMBREE_MAX_ISA="SSE4.2"/ + ' +)" + +# some 32-bit fixes around intrinsics where applied to WIN32 only, +# applying a counter-patch here +source+=('embree-3.2.0-intrinsic.patch') +sha256sums+=('7d5e44a034b02e14d7d37cd038d8c279d13d66b54a449c09e0687458f117723f') +eval "$( + { + declare -f prepare || \ + printf 'prepare() {\n}\n' + } \ + | sed ' + $i cd "$srcdir/$pkgname-$pkgver" \ + patch -Np1 -i "$srcdir/embree-3.2.0-intrinsic.patch" + ' +)" diff --git a/extra/embree/embree-3.2.0-intrinsic.patch b/extra/embree/embree-3.2.0-intrinsic.patch new file mode 100644 index 00000000..afb49357 --- /dev/null +++ b/extra/embree/embree-3.2.0-intrinsic.patch @@ -0,0 +1,12 @@ +diff -rauN embree-3.2.0/common/simd/vint4_sse2.h embree-3.2.0-intrinsic-patch/common/simd/vint4_sse2.h +--- embree-3.2.0/common/simd/vint4_sse2.h 2018-05-15 08:02:58.000000000 +0200 ++++ embree-3.2.0-intrinsic-patch/common/simd/vint4_sse2.h 2018-06-20 20:44:57.322042285 +0200 +@@ -455,7 +455,7 @@ + __forceinline int toScalar(const vint4& v) { return _mm_cvtsi128_si32(v); } + + __forceinline size_t toSizeT(const vint4& v) { +-#if defined(__WIN32__) && !defined(__X86_64__) // win32 workaround ++#if !defined(__X86_64__) // win32 workaround + return toScalar(v); + #else + return _mm_cvtsi128_si64(v); |