summaryrefslogtreecommitdiff
path: root/media-libs/oidn
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-02 14:14:14 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-02 14:14:14 +0100
commit29e3ef4590d6bee24c4a3798d12a3cfef750bd54 (patch)
tree69809f1aec2e43091c328b92a308318c4c3affab /media-libs/oidn
parent77ebfe74c4b5125f8717ec29632589942911c594 (diff)
gentoo auto-resync : 02:04:2024 - 14:14:14
Diffstat (limited to 'media-libs/oidn')
-rw-r--r--media-libs/oidn/Manifest5
-rw-r--r--media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch46
-rw-r--r--media-libs/oidn/metadata.xml3
-rw-r--r--media-libs/oidn/oidn-2.2.2.ebuild95
4 files changed, 148 insertions, 1 deletions
diff --git a/media-libs/oidn/Manifest b/media-libs/oidn/Manifest
index 62120afe6dfa..cc62d6dfbced 100644
--- a/media-libs/oidn/Manifest
+++ b/media-libs/oidn/Manifest
@@ -1,8 +1,11 @@
AUX oidn-2.1.0-amdgpu-targets.patch 2239 BLAKE2B 292b06c363157e42e43a03e237ed72d7d08cfb4cade8614908e5d5014c08cb6e77d936d3f33767c1c0a23bea5aa6df9a511381bf57dd7a23a236e1d689dd07ca SHA512 3fc3fc54cd1155c3142b04f75e5b038b347e4e84deab885a3ffed88b635df21a5d9148b0d7c9e1ca800c2a1826dffd9b99c1e2e9413e35687b97bf316ffd9373
+AUX oidn-2.2.2-amdgpu-targets.patch 2300 BLAKE2B eaddfe6493394c65b6960450ed3b9f60b26165687862c7ab51f8c8a97ae723e8bc887f082ac3f892ddba78e056e40e85fa5806e2d89d5ec32f8e80c1b4f6d6f9 SHA512 43b026e64e6e1f23ab6eacea0f1205ba4fd08dee30a5ad6e0e53b914ef04b8cfef01ba5fc736f355d5592c883f2319d83ebb239f84fdf3acf0e1ae2ca5cd5ef1
DIST oidn-1.4.2.tar.gz 54221996 BLAKE2B bb6593e2e15877f65d9224fc93dac72aff6d567a00d727b050a88a1add4dc1441e695dc38056dd796e004e20916054b43ed7d0e90f22a16597f6617cf6a119e7 SHA512 8b464cedc91ef7a88cfc97c3fde80275b12058cdd26b352718d90f8f20b3462c4ac65b2b1ad5548a520590fbd015fcc8ab9f964633bc8b89d72901fe8a13e352
DIST oidn-1.4.3.tar.gz 54222682 BLAKE2B f9b585c318258fd78e221a453b64e83965a3e5035a912baa49e4d5b48466441bf1d3c15291de2cd4d36e9da187ff7a643bb9d4af5282cdbb8b6bc99fb3cda0d0 SHA512 6fbdf347763c0734140195a523cf0878b1dbd91d4943c9ce4928f6991549f8b3d5ab4d57b90e20a8d04a87d00e3a1554ce73a3a3c1e64fcb016a3c1f8aa07982
DIST oidn-2.1.0.tar.gz 48977314 BLAKE2B 0fc32697df7fc6b8b367a78312a5b16ab68a5c88a2d19a8780e9de87c7e7096d7fe43dbd07928f2eba44c62fb4545338fc92f918dd4c33623259d0088a06a854 SHA512 508cb100f1a0a825774c2c01e0fc983e697341745fa0bfa48a99bfa70fc431f66fcdf17c3f170e40baefd7c3796a25d147f49cb17efbf1a1886556367c5c4566
+DIST oidn-2.2.2.tar.gz 49006605 BLAKE2B e3d32cc2112ded280e642c5d69fb2ef14db59df4f5224bff79e82ede207899c9dbfa43dc663ad9ccc15a6497e363df0b91b43660729962c410b7ec75ac1b3465 SHA512 eca18e9e22a40bc1381e75985e5f5e79f48cc6d168a2a703e54540967646487d347db290459e9a612d8ab4924e8d3c83d84664fd5318cca4f17745da1e47cf50
EBUILD oidn-1.4.2.ebuild 707 BLAKE2B c8c98d1a61c78ae0524100200c9eb02c5d700e6afe043084d30910f822b1e5fb06c41d915ad4c85d213807484199d1d89ae72e86bc723a807015f9a76268f5b7 SHA512 06b247c86ffab4c4bb7ca0e9c9ebb6a20057a3eff294995eb9062c086b7d7e41f3d9e39e1e89c69924a76d5aaea41c5a8e1319a18f77e1a53b6d9bd9e58ea874
EBUILD oidn-1.4.3.ebuild 709 BLAKE2B 83d6551d7c82d920a8339ff43a7ec966e4cd0179b5c0077624b889b600e9123de4cbb690003fffceed311928c333059c22e8f5e397c20763bdfeac47a2f32843 SHA512 90bcc6567182303fc1d15aee57784538e784c5eaae4c80abbc6d0d195162ffb9dd0b0dcfdd05bacea5895df060cd3946d34de2d01ae3f76dfdcc6cc80476d5f3
EBUILD oidn-2.1.0.ebuild 1541 BLAKE2B 4acca5cb50fb55ca815cf9223f4369222b7e52d0ffe2a32e9a8ae07d73590abc606e7d766d575c651e56995e54d29fcd7fe62fb4a3982148f29a49191a3cb2ff SHA512 4b0a917c7c4bcf58cbe2c2bfff6a45cdf57a2b5d4828ef4b8ee1ee74e145593a4b0418181483e36eb3bf83061643ba62fb2c19b40220e0dccc37356ae6de016a
-MISC metadata.xml 934 BLAKE2B 7f02f70c612c4a735cf3cb5b82628ca344bbeffed6f3cfa4edc1a0b006a87ff39ccf8462ef7c99aed909ee4bfbe3caa271b838f20307525449842f92cb276b15 SHA512 4b1eb1c719c01bd9e07b190e6a0b87c7095350bf683755f0e54fbd72dbd4ff695f2ff656850e397bbde4d347f370c89ec5fc9f888f13468568294a9a1a269c80
+EBUILD oidn-2.2.2.ebuild 2000 BLAKE2B c6643495f3ace4d382e4ab655e4e9e2409bed11752dedf3c96645ad1a30ab3304bffd1a7734e8731b0433f9b979f71ebfa56d607ca95c96496e78acce8b0f933 SHA512 898d4763a9d78788fc2c3887b5c2b6e1c685852c75e9df44d9d0cbd06966e2de8d38e99d5f526b8e0c53b076d3767c5f1a5a6236b74eb88407dabbe99dc07eb6
+MISC metadata.xml 1002 BLAKE2B 09f5331ff0755f9d90597922ee23547ba27ba799bc75e7371bc43c9127e5d9b04954fb9741adb8df264b151afac78e1f51d157fdd2a917b3fd7bd4247fe0bf90 SHA512 8facceffdbe156e4216d70cce518d0bc4806b82fa58aa23f1a2feab7f29543d53cb79f91e525f67cd994e5d328a646cf47321fd054a4d37a2b2dcfb35aa2c318
diff --git a/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch b/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch
new file mode 100644
index 000000000000..4a6c2ce607c2
--- /dev/null
+++ b/media-libs/oidn/files/oidn-2.2.2-amdgpu-targets.patch
@@ -0,0 +1,46 @@
+Allow specifying AMDGPU_TARGETS with CMake flags.
+Fix build when main compiler is set to GCC.
+--- a/devices/CMakeLists.txt
++++ b/devices/CMakeLists.txt
+@@ -129,6 +129,10 @@ if(OIDN_DEVICE_HIP)
+ )
+ mark_as_advanced(OIDN_DEVICE_HIP_COMPILER)
+
++ set(AMDGPU_TARGETS "gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103" CACHE STRING "AMD GPU targets to compile for")
++ mark_as_advanced(AMDGPU_TARGETS)
++ message(STATUS "AMD targets: ${AMDGPU_TARGETS}")
++
+ # Add ROCm to CMAKE_PREFIX_PATH
+ set(_hip_prefix_path CMAKE_PREFIX_PATH)
+ list(APPEND _hip_prefix_path ${ROCM_PATH}/hip ${ROCM_PATH})
+@@ -143,7 +147,6 @@ if(OIDN_DEVICE_HIP)
+ CMAKE_CACHE_ARGS
+ -DCMAKE_PREFIX_PATH:STRING=${_hip_prefix_path_str}
+ -DCMAKE_CXX_COMPILER:FILEPATH=${OIDN_DEVICE_HIP_COMPILER}
+- -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE}
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/hip/preinstall
+ -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR}
+@@ -155,6 +158,9 @@ if(OIDN_DEVICE_HIP)
+ -DOIDN_API_NAMESPACE:STRING=${OIDN_API_NAMESPACE}
+ -DOIDN_WARN_AS_ERRORS:BOOL=${OIDN_WARN_AS_ERRORS}
+ -DOIDN_SANITIZER:STRING=${OIDN_SANITIZER}
++ -DGPU_TARGETS:STRING=${AMDGPU_TARGETS}
++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
++ -G "${CMAKE_GENERATOR}"
+ BUILD_ALWAYS TRUE
+ DEPENDS
+ OpenImageDenoise_core
+--- a/devices/hip/CMakeLists.txt
++++ b/devices/hip/CMakeLists.txt
+@@ -25,8 +25,8 @@ include(oidn_common_external)
+ # FIXME: Older versions of the HIP runtime have a bug which may cause a crash if the kernels are
+ # not compiled for all targets detected in the system (it seems mostly APUs/integrated GPUs).
+ # As a workaround, we compile for more targets then we actually support to avoid this crash.
+-set(GPU_TARGETS "gfx902,gfx909,gfx90c,gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE INTERNAL "")
+-set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE INTERNAL "")
++set(GPU_TARGETS "gfx902,gfx909,gfx90c,gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE STRING "")
++set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE STRING "")
+
+ # Find HIP
+ find_package(hip REQUIRED)
diff --git a/media-libs/oidn/metadata.xml b/media-libs/oidn/metadata.xml
index 448ccc40008f..228559585b99 100644
--- a/media-libs/oidn/metadata.xml
+++ b/media-libs/oidn/metadata.xml
@@ -21,6 +21,9 @@
<flag name="hip">
Build OIDN with AMD HIP support.
</flag>
+ <flag name="openimageio">
+ Enable OpenImageIO Support
+ </flag>
</use>
<upstream>
<remote-id type="github">OpenImageDenoise/oidn</remote-id>
diff --git a/media-libs/oidn/oidn-2.2.2.ebuild b/media-libs/oidn/oidn-2.2.2.ebuild
new file mode 100644
index 000000000000..27bf11543fa8
--- /dev/null
+++ b/media-libs/oidn/oidn-2.2.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {15..17} )
+ROCM_VERSION=5.7
+
+inherit cuda cmake python-single-r1 llvm-r1 rocm
+
+DESCRIPTION="Intel(R) Open Image Denoise library"
+HOMEPAGE="https://www.openimagedenoise.org/"
+
+if [[ ${PV} = *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( apps )
+"
+IUSE="apps cuda hip openimageio test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/tbb:=
+ dev-lang/ispc
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ hip? ( dev-util/hip )
+ openimageio? ( media-libs/openimageio:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.2-amdgpu-targets.patch"
+)
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ addpredict "/proc/self/task/"
+ fi
+
+ sed -e "/^install.*llvm_macros.cmake.*cmake/d" -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOIDN_APPS="$(usex apps)"
+ -DOIDN_APPS_OPENIMAGEIO="$(usex apps "$(usex openimageio)")"
+
+ -DOIDN_DEVICE_CPU="yes"
+ -DOIDN_DEVICE_CUDA="$(usex cuda)"
+ -DOIDN_DEVICE_HIP="$(usex hip)"
+ # -DOIDN_DEVICE_SYCL="$(usex sycl)"
+ )
+
+ if use cuda; then
+ export CUDAHOSTCXX="$(cuda_gccdir)"
+ fi
+
+ if use hip; then
+ mycmakeargs+=(
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DOIDN_DEVICE_HIP_COMPILER="$(get_llvm_prefix)/bin/clang++" # use HIPHOSTCOMPILER
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/oidnTest || die "There were test faliures!"
+}
+
+src_install() {
+ cmake_src_install
+
+ if use hip || use cuda ; then
+ # remove garbage in /var/tmp left by subprojects
+ rm -rf "${ED}"/var || die
+ fi
+}