aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2020-10-21 20:31:06 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2020-10-21 20:31:06 +0000
commit630b73a5f547a8de8356132e5e42098ff432a24b (patch)
treebe00e563caf3164a9e9b63745f6f0a4a8ac767dd /graphics
parent0084d65411155ceb4626d0b575d1d359dac5613e (diff)
downloadports-630b73a5f547a8de8356132e5e42098ff432a24b.tar.gz
ports-630b73a5f547a8de8356132e5e42098ff432a24b.zip
MFH: r552895
graphics/waifu2x-ncnn-vulkan: fix build on powerpc* Merge https://github.com/Tencent/ncnn/commit/7ace8a933db1da8e9734b3988f332dbf672d4dd2 Approved by: portmgr (fix build blanket)
Notes
Notes: svn path=/branches/2020Q4/; revision=552896
Diffstat (limited to 'graphics')
-rw-r--r--graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_CMakeLists.txt11
-rw-r--r--graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_src_layer_interp.cpp15
2 files changed, 26 insertions, 0 deletions
diff --git a/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_CMakeLists.txt b/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_CMakeLists.txt
new file mode 100644
index 000000000000..3ae2c65c0472
--- /dev/null
+++ b/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- src/ncnn/CMakeLists.txt.orig 2020-10-21 19:34:57 UTC
++++ src/ncnn/CMakeLists.txt
+@@ -66,6 +66,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(mips)")
+ set(NCNN_TARGET_ARCH mips)
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv)")
+ set(NCNN_TARGET_ARCH riscv)
++elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc)")
++ set(NCNN_TARGET_ARCH powerpc)
+ else()
+ set(NCNN_TARGET_ARCH x86)
+ option(NCNN_AVX2 "optimize x86 platform with avx2" ON)
diff --git a/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_src_layer_interp.cpp b/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_src_layer_interp.cpp
new file mode 100644
index 000000000000..bd7ba540dc6d
--- /dev/null
+++ b/graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_src_layer_interp.cpp
@@ -0,0 +1,15 @@
+--- src/ncnn/src/layer/interp.cpp.orig 2020-10-21 19:36:40 UTC
++++ src/ncnn/src/layer/interp.cpp
+@@ -41,6 +41,12 @@ int Interp::load_param(const ParamDict& pd)
+ return 0;
+ }
+
++
++#if defined(__GNUC__) && defined(__powerpc__) && defined(__ALTIVEC__)
++// NOTE gcc altivec optimized version produce wrong result
++// so I have to disable vectorize here --- nihui
++__attribute__((optimize("no-tree-vectorize")))
++#endif
+ static void linear_coeffs(int w, int outw, int* xofs, float* alpha)
+ {
+ double scale = (double)w / outw;