diff --git a/graphics/oidn/Makefile b/graphics/oidn/Makefile index 42e154c44be6..d2aaf1e511e0 100644 --- a/graphics/oidn/Makefile +++ b/graphics/oidn/Makefile @@ -1,76 +1,78 @@ PORTNAME= oidn DISTVERSIONPREFIX= v -DISTVERSION= 2.2.2 -PORTREVISION= 1 +DISTVERSION= 2.3.0 CATEGORIES= graphics MASTER_SITES= http://freebsd.org/:weights # bogus URL to make the framework happy, the fetch uses Git URL below DISTFILES= ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX}:weights MAINTAINER= yuri@FreeBSD.org COMMENT= Intel(R) Open Image Denoise library WWW= https://www.openimagedenoise.org/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= Intel(R) MKL-DNN supports x86 64 bit platforms only (oidn contains a custom version of mkl-dnn, see math/mkl-dnn), and ISPC has a limited availability FETCH_DEPENDS= git:devel/git \ git-lfs:devel/git-lfs BUILD_DEPENDS= ispc>=1.14.1:devel/ispc LIB_DEPENDS= libtbb.so:devel/onetbb USES= cmake:noninja compiler:c++14-lang python:build USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= OpenImageDenoise GH_TUPLE= OpenImageDenoise:mkl-dnn:9bea36e:m/external/mkl-dnn \ ROCmSoftwarePlatform:composable_kernel:e85178b:composable_kernel/external/composable_kernel \ NVIDIA:cutlass:66d9cdd:cutlass/external/cutlass CMAKE_ARGS= -DTBB_ROOT:STRING=${LOCALBASE} -DTBB_INCLUDE_DIR:STRING=${LOCALBASE}/include -DPYTHON_EXECUTABLE:STRING=${PYTHON_CMD} PLIST_SUB= VER="${PORTVERSION}" OPTIONS_DEFINE= APPS DOCS OPENIMAGEIO OPTIONS_DEFAULT= APPS OPENIMAGEIO OPTIONS_SUB= yes APPS_DESC= Build example and test apps APPS_CMAKE_BOOL= OIDN_APPS DOCSDIR= share/doc/${GH_ACCOUNT} OPENIMAGEIO_DESC= Build with OpenImageIO for image formats support OPENIMAGEIO_CMAKE_BOOL= OIDN_APPS_OPENIMAGEIO OPENIMAGEIO_LIB_DEPENDS= libOpenImageIO.so:graphics/openimageio OPENIMAGEIO_IMPLIES= APPS # OpenImageIO is only used by apps and examples WEIGHTS_GIT_URL= https://github.com/OpenImageDenoise/oidn-weights.git -WEIGHTS_GIT_HASH= 44ff866123ffd6c26bbc27e5e48e8cd4ec8a1a66 +WEIGHTS_GIT_HASH= 28883d1769d5930e13cf7f1676dd852bd81ed9e7 pre-fetch: @if [ "${FORCE_FETCH_ALL}" = "true" ] || ! [ -f "${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX}" ]; then \ ${MKDIR} ${DISTDIR}/${DIST_SUBDIR} && \ cd ${DISTDIR}/${DIST_SUBDIR} && \ ${ECHO} "==> Fetching the oidn/weights subproject with large LFS files" && \ ( \ ${MKDIR} ${WRKDIR}; \ HOME=${WRKDIR}; \ + echo "--1--" && \ git config --global filter.lfs.smudge "git-lfs smudge -- %f" && \ + echo "--2-- WD=`pwd`" && \ git clone -q ${WEIGHTS_GIT_URL} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} && \ + echo "--3--" && \ (cd ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} && git reset -q --hard ${WEIGHTS_GIT_HASH} && ${RM} -r .git) && \ ${RM} -r ${WRKDIR} \ ) && \ ${FIND} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \ ${FIND} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} -print0 | LC_ALL=C ${SORT} -z | \ ${TAR} czf ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX} --format=ustar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \ ${RM} -r ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}; \ fi post-extract: @cd ${WRKSRC} && ${RMDIR} weights && ${LN} -s ${WRKDIR}/${PORTNAME}-weights-${WEIGHTS_GIT_HASH} weights .include diff --git a/graphics/oidn/distinfo b/graphics/oidn/distinfo index a34847df214a..53bb128e9328 100644 --- a/graphics/oidn/distinfo +++ b/graphics/oidn/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1712306981 -SHA256 (oidn-weights-44ff866123ffd6c26bbc27e5e48e8cd4ec8a1a66.tar.gz) = 042707ed810b503c6d6ee0fa0ff1fad48ae04b880f4e7a3ce3efd54ab583e9e7 -SIZE (oidn-weights-44ff866123ffd6c26bbc27e5e48e8cd4ec8a1a66.tar.gz) = 20593214 -SHA256 (OpenImageDenoise-oidn-v2.2.2_GH0.tar.gz) = 2a0bcb4ba11b0ef68c043d65ed7eac52c6c4ba19dde75794d5aecaf03ca367f2 -SIZE (OpenImageDenoise-oidn-v2.2.2_GH0.tar.gz) = 3631104 +TIMESTAMP = 1718696155 +SHA256 (oidn-weights-28883d1769d5930e13cf7f1676dd852bd81ed9e7.tar.gz) = 90726b544f6e8b86a8bc4756e7c0b3da7530d4bab9dd671f2689001b4f9801f7 +SIZE (oidn-weights-28883d1769d5930e13cf7f1676dd852bd81ed9e7.tar.gz) = 46880514 +SHA256 (OpenImageDenoise-oidn-v2.3.0_GH0.tar.gz) = e71555003f972863ace8a7391287c0d74f1adfc875138338f577daf43b269402 +SIZE (OpenImageDenoise-oidn-v2.3.0_GH0.tar.gz) = 3634727 SHA256 (OpenImageDenoise-mkl-dnn-9bea36e_GH0.tar.gz) = b4626c0cf65e64ec16d93f8af7941bccd62385da5ea16fd81de5d26b7cb10f71 SIZE (OpenImageDenoise-mkl-dnn-9bea36e_GH0.tar.gz) = 7191010 SHA256 (ROCmSoftwarePlatform-composable_kernel-e85178b_GH0.tar.gz) = b870ae0dcac8083a239814fff673a83ddd5abfc477b4320af08a2232cd42849c SIZE (ROCmSoftwarePlatform-composable_kernel-e85178b_GH0.tar.gz) = 2153311 SHA256 (NVIDIA-cutlass-66d9cdd_GH0.tar.gz) = 8ab91c8930ad48a4012410b234c743a4df0cf270e60c52b80466da740b6c31a6 SIZE (NVIDIA-cutlass-66d9cdd_GH0.tar.gz) = 15495942 diff --git a/graphics/oidn/files/patch-core_thread.cpp b/graphics/oidn/files/patch-core_thread.cpp index 9ed86331bfa6..708349925e26 100644 --- a/graphics/oidn/files/patch-core_thread.cpp +++ b/graphics/oidn/files/patch-core_thread.cpp @@ -1,56 +1,62 @@ ---- core/thread.cpp.orig 2023-06-24 12:06:59 UTC +--- core/thread.cpp.orig 2024-06-14 23:02:44 UTC +++ core/thread.cpp -@@ -1,6 +1,8 @@ +@@ -1,11 +1,13 @@ // Copyright 2009 Intel Corporation // SPDX-License-Identifier: Apache-2.0 +#include + #if defined(_MSC_VER) #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned #endif -@@ -120,7 +122,7 @@ OIDN_NAMESPACE_BEGIN + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + #include + #include + #elif defined(__APPLE__) +@@ -125,7 +127,7 @@ OIDN_NAMESPACE_BEGIN printWarning("SetThreadGroupAffinity failed"); } -#elif defined(__linux__) +#elif defined(__linux__) || defined(__FreeBSD__) // ----------------------------------------------------------------------------------------------- // ThreadAffinity: Linux -@@ -165,7 +167,7 @@ OIDN_NAMESPACE_BEGIN +@@ -179,7 +181,7 @@ OIDN_NAMESPACE_BEGIN - for (size_t i = 0; i < threadIds.size(); ++i) + for (size_t i = 0; i < threadIDs.size(); ++i) { - cpu_set_t affinity; + cpuset_t affinity; CPU_ZERO(&affinity); - CPU_SET(threadIds[i], &affinity); + CPU_SET(threadIDs[i], &affinity); -@@ -182,7 +184,7 @@ OIDN_NAMESPACE_BEGIN +@@ -196,7 +198,7 @@ OIDN_NAMESPACE_BEGIN const pthread_t thread = pthread_self(); // Save the current affinity - if (pthread_getaffinity_np(thread, sizeof(cpu_set_t), &oldAffinities[threadIndex]) != 0) + if (pthread_getaffinity_np(thread, sizeof(cpuset_t), &oldAffinities[threadIndex]) != 0) { printWarning("pthread_getaffinity_np failed"); oldAffinities[threadIndex] = affinities[threadIndex]; -@@ -190,7 +192,7 @@ OIDN_NAMESPACE_BEGIN +@@ -204,7 +206,7 @@ OIDN_NAMESPACE_BEGIN } // Set the new affinity - if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &affinities[threadIndex]) != 0) + if (pthread_setaffinity_np(thread, sizeof(cpuset_t), &affinities[threadIndex]) != 0) printWarning("pthread_setaffinity_np failed"); } -@@ -202,7 +204,7 @@ OIDN_NAMESPACE_BEGIN +@@ -216,7 +218,7 @@ OIDN_NAMESPACE_BEGIN const pthread_t thread = pthread_self(); // Restore the original affinity - if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &oldAffinities[threadIndex]) != 0) + if (pthread_setaffinity_np(thread, sizeof(cpuset_t), &oldAffinities[threadIndex]) != 0) printWarning("pthread_setaffinity_np failed"); } diff --git a/graphics/oidn/files/patch-core_thread.h b/graphics/oidn/files/patch-core_thread.h index 86c7e1697ca5..13ccbdd34e90 100644 --- a/graphics/oidn/files/patch-core_thread.h +++ b/graphics/oidn/files/patch-core_thread.h @@ -1,34 +1,34 @@ ---- core/thread.h.orig 2023-05-24 17:03:47 UTC +--- core/thread.h.orig 2024-06-14 23:02:44 UTC +++ core/thread.h -@@ -8,6 +8,11 @@ +@@ -9,6 +9,11 @@ #if !defined(_WIN32) #include #include + #if __FreeBSD__ <= 12 + #include + struct _cpuset; + typedef struct _cpuset cpu_set_t; + #endif #if defined(__APPLE__) #include #endif -@@ -130,7 +135,7 @@ OIDN_NAMESPACE_BEGIN +@@ -135,7 +140,7 @@ OIDN_NAMESPACE_BEGIN std::vector oldAffinities; // original thread affinities }; -#elif defined(__linux__) +#elif defined(__linux__) || defined(__FreeBSD__) // ----------------------------------------------------------------------------------------------- // ThreadAffinity: Linux -@@ -153,8 +158,8 @@ OIDN_NAMESPACE_BEGIN - void restore(int threadIndex); +@@ -161,8 +166,8 @@ OIDN_NAMESPACE_BEGIN + // Parses a list of numbers from a file in /sys/devices/system + static std::vector parseList(const std::string& filename); - private: - std::vector affinities; // thread affinities - std::vector oldAffinities; // original thread affinities + std::vector affinities; // thread affinities + std::vector oldAffinities; // original thread affinities }; #elif defined(__APPLE__)