summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2018-07-25 15:51:02 +0200
committerbartus2018-07-25 15:51:02 +0200
commit6fa8d6ab75aebb521007291ccbb2fee6362e9289 (patch)
treef3fe7f85391b8a2a6817be6880126a2b6e706b40
parent3d9805fad521d446495673e22b3d2286fc9a707d (diff)
downloadaur-6fa8d6ab75aebb521007291ccbb2fee6362e9289.tar.gz
fix sse_sum build error
-rw-r--r--PKGBUILD5
-rw-r--r--sse_sum.patch18
2 files changed, 22 insertions, 1 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 9fb5705430a8..20bfdb4ebf1c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer: bartus szczepaniak <aur@bartus.33mail.com>
+# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
####to disable cuda kernel comment out this line
_BUILD_CUDA="on"
@@ -22,6 +22,7 @@ fi
install=${pkgname}.install
source=("${pkgname}::git+https://github.com/colmap/colmap.git${fragment}"
"nvm-export.patch"
+ "sse_sum.patch"
"${pkgname}.install"
"vocabulary-tree-64K.bin::https://demuc.de/colmap/vocab_tree-65536.bin"
"vocabulary-tree-256K.bin::https://demuc.de/colmap/vocab_tree-262144.bin"
@@ -29,6 +30,7 @@ source=("${pkgname}::git+https://github.com/colmap/colmap.git${fragment}"
)
md5sums=('SKIP'
'3c0027625739e972f8af8bea6f557b35'
+ '0102c94336f466f9d5a9716fe2310821'
'ebb1dc43e014a1e720a06422c6248a40'
'3521ff3c601596473c6ce5256772f606'
'e423daecc45d56b749d25eeace9de1c8'
@@ -42,6 +44,7 @@ pkgver() {
prepare() {
cd ${srcdir}/${pkgname}
git apply ${srcdir}/nvm-export.patch
+ git apply ${srcdir}/sse_sum.patch
}
diff --git a/sse_sum.patch b/sse_sum.patch
new file mode 100644
index 000000000000..77df49472412
--- /dev/null
+++ b/sse_sum.patch
@@ -0,0 +1,18 @@
+diff --git a/lib/PBA/SparseBundleCPU.cpp b/lib/PBA/SparseBundleCPU.cpp
+index 2967cc7..b037082 100755
+--- a/lib/PBA/SparseBundleCPU.cpp
++++ b/lib/PBA/SparseBundleCPU.cpp
+@@ -354,11 +354,11 @@ inline double sse_sum(__m256d s) {
+ return (s.m256d_f64[0] + s.m256d_f64[2]) + (s.m256d_f64[1] + s.m256d_f64[3]);
+ }
+ #else
+-inline float sse_sum(__m128 s) {
++inline float sse_sum(__m256 s) {
+ float* f = (float*)(&s);
+ return ((f[0] + f[4]) + (f[2] + f[6])) + ((f[1] + f[5]) + (f[3] + f[7]));
+ }
+-inline double sse_sum(__m128d s) {
++inline double sse_sum(__m256d s) {
+ double* d = (double*)(&s);
+ return (d[0] + d[2]) + (d[1] + d[3]);
+ }