diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-03-26 01:01:01 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-03-26 01:01:01 +0000 |
commit | 970b06af05f42e54a47439caaa9bd9a31ee30142 (patch) | |
tree | 7d58838b2008550a4c1d06b306efafa0e4624542 /media-libs | |
parent | fc68863e718441fe15bb0dea2ca03ea06a6f558d (diff) |
gentoo auto-resync : 26:03:2024 - 01:01:01
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/Manifest.gz | bin | 69507 -> 69512 bytes | |||
-rw-r--r-- | media-libs/embree/Manifest | 3 | ||||
-rw-r--r-- | media-libs/embree/embree-4.3.0.ebuild | 118 | ||||
-rw-r--r-- | media-libs/embree/files/embree-4.3.0-dont-install-tutorials.patch | 203 | ||||
-rw-r--r-- | media-libs/oidn/Manifest | 5 | ||||
-rw-r--r-- | media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch | 46 | ||||
-rw-r--r-- | media-libs/oidn/metadata.xml | 8 | ||||
-rw-r--r-- | media-libs/oidn/oidn-2.1.0.ebuild | 75 |
8 files changed, 457 insertions, 1 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz Binary files differindex b2cde300a946..798783b8b572 100644 --- a/media-libs/Manifest.gz +++ b/media-libs/Manifest.gz diff --git a/media-libs/embree/Manifest b/media-libs/embree/Manifest index 14b09ae06d84..7b7d04d49967 100644 --- a/media-libs/embree/Manifest +++ b/media-libs/embree/Manifest @@ -1,8 +1,11 @@ AUX embree-3.13.4-fix-openimageio-test.patch 4663 BLAKE2B 2b6a5422f51977317c1149673bc8624f56d363d8362f2d3678c86e661d1f9eb6a2319df241d736a0da8e586d86fa6ff524c3fc98fe564f511551efe756b80d7c SHA512 b3b414f8068af8f45ceca91653b9e8cd2f06cfd7cafbd25a9b97ac6e3f30a27f22bbb121be34ee154e9910d3668f798d226199a843316762486ae85685a2ee9d AUX embree-3.13.5-fix-arm64.patch 2739 BLAKE2B 9e636bc3f4e49564f156cc977c98466bb58efe772af099143feac8e887cb81b9124332268f08cc11e72e9fb4d316f20a44bda7e7a96c906e7091f19fc0408d21 SHA512 392848fce7faf2085eb1b06bd7c7490fd4f0e356d30f9967b18013376ab7f64e9b31bd4144ddbb1b5492c560044b354382fbdbc9377e7736961fe2dd37f893fe AUX embree-3.13.5-fix-openimageio-test.patch 4526 BLAKE2B c1560a8122df45ad860ac9d19108cdc4920ab2e4d06c6ba968d6c43e88e4c6d47c26a463abf0f21db8290572172b6448b4ec579b6df9875b4e55688191cfed13 SHA512 f40d3cbcd62f16aea89e3d1873dccf020a2aa07679f5f99ae47f3fcc9e66dab9f2422c713a8cbc39dd1c09a2a838e3dbb4b859c785f503a154eee4cc244a3cc8 +AUX embree-4.3.0-dont-install-tutorials.patch 10219 BLAKE2B ec34fb2456972bb09dd5ce64fa771160b57f4266b834ba92542303817a799c1c2c799e99e3948f779fab3829d25e4776d603dcb6d7828f7505aeb1c9fe1e3a32 SHA512 b0a1bebce5ba6647969552ba1d5061ad8aa7db79fd5f8dc8ba4417b4749811ea2f0076359a61e0cd8bfd46e80e72af3cc6a6212a55e9690b45e45d013e270ae0 DIST embree-3.13.4.tar.gz 13733908 BLAKE2B 4c6c24f62ee88a09149bd930716c71e91d54563eea5cc103c0346d3808c693e8470fc7ea98651e0df9e4423bda565d7ab1a23e16c9d0441c79e9ec9c8571b0fa SHA512 685c3935fabe1bfa7260ef148df26b686b085b75011d72011461471cbcef786a5ce7a0e85c57b2df05798489a2d4e80a8d3ee5df986029edad7df7511d99c0ca DIST embree-3.13.5.tar.gz 13739115 BLAKE2B 52ad8e3520aa789f7987467c6979be06f883803757e842316ecf708deeed11214dd60570eda5708e701047b1a14ea37710d158df544817dc536bfda444a68218 SHA512 13ae19b1750197fb4887ba601c75d1b54b3c388224672b6561dd922bc9b9747139cf46ce554727e3afa13dcf152ce4d703935cb9105ced792b011f2d05fa3e95 +DIST embree-4.3.0.tar.gz 71028239 BLAKE2B 7834ed7851d36c32ce3e88a3ddb02e8316422699ec78a662ef81ef0eb9f66b260ce2f7438739531e2b63f817a931a19ba35da156e8e09a42a78e6c077314e615 SHA512 8f61401175464b34243e899464f44a196b520c08e1c44a417bf980cfa7b191859bbaab1029278123654e5ffb91e2f8a85af1d881affddcc7e344a7e8a8066262 EBUILD embree-3.13.4.ebuild 3812 BLAKE2B b4883a7c9b8b1653eb4e77e8533114ec2d927a92003dad843bba00850be77ea03bb4be633a62aaf5e73c115d893c69e8e39ca6299770f5e8ec541c3c6ea9ecf8 SHA512 86434eb8b53e197dca0d76368c73dd8a29260d0870ee50c0865c2b634db3728f08dabd500fbd2eefa9f8273a55df0970bfe4ab03038f5ce26617f3d262d1c830 EBUILD embree-3.13.5.ebuild 3755 BLAKE2B 47134a80dc9e0d1b534d2ec2d78efd8e34ee440928152f6d2b74b349da32d81bf7475c4312b9561439141e09583bc242a07d74c11f3153c5430a527438cbeaa3 SHA512 1b189d467b05c7bc9a4ca80be0be7b59576df9655b3fe5d68c68f16e39bb6a5e158518f31413e3733570717cdbf20d56f1e122a37ac98757cf6b27db819b2235 +EBUILD embree-4.3.0.ebuild 3435 BLAKE2B 2ee46815972563b15a9ce64cde9ebda372c92f4fe959c55d2ccdeb4cc61907d01b028af3a1a3400b353ee19af63e26338316579c6d26e2acf3365fa1e80a646c SHA512 06e8aeac4850c7b73df534a6a2abc6676d35bb0755d3c8e80370b8639c60435eed0fc3e01e0294a80b8229e9ce676dfad1bbfb5f51de7a7a9d2722c1fec1cee0 MISC metadata.xml 1705 BLAKE2B 2785c8b8752e5730e014ce6edfdd1702a20565ab12c9ebee14c3cf603e267a63360eaa0428afb9e178091edad40fe82ea55e2a872339da744113e480b4eda6c2 SHA512 ebfa1a6d3f8a8fe6acc0cc06f54ad62efb86942b55e985542a049fde421663adddcffe2a78c7309774df9bbc714a2bb11dad73c94b89bf2d1cdf56b69d334f59 diff --git a/media-libs/embree/embree-4.3.0.ebuild b/media-libs/embree/embree-4.3.0.ebuild new file mode 100644 index 000000000000..370913e57a52 --- /dev/null +++ b/media-libs/embree/embree-4.3.0.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic linux-info toolchain-funcs + +DESCRIPTION="Collection of high-performance ray tracing kernels" +HOMEPAGE="https://github.com/embree/embree" +SRC_URI="https://github.com/embree/embree/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="3" +KEYWORDS="-* ~amd64 ~arm64" +X86_CPU_FLAGS=( sse2 sse4_2 avx avx2 avx512dq ) +CPU_FLAGS=( cpu_flags_arm_neon ${X86_CPU_FLAGS[@]/#/cpu_flags_x86_} ) +IUSE="compact-polys ispc +raymask ssp +tbb test ${CPU_FLAGS[@]}" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( ${CPU_FLAGS[@]} )" + +BDEPEND=" + virtual/pkgconfig +" +RDEPEND=" + ispc? ( dev-lang/ispc ) + tbb? ( dev-cpp/tbb:= ) +" +DEPEND="${RDEPEND}" + +DOCS=( CHANGELOG.md README.md readme.pdf ) + +PATCHES=( + "${FILESDIR}"/embree-4.3.0-dont-install-tutorials.patch +) + +pkg_setup() { + CONFIG_CHECK="~TRANSPARENT_HUGEPAGE" + WARNING_TRANSPARENT_HUGEPAGE="Not enabling Transparent Hugepages (CONFIG_TRANSPARENT_HUGEPAGE) will impact rendering performance." + + linux-info_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + # disable RPM package building + sed -e 's|CPACK_RPM_PACKAGE_RELEASE 1|CPACK_RPM_PACKAGE_RELEASE 0|' \ + -i CMakeLists.txt || die +} + +src_configure() { + # NOTE: You can make embree accept custom CXXFLAGS by turning off + # EMBREE_IGNORE_CMAKE_CXX_FLAGS. However, the linking will fail if you use + # any "m*" compile flags. This is because embree builds modules for the + # different supported ISAs and picks the correct one at runtime. + # "m*" will pull in cpu instructions that shouldn't be in specific modules + # and it fails to link properly. + # https://github.com/embree/embree/issues/115 + + filter-flags -m* + + # https://bugs.gentoo.org/910164 + tc-is-clang && filter-lto + + local mycmakeargs=( + -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON + + # Default culling settings for Blender + # (Cycles will not render correctly without these) + # Some Embree tests will fail with these settings though... + -DEMBREE_BACKFACE_CULLING=OFF + -DEMBREE_BACKFACE_CULLING_CURVES=ON + -DEMBREE_BACKFACE_CULLING_SPHERES=ON + + -DEMBREE_COMPACT_POLYS=$(usex compact-polys) + + # Make sure that we are using our custom compilie flags + -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF + + # Set to NONE so we can manually switch on ISAs below + -DEMBREE_MAX_ISA:STRING="NONE" + -DEMBREE_ISA_AVX=$(usex cpu_flags_x86_avx) + -DEMBREE_ISA_AVX2=$(usex cpu_flags_x86_avx2) + -DEMBREE_ISA_AVX512=$(usex cpu_flags_x86_avx512dq) + # TODO look into neon 2x support + -DEMBREE_ISA_NEON=$(usex cpu_flags_arm_neon) + -DEMBREE_ISA_SSE2=$(usex cpu_flags_x86_sse2) + -DEMBREE_ISA_SSE42=$(usex cpu_flags_x86_sse4_2) + -DEMBREE_ISPC_SUPPORT=$(usex ispc) + -DEMBREE_RAY_MASK=$(usex raymask) + + -DEMBREE_STACK_PROTECTOR=$(usex ssp) + -DEMBREE_STATIC_LIB=OFF + -DEMBREE_TASKING_SYSTEM:STRING=$(usex tbb "TBB" "INTERNAL") + # Tutorial binaries are required by the tests + -DEMBREE_TUTORIALS=$(usex test) + -DEMBREE_ZIP_MODE=OFF + ) + + # Disable asserts + append-cppflags -DNDEBUG + + if use test; then + mycmakeargs+=( + -DBUILD_TESTING=ON + -DEMBREE_TESTING_INSTALL_TESTS=OFF + -DEMBREE_TESTING_INTENSITY=4 + # These tutorials are not used by the default tests + -DEMBREE_TUTORIALS_GLFW=OFF + -DEMBREE_TUTORIALS_INSTALL=OFF + -DEMBREE_TUTORIALS_LIBJPEG=OFF + -DEMBREE_TUTORIALS_LIBPNG=OFF + -DEMBREE_TUTORIALS_OPENIMAGEIO=OFF + ) + fi + + cmake_src_configure +} diff --git a/media-libs/embree/files/embree-4.3.0-dont-install-tutorials.patch b/media-libs/embree/files/embree-4.3.0-dont-install-tutorials.patch new file mode 100644 index 000000000000..8643c7168a71 --- /dev/null +++ b/media-libs/embree/files/embree-4.3.0-dont-install-tutorials.patch @@ -0,0 +1,203 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6750758f..6df7d2f34 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -95,7 +95,8 @@ IF (BUILD_DOC) + ADD_SUBDIRECTORY(doc) + ENDIF() + +-OPTION(EMBREE_TUTORIALS "Enable to build Embree tutorials" ON) ++OPTION(EMBREE_TUTORIALS "Enable to build Embree tutorials" ON) ++OPTION(EMBREE_TUTORIALS_INSTALL "Enable to include the built tutorials in the Embree package" ON) + + ############################################################## + # Embree configuration +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index f7a182f7f..92ac45de0 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -145,7 +145,7 @@ ENDIF() + # Install Models + ############################################################## + +-IF (EMBREE_TUTORIALS) ++IF (EMBREE_TUTORIALS AND EMBREE_TUTORIALS_INSTALL) + INSTALL(DIRECTORY tutorials/models DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) + ENDIF() + +diff --git a/common/cmake/tutorial.cmake b/common/cmake/tutorial.cmake +index 0f23d0204..cba0c4b13 100644 +--- a/common/cmake/tutorial.cmake ++++ b/common/cmake/tutorial.cmake +@@ -9,7 +9,9 @@ MACRO (ADD_TUTORIAL TUTORIAL_NAME) + TARGET_LINK_LIBRARIES(embree_${TUTORIAL_NAME} embree image tutorial noise ${ADDITIONAL_LIBRARIES}) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME} PROPERTY FOLDER tutorials/single) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME} APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +- INSTALL(TARGETS embree_${TUTORIAL_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_${TUTORIAL_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ ENDIF () + SIGN_TARGET(embree_${TUTORIAL_NAME}) + ENDMACRO () + +@@ -21,7 +23,9 @@ MACRO (ADD_TUTORIAL_SYCL TUTORIAL_NAME) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME}_sycl PROPERTY FOLDER tutorials/sycl) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME}_sycl APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST} ${CMAKE_CXX_FLAGS_SYCL}") + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME}_sycl APPEND PROPERTY LINK_FLAGS "${CMAKE_LINK_FLAGS_SYCL}") +- INSTALL(TARGETS embree_${TUTORIAL_NAME}_sycl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples) ++ IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_${TUTORIAL_NAME}_sycl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples) ++ ENDIF () + SIGN_TARGET(embree_${TUTORIAL_NAME}_sycl) + ENDIF() + ENDMACRO () +@@ -32,7 +36,9 @@ MACRO (ADD_TUTORIAL_ISPC TUTORIAL_NAME) + TARGET_LINK_LIBRARIES(embree_${TUTORIAL_NAME}_ispc embree image tutorial_ispc noise noise_ispc) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME}_ispc PROPERTY FOLDER tutorials/ispc) + SET_PROPERTY(TARGET embree_${TUTORIAL_NAME}_ispc APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +- INSTALL(TARGETS embree_${TUTORIAL_NAME}_ispc DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_${TUTORIAL_NAME}_ispc DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ ENDIF () + SIGN_TARGET(embree_${TUTORIAL_NAME}_ispc) + ENDIF() + ENDMACRO () +diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt +index 122dae2e4..96a69d17e 100644 +--- a/tutorials/CMakeLists.txt ++++ b/tutorials/CMakeLists.txt +@@ -4,7 +4,9 @@ + include(CMakeDependentOption) + + CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/README.md.in" "${CMAKE_CURRENT_SOURCE_DIR}/README.md") +-INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md" DESTINATION "src" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md" DESTINATION "src" COMPONENT examples) ++ENDIF() + + ADD_SUBDIRECTORY(common/image) + CMAKE_DEPENDENT_OPTION(EMBREE_TUTORIALS_GLFW "Enables GLFW usage in tutorials. When disabled tutorial can only render to disk." ON "EMBREE_TUTORIALS" OFF) +diff --git a/tutorials/bvh_access/CMakeLists.txt b/tutorials/bvh_access/CMakeLists.txt +index 3bc801d24..1b7fa1fb2 100644 +--- a/tutorials/bvh_access/CMakeLists.txt ++++ b/tutorials/bvh_access/CMakeLists.txt +@@ -8,9 +8,11 @@ TARGET_LINK_LIBRARIES(embree_bvh_access embree math sys tasking tutorial) + + SET_PROPERTY(TARGET embree_bvh_access PROPERTY FOLDER tutorials/single) + SET_PROPERTY(TARGET embree_bvh_access APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +-INSTALL(TARGETS embree_bvh_access DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_bvh_access DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ENDIF() + SIGN_TARGET(embree_bvh_access) + + ENDIF() + +-ADD_EMBREE_TEST_ECS(bvh_access embree_bvh_access NO_REFERENCE NO_ISPC NO_SYCL) +\ No newline at end of file ++ADD_EMBREE_TEST_ECS(bvh_access embree_bvh_access NO_REFERENCE NO_ISPC NO_SYCL) +diff --git a/tutorials/convert/CMakeLists.txt b/tutorials/convert/CMakeLists.txt +index 5c1b7795d..6730bc96d 100644 +--- a/tutorials/convert/CMakeLists.txt ++++ b/tutorials/convert/CMakeLists.txt +@@ -5,5 +5,7 @@ ADD_EXECUTABLE(embree_convert ../../kernels/embree.rc convert.cpp distribution1d + TARGET_LINK_LIBRARIES(embree_convert scenegraph image tasking) + SET_PROPERTY(TARGET embree_convert PROPERTY FOLDER tutorials/single) + SET_PROPERTY(TARGET embree_convert APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +-INSTALL(TARGETS embree_convert DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_convert DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ENDIF() + SIGN_TARGET(embree_convert) +diff --git a/tutorials/embree_info/CMakeLists.txt b/tutorials/embree_info/CMakeLists.txt +index fa8b74b89..6d10279ff 100644 +--- a/tutorials/embree_info/CMakeLists.txt ++++ b/tutorials/embree_info/CMakeLists.txt +@@ -18,8 +18,10 @@ ADD_EXECUTABLE(embree_info embree_info.cpp) + TARGET_LINK_LIBRARIES(embree_info embree) + + SET_PROPERTY(TARGET embree_info PROPERTY FOLDER tutorials/single) +-INSTALL(TARGETS embree_info DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) +-#INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" DESTINATION "src" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_info DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ #INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" DESTINATION "src" COMPONENT examples) ++ENDIF() + + IF (EMBREE_SYCL_SUPPORT) + SET_PROPERTY(TARGET embree_info APPEND PROPERTY COMPILE_FLAGS "-fsycl -Xclang -fsycl-allow-func-ptr -fsycl-targets=spir64") +@@ -31,4 +33,4 @@ IF (COMMAND SIGN_TARGET) + SIGN_TARGET(embree_info) + ENDIF() + +-ENDIF() +\ No newline at end of file ++ENDIF() +diff --git a/tutorials/embree_tests/CMakeLists.txt b/tutorials/embree_tests/CMakeLists.txt +index ab62b1954..b3647bc2d 100644 +--- a/tutorials/embree_tests/CMakeLists.txt ++++ b/tutorials/embree_tests/CMakeLists.txt +@@ -40,8 +40,10 @@ endif() + + SET_PROPERTY(TARGET embree_tests PROPERTY FOLDER tutorials) + SET_PROPERTY(TARGET embree_tests APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +-INSTALL(TARGETS embree_tests DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_tests DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ENDIF() + SIGN_TARGET(embree_tests) + + ADD_EMBREE_TEST_ECS(embree_tests embree_tests NO_REFERENCE NO_ISPC NO_SYCL) +-SET_EMBREE_TEST_PROPERTIES(embree_tests PROPERTIES TIMEOUT 7000) +\ No newline at end of file ++SET_EMBREE_TEST_PROPERTIES(embree_tests PROPERTIES TIMEOUT 7000) +diff --git a/tutorials/minimal/CMakeLists.txt b/tutorials/minimal/CMakeLists.txt +index 962c2f4e8..4fa642544 100644 +--- a/tutorials/minimal/CMakeLists.txt ++++ b/tutorials/minimal/CMakeLists.txt +@@ -16,8 +16,10 @@ ADD_EXECUTABLE(embree_minimal minimal.cpp) + TARGET_LINK_LIBRARIES(embree_minimal embree) + + SET_PROPERTY(TARGET embree_minimal PROPERTY FOLDER tutorials/single) +-INSTALL(TARGETS embree_minimal DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) +-INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" DESTINATION "src" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_minimal DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" DESTINATION "src" COMPONENT examples) ++ENDIF() + IF (COMMAND SIGN_TARGET) + SIGN_TARGET(embree_minimal) + ENDIF() +@@ -30,7 +32,9 @@ IF (EMBREE_SYCL_SUPPORT) + SET_PROPERTY(TARGET embree_minimal_sycl APPEND PROPERTY LINK_FLAGS "-fsycl -fsycl-targets=spir64") + + SET_PROPERTY(TARGET embree_minimal_sycl PROPERTY FOLDER tutorials/sycl) +- INSTALL(TARGETS embree_minimal_sycl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples) ++ IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_minimal_sycl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples) ++ ENDIF() + IF (COMMAND SIGN_TARGET) + SIGN_TARGET(embree_minimal_sycl) + ENDIF() +diff --git a/tutorials/verify/CMakeLists.txt b/tutorials/verify/CMakeLists.txt +index c12d9caf8..ec3c928d7 100644 +--- a/tutorials/verify/CMakeLists.txt ++++ b/tutorials/verify/CMakeLists.txt +@@ -13,7 +13,9 @@ ADD_EXECUTABLE(embree_verify ../../kernels/embree.rc verify.cpp + TARGET_LINK_LIBRARIES(embree_verify ${EMBREE_LIBRARIES} sys math scenegraph embree tasking) + SET_PROPERTY(TARGET embree_verify PROPERTY FOLDER tutorials) + SET_PROPERTY(TARGET embree_verify APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") +-INSTALL(TARGETS embree_verify DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++IF (EMBREE_TUTORIALS_INSTALL) ++ INSTALL(TARGETS embree_verify DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples) ++ENDIF() + SIGN_TARGET(embree_verify) + + ADD_EMBREE_TEST_ECS(embree_verify embree_verify NO_REFERENCE NO_ISPC NO_SYCL ARGS --no-colors) +@@ -39,4 +41,4 @@ ADD_EMBREE_TEST_ECS(embree_verify_benchmark embree_verify NO_REFERENCE NO_ISPC N + --skip .*_120.* --skip .*_1k.* --skip .*_10k.* --skip .*100k.* # skip all smaller build benchmarks + --run .*embree_reported_memory.* + ) +-SET_EMBREE_TEST_PROPERTIES(embree_verify_benchmarks PROPERTIES TIMEOUT 10800) +\ No newline at end of file ++SET_EMBREE_TEST_PROPERTIES(embree_verify_benchmarks PROPERTIES TIMEOUT 10800) diff --git a/media-libs/oidn/Manifest b/media-libs/oidn/Manifest index 299d7fc5fec4..62120afe6dfa 100644 --- a/media-libs/oidn/Manifest +++ b/media-libs/oidn/Manifest @@ -1,5 +1,8 @@ +AUX oidn-2.1.0-amdgpu-targets.patch 2239 BLAKE2B 292b06c363157e42e43a03e237ed72d7d08cfb4cade8614908e5d5014c08cb6e77d936d3f33767c1c0a23bea5aa6df9a511381bf57dd7a23a236e1d689dd07ca SHA512 3fc3fc54cd1155c3142b04f75e5b038b347e4e84deab885a3ffed88b635df21a5d9148b0d7c9e1ca800c2a1826dffd9b99c1e2e9413e35687b97bf316ffd9373 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 EBUILD oidn-1.4.2.ebuild 707 BLAKE2B c8c98d1a61c78ae0524100200c9eb02c5d700e6afe043084d30910f822b1e5fb06c41d915ad4c85d213807484199d1d89ae72e86bc723a807015f9a76268f5b7 SHA512 06b247c86ffab4c4bb7ca0e9c9ebb6a20057a3eff294995eb9062c086b7d7e41f3d9e39e1e89c69924a76d5aaea41c5a8e1319a18f77e1a53b6d9bd9e58ea874 EBUILD oidn-1.4.3.ebuild 709 BLAKE2B 83d6551d7c82d920a8339ff43a7ec966e4cd0179b5c0077624b889b600e9123de4cbb690003fffceed311928c333059c22e8f5e397c20763bdfeac47a2f32843 SHA512 90bcc6567182303fc1d15aee57784538e784c5eaae4c80abbc6d0d195162ffb9dd0b0dcfdd05bacea5895df060cd3946d34de2d01ae3f76dfdcc6cc80476d5f3 -MISC metadata.xml 754 BLAKE2B b1be901e2f498cb917222e495a89f5515c2837a83e086e5a7c8db5f571ce50401d3ca82546e61ab3507de3d3068eee4ee8c85b3430565eb3db7c3cfc3194f827 SHA512 1806e677d62ae2b3cc2857eb05d106abf840a1e1fc21d1a875716441ffe3db1a13c5d96ca9316b2285c43fda4e2d62829ceb4b32ad13ecea2a521a1b1ed84096 +EBUILD oidn-2.1.0.ebuild 1541 BLAKE2B 4acca5cb50fb55ca815cf9223f4369222b7e52d0ffe2a32e9a8ae07d73590abc606e7d766d575c651e56995e54d29fcd7fe62fb4a3982148f29a49191a3cb2ff SHA512 4b0a917c7c4bcf58cbe2c2bfff6a45cdf57a2b5d4828ef4b8ee1ee74e145593a4b0418181483e36eb3bf83061643ba62fb2c19b40220e0dccc37356ae6de016a +MISC metadata.xml 934 BLAKE2B 7f02f70c612c4a735cf3cb5b82628ca344bbeffed6f3cfa4edc1a0b006a87ff39ccf8462ef7c99aed909ee4bfbe3caa271b838f20307525449842f92cb276b15 SHA512 4b1eb1c719c01bd9e07b190e6a0b87c7095350bf683755f0e54fbd72dbd4ff695f2ff656850e397bbde4d347f370c89ec5fc9f888f13468568294a9a1a269c80 diff --git a/media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch b/media-libs/oidn/files/oidn-2.1.0-amdgpu-targets.patch new file mode 100644 index 000000000000..90d3c17f38cc --- /dev/null +++ b/media-libs/oidn/files/oidn-2.1.0-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 +@@ -123,6 +123,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}) +@@ -137,7 +141,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} +@@ -149,6 +152,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: The HIP runtime has a bug that causes a crash if the kernels are not compiled for all + # targets detected in the system. As a workaround, we compile for more targets then we actually + # support to avoid the crash on systems with dedicated + integrated GPUs. +-set(GPU_TARGETS "gfx1030,gfx1031,gfx1032,gfx1033,gfx1034,gfx1035,gfx1036,gfx1100,gfx1101,gfx1102,gfx1103" CACHE INTERNAL "") +-set(AMDGPU_TARGETS ${GPU_TARGETS} CACHE INTERNAL "") ++set(GPU_TARGETS "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 2222e0663448..448ccc40008f 100644 --- a/media-libs/oidn/metadata.xml +++ b/media-libs/oidn/metadata.xml @@ -14,6 +14,14 @@ high-quality denoising filters for images rendered with ray tracing. Intel Open Image Denoise is part of the IntelĀ® oneAPI Rendering Toolkit and is </longdescription> + <use> + <flag name="apps"> + Build the standalone denoise, self test, and benchmark binaries. + </flag> + <flag name="hip"> + Build OIDN with AMD HIP support. + </flag> + </use> <upstream> <remote-id type="github">OpenImageDenoise/oidn</remote-id> </upstream> diff --git a/media-libs/oidn/oidn-2.1.0.ebuild b/media-libs/oidn/oidn-2.1.0.ebuild new file mode 100644 index 000000000000..f3b63b4ce34d --- /dev/null +++ b/media-libs/oidn/oidn-2.1.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +LLVM_MAX_SLOT=17 +ROCM_VERSION=5.7 + +inherit cmake python-single-r1 llvm 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 test" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/tbb:= + dev-lang/ispc + cuda? ( dev-util/nvidia-cuda-toolkit ) + hip? ( dev-util/hip ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-2.1.0-amdgpu-targets.patch" +) + +src_configure() { + local mycmakeargs=( + -DOIDN_DEVICE_CUDA=$(usex cuda) + -DOIDN_DEVICE_HIP=$(usex hip) + -DOIDN_APPS=$(usex apps) + ) + + if use hip; then + mycmakeargs+=( + -DROCM_PATH="${EPREFIX}/usr" + -DOIDN_DEVICE_HIP_COMPILER="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++" + -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 +} |