diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_CMakeLists.txt | 11 | ||||
-rw-r--r-- | graphics/waifu2x-ncnn-vulkan/files/patch-src_ncnn_src_layer_interp.cpp | 15 |
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; |