From ad1ce52b78bc903dd6a6e4f46fed99443c7ef15a Mon Sep 17 00:00:00 2001 From: Alex Fuller Date: Thu, 25 Jul 2024 23:27:20 +1000 Subject: [PATCH] Cycles : Updated to 4.2.0 --- Cycles/config.py | 5 +-- Cycles/patches/cudaBinaries.patch | 17 +++++----- Cycles/patches/iorDefaults.patch | 28 ----------------- Cycles/patches/precompiledLibsToggle.patch | 36 ++++++++++++++++++++++ 4 files changed, 48 insertions(+), 38 deletions(-) delete mode 100644 Cycles/patches/iorDefaults.patch create mode 100644 Cycles/patches/precompiledLibsToggle.patch diff --git a/Cycles/config.py b/Cycles/config.py index 989815f09a..e482a4bb95 100644 --- a/Cycles/config.py +++ b/Cycles/config.py @@ -2,7 +2,7 @@ "downloads" : [ - "https://github.com/blender/cycles/archive/refs/tags/v4.0.2.tar.gz", + "https://github.com/blender/cycles/archive/refs/tags/v4.2.0.tar.gz", ], @@ -10,7 +10,7 @@ "license" : "LICENSE", - "dependencies" : [ "Boost", "OpenJPEG", "OpenImageIO", "TBB", "Alembic", "Embree", "OpenColorIO", "OpenVDB", "OpenShadingLanguage", "OpenSubdiv", "OpenPGL", "LibWebP" ], + "dependencies" : [ "Boost", "OpenJPEG", "OpenImageIO", "TBB", "Alembic", "Embree", "OpenColorIO", "OpenVDB", "OpenShadingLanguage", "OpenSubdiv", "OpenPGL", "LibWebP", "ZStd" ], "commands" : [ @@ -28,6 +28,7 @@ " -D WITH_CYCLES_DEVICE_OPTIX=ON" " -D WITH_CYCLES_HYDRA_RENDER_DELEGATE=OFF" " -D CMAKE_POSITION_INDEPENDENT_CODE=ON" + " -D WITH_CYCLES_DEPENDENCIES=OFF" " -D WITH_CYCLES_USD=OFF" " ..", "cd build && make install -j {jobs} VERBOSE=1", diff --git a/Cycles/patches/cudaBinaries.patch b/Cycles/patches/cudaBinaries.patch index 07aa827d95..06f15c4efd 100644 --- a/Cycles/patches/cudaBinaries.patch +++ b/Cycles/patches/cudaBinaries.patch @@ -1,10 +1,11 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -120,7 +120,7 @@ - mark_as_advanced(WITH_CYCLES_DEVICE_CUDA) - - option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF) -- set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 compute_75 CACHE STRING "CUDA architectures to build binaries for") -+ set(CYCLES_CUDA_BINARIES_ARCH sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 compute_75 CACHE STRING "CUDA architectures to build binaries for") - option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) - option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON) +@@ -122,7 +122,7 @@ if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")) + + option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF) + set(CYCLES_CUDA_BINARIES_ARCH +- sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 compute_75 ++ sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 compute_75 + CACHE STRING "CUDA architectures to build binaries for" + ) + option(WITH_CYCLES_CUDA_BUILD_SERIAL "\ diff --git a/Cycles/patches/iorDefaults.patch b/Cycles/patches/iorDefaults.patch deleted file mode 100644 index 3923cfcfb2..0000000000 --- a/Cycles/patches/iorDefaults.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/src/scene/shader_nodes.cpp -+++ b/src/scene/shader_nodes.cpp -@@ -2425,7 +2425,7 @@ NODE_DEFINE(GlassBsdfNode) - SOCKET_ENUM( - distribution, "Distribution", distribution_enum, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID); - SOCKET_IN_FLOAT(roughness, "Roughness", 0.0f); -- SOCKET_IN_FLOAT(IOR, "IOR", 0.3f); -+ SOCKET_IN_FLOAT(IOR, "IOR", 1.5f); - - SOCKET_OUT_CLOSURE(BSDF, "BSDF"); - -@@ -2623,7 +2623,7 @@ NODE_DEFINE(PrincipledBsdfNode) - SOCKET_IN_COLOR(base_color, "Base Color", make_float3(0.8f, 0.8f, 0.8f)) - SOCKET_IN_FLOAT(metallic, "Metallic", 0.0f); - SOCKET_IN_FLOAT(roughness, "Roughness", 0.5f); -- SOCKET_IN_FLOAT(ior, "IOR", 0.0f); -+ SOCKET_IN_FLOAT(ior, "IOR", 1.5f); - SOCKET_IN_FLOAT(alpha, "Alpha", 1.0f); - SOCKET_IN_NORMAL(normal, "Normal", zero_float3(), SocketType::LINK_NORMAL); - -@@ -5781,7 +5781,7 @@ NODE_DEFINE(FresnelNode) - - SOCKET_IN_NORMAL( - normal, "Normal", zero_float3(), SocketType::LINK_NORMAL | SocketType::OSL_INTERNAL); -- SOCKET_IN_FLOAT(IOR, "IOR", 1.45f); -+ SOCKET_IN_FLOAT(IOR, "IOR", 1.5f); - - SOCKET_OUT_FLOAT(fac, "Fac"); diff --git a/Cycles/patches/precompiledLibsToggle.patch b/Cycles/patches/precompiledLibsToggle.patch new file mode 100644 index 0000000000..eeb553038b --- /dev/null +++ b/Cycles/patches/precompiledLibsToggle.patch @@ -0,0 +1,36 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,6 +92,9 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS + ########################################################################### + # Options. + ++# Use precompiled dependencies ++option(WITH_CYCLES_DEPENDENCIES "Use precompiled dependencies" ON) ++ + # Library dependencies + option(WITH_CYCLES_ALEMBIC "Build with Alembic procedural support" ON) + option(WITH_CYCLES_EMBREE "Build with Embree support" ON) +--- a/src/cmake/external_libs.cmake ++++ b/src/cmake/external_libs.cmake +@@ -67,7 +67,7 @@ else() + endif() + endif() + +-if(EXISTS ${_cycles_lib_dir}) ++if(EXISTS ${_cycles_lib_dir} AND WITH_CYCLES_DEPENDENCIES) + message(STATUS "Using precompiled libraries at ${_cycles_lib_dir}") + + _set_default(ALEMBIC_ROOT_DIR "${_cycles_lib_dir}/alembic") +@@ -118,7 +118,11 @@ if(EXISTS ${_cycles_lib_dir}) + # Ignore system libraries + set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}") + else() +- message(STATUS "No precompiled libraries found at ${_cycles_lib_dir}") ++ if(NOT WITH_CYCLES_DEPENDENCIES) ++ message(STATUS "Not using precompiled libraries") ++ else() ++ message(STATUS "No precompiled libraries found at ${_cycles_lib_dir}") ++ endif() + message(STATUS "Attempting to use system libraries instead") + unset(_cycles_lib_dir) + endif()