blender/build_files/build_environment/patches/oidn.diff
Attila Áfra dfd9f9066b Build: Upgrade OIDN to 2.3.0 final
This upgrades OIDN to the final 2.3.0 release.

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/123433
2024-06-19 17:53:40 +02:00

78 lines
3.1 KiB
Diff

diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 38f04e2..2b58ad6 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -95,6 +95,7 @@ set_target_properties(OpenImageDenoise_core PROPERTIES
)
target_compile_definitions(OpenImageDenoise_core PRIVATE OIDN_LIBRARY_NAME="${OIDN_LIBRARY_NAME}")
+target_compile_definitions(OpenImageDenoise_core PRIVATE SHARED_POSTFIX=\"$<$<CONFIG:Debug>:$<TARGET_PROPERTY:OpenImageDenoise_core,DEBUG_POSTFIX>>\")
target_link_libraries(OpenImageDenoise_core
PUBLIC
diff --git a/core/module.cpp b/core/module.cpp
index ba765be..19d67f8 100644
--- a/core/module.cpp
+++ b/core/module.cpp
@@ -29,7 +29,7 @@ OIDN_NAMESPACE_BEGIN
return true; // module already loaded
// Get the path of the module to load
- std::string filename = OIDN_LIBRARY_NAME "_" + name;
+ std::string filename = OIDN_LIBRARY_NAME "_" + name + SHARED_POSTFIX;
#if defined(_WIN32)
filename += ".dll";
#else
@@ -37,7 +37,8 @@ OIDN_NAMESPACE_BEGIN
"." + toString(OIDN_VERSION_MINOR) +
"." + toString(OIDN_VERSION_PATCH);
#if defined(__APPLE__)
- filename = "lib" + filename + versionStr + ".dylib";
+ // BLENDER: version string is stripped on macOS.
+ filename = "lib" + filename + ".dylib";
#else
filename = "lib" + filename + ".so" + versionStr;
#endif
diff --git a/devices/CMakeLists.txt b/devices/CMakeLists.txt
index 03937dc..8dcc236 100644
--- a/devices/CMakeLists.txt
+++ b/devices/CMakeLists.txt
@@ -66,6 +66,7 @@ if(OIDN_DEVICE_CUDA)
-DOIDN_WARN_AS_ERRORS:BOOL=${OIDN_WARN_AS_ERRORS}
-DOIDN_SANITIZER:STRING=${OIDN_SANITIZER}
-DOIDN_DEVICE_CUDA_API:STRING=${OIDN_DEVICE_CUDA_API}
+ -DPython_EXECUTABLE:STRING=${Python_EXECUTABLE}
BUILD_ALWAYS TRUE
DEPENDS
OpenImageDenoise_core
@@ -157,6 +158,8 @@ 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}
+ -DPython_EXECUTABLE:STRING=${Python_EXECUTABLE}
+ -DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
BUILD_ALWAYS TRUE
DEPENDS
OpenImageDenoise_core
diff --git a/devices/hip/hip_device.cpp b/devices/hip/hip_device.cpp
index 5842895..8272124 100644
--- a/devices/hip/hip_device.cpp
+++ b/devices/hip/hip_device.cpp
@@ -93,10 +93,16 @@ OIDN_NAMESPACE_BEGIN
{
const std::string name = getArchName(prop);
+ // BLENDER: this comment is meant to generate a merge conflict if the code
+ // here changes, so we know that hipSupportsDeviceOIDN should be updated.
if (name == "gfx1030")
return HIPArch::DL;
+ // BLENDER: this comment is meant to generate a merge conflict if the code
+ // here changes, so we know that hipSupportsDeviceOIDN should be updated.
if (name == "gfx1100" || name == "gfx1101" || name == "gfx1102")
return HIPArch::WMMA;
+ // BLENDER: this comment is meant to generate a merge conflict if the code
+ // here changes, so we know that hipSupportsDeviceOIDN should be updated.
else
return HIPArch::Unknown;
}