ncnn: init at 20211208
ncnn: Enable vulkan support
This commit is contained in:
parent
f6f0e1eb55
commit
7d8a22436c
13
pkgs/development/libraries/ncnn/cmakelists.patch
Normal file
13
pkgs/development/libraries/ncnn/cmakelists.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 98611276..989350bb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -260,6 +260,8 @@ if(NCNN_VULKAN)
|
||||
include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
|
||||
endif()
|
||||
include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
|
||||
+ include("${GLSLANG_TARGET_DIR}/SPIRV-Tools/SPIRV-ToolsTarget.cmake")
|
||||
+ include("${GLSLANG_TARGET_DIR}/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake")
|
||||
include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
|
||||
|
||||
if (NOT TARGET glslang OR NOT TARGET SPIRV)
|
50
pkgs/development/libraries/ncnn/default.nix
Normal file
50
pkgs/development/libraries/ncnn/default.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
, glslang
|
||||
, opencv
|
||||
, protobuf
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ncnn";
|
||||
version = "20211208";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Tencent";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1c9axrnafksnks7v5fmi6nzs0qim9n6j5kh5d0vfl3b4r22irhqr";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./cmakelists.patch
|
||||
./gpu-include.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DNCNN_CMAKE_VERBOSE=1" # Only for debugging the build
|
||||
"-DNCNN_SHARED_LIB=1"
|
||||
"-DNCNN_ENABLE_LTO=1"
|
||||
"-DNCNN_VULKAN=1"
|
||||
"-DNCNN_BUILD_EXAMPLES=0"
|
||||
"-DNCNN_BUILD_TOOLS=0"
|
||||
"-DNCNN_SYSTEM_GLSLANG=1"
|
||||
"-DNCNN_PYTHON=0" # Should be an attribute
|
||||
|
||||
"-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ vulkan-headers vulkan-loader glslang opencv protobuf ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "ncnn is a high-performance neural network inference framework optimized for the mobile platform";
|
||||
homepage = "https://github.com/Tencent/ncnn";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ tilcreator ];
|
||||
};
|
||||
}
|
13
pkgs/development/libraries/ncnn/gpu-include.patch
Normal file
13
pkgs/development/libraries/ncnn/gpu-include.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/src/gpu.cpp b/src/gpu.cpp
|
||||
index 51cd7f95..bf7ed828 100644
|
||||
--- a/src/gpu.cpp
|
||||
+++ b/src/gpu.cpp
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
#include "glslang/SPIRV/GlslangToSpv.h"
|
||||
-#include "glslang/glslang/Public/ShaderLang.h"
|
||||
+#include "glslang/Public/ShaderLang.h"
|
||||
|
||||
#include "command.h"
|
||||
#include "layer.h"
|
@ -18990,6 +18990,8 @@ with pkgs;
|
||||
|
||||
nanovna-saver = libsForQt5.callPackage ../applications/science/electronics/nanovna-saver { };
|
||||
|
||||
ncnn = callPackage ../development/libraries/ncnn { };
|
||||
|
||||
ndpi = callPackage ../development/libraries/ndpi { };
|
||||
|
||||
nemo-qml-plugin-dbus = libsForQt5.callPackage ../development/libraries/nemo-qml-plugin-dbus { };
|
||||
|
Loading…
Reference in New Issue
Block a user