aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
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;