THis is bumping dependencies to fix known CVEs, with the exception of OpenImageIO which also includes bugfixes for performance and correctness with some image types. zlib 1.2.12 -> 1.2.13 freetype 2.11.1 -> 2.12.1 openimageio 2.3.13.0 -> 2.3.20.0 python 3.10.2 -> 3.10.8 openjpeg 2.4.0 -> 2.5.0 ffmpeg 5.0 -> 5.1.2 sndfile 1.0.28 -> 1.1.0 xml2 2.9.10 -> 2.10.3 expat 2.4.4 -> 2.4.9 openssl 1.1.1g/i -> 1.1.1q sqlite 3.31.1 -> 3.37.2 Notable changes: * AOM: the hack we had in place to make it not detect pthreads on windows no longer worked with a more recent cmake version. Disabled pthreads with a diff on Windows. * Python: embedded copy of zlib 2.1.12 swapped out for our 2.1.13 copy with some folder manipulation on Windows. * Freetype: was harbouring a copy of zlib 2.1.12 as well, so that had to end. * FFmpeg: patch used to fix D11796 is no longer needed. Add new patch to deal with simple_idct.asm generating an object file with no sections in it, backport from upstream commit. * TinyXML: still being downloaded but no longer used by OpenColorIO, removed. * GMP applied upstream patch to fix CVE-2021-43618, as there is no release yet. * SQLite and Libsndfile patches no longer needed. Includes contributes by Ray Molenkamp, Campbell Barton and Brecht Van Lommel. Ref T101403 Differential Revision: https://developer.blender.org/D16269
112 lines
3.7 KiB
Diff
112 lines
3.7 KiB
Diff
diff -Naur OpenShadingLanguage-1.12.6.2/CMakeLists.txt external_osl/CMakeLists.txt
|
|
--- OpenShadingLanguage-1.12.6.2/CMakeLists.txt 2022-09-30 17:43:53 -0600
|
|
+++ external_osl/CMakeLists.txt 2022-10-15 14:49:26 -0600
|
|
@@ -101,6 +101,11 @@
|
|
CACHE STRING "Directory where OptiX PTX files will be installed")
|
|
set (CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library naming postfix for Debug builds (e.g., '_debug')")
|
|
|
|
+set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
|
+if (USE_OIIO_STATIC)
|
|
+ add_definitions ("-DOIIO_STATIC_BUILD=1")
|
|
+ add_definitions ("-DOIIO_STATIC_DEFINE=1")
|
|
+endif ()
|
|
|
|
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
|
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
|
diff -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
|
--- OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake 2022-09-30 17:43:53 -0600
|
|
+++ external_osl/src/cmake/externalpackages.cmake 2022-10-15 14:49:26 -0600
|
|
@@ -77,6 +77,7 @@
|
|
|
|
|
|
checked_find_package (ZLIB REQUIRED) # Needed by several packages
|
|
+checked_find_package (PNG REQUIRED) # Needed since OIIO needs it
|
|
|
|
# IlmBase & OpenEXR
|
|
checked_find_package (OpenEXR REQUIRED
|
|
diff -Naur OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
|
|
--- OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h 2022-09-30 17:43:53 -0600
|
|
+++ external_osl/src/include/OSL/llvm_util.h 2022-10-15 15:37:24 -0600
|
|
@@ -9,6 +9,8 @@
|
|
#include <unordered_set>
|
|
#include <vector>
|
|
|
|
+#define OSL_HAS_BLENDER_CLEANUP_FIX
|
|
+
|
|
#ifdef LLVM_NAMESPACE
|
|
namespace llvm = LLVM_NAMESPACE;
|
|
#endif
|
|
@@ -455,7 +457,7 @@
|
|
llvm::BasicBlock* masked_return_block() const;
|
|
|
|
bool is_masking_required() const { return m_is_masking_required; }
|
|
-
|
|
+ static void Cleanup ();
|
|
struct ScopedMasking {
|
|
ScopedMasking() {}
|
|
|
|
diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
|
|
--- OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp 2022-09-30 17:43:53 -0600
|
|
+++ external_osl/src/liboslcomp/oslcomp.cpp 2022-10-15 14:49:26 -0600
|
|
@@ -21,6 +21,13 @@
|
|
#if !defined(__STDC_CONSTANT_MACROS)
|
|
# define __STDC_CONSTANT_MACROS 1
|
|
#endif
|
|
+
|
|
+// clang uses CALLBACK in its templates which causes issues if it is already defined
|
|
+#ifdef _WIN32 && defined(CALLBACK)
|
|
+# undef CALLBACK
|
|
+#endif
|
|
+
|
|
+//
|
|
#include <clang/Basic/TargetInfo.h>
|
|
#include <clang/Frontend/CompilerInstance.h>
|
|
#include <clang/Frontend/TextDiagnosticPrinter.h>
|
|
diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
|
|
--- OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp 2022-09-30 17:43:53 -0600
|
|
+++ external_osl/src/liboslexec/llvm_util.cpp 2022-10-15 15:53:11 -0600
|
|
@@ -116,8 +116,6 @@
|
|
return { A.data(), size_t(A.size()) };
|
|
}
|
|
|
|
-
|
|
-
|
|
namespace pvt {
|
|
|
|
typedef llvm::SectionMemoryManager LLVMMemoryManager;
|
|
@@ -182,6 +180,13 @@
|
|
++jit_mem_hold_users;
|
|
}
|
|
|
|
+void
|
|
+LLVM_Util::Cleanup()
|
|
+{
|
|
+ if (jitmm_hold)
|
|
+ jitmm_hold->clear();
|
|
+}
|
|
+
|
|
|
|
LLVM_Util::ScopedJitMemoryUser::~ScopedJitMemoryUser()
|
|
{
|
|
diff --git a/src/include/OSL/mask.h b/src/include/OSL/mask.h
|
|
index 24197af..b9275f6 100644
|
|
--- a/src/include/OSL/mask.h
|
|
+++ b/src/include/OSL/mask.h
|
|
@@ -4,7 +4,6 @@
|
|
|
|
#pragma once
|
|
|
|
-#include <immintrin.h>
|
|
#include <type_traits>
|
|
|
|
#include <OSL/oslconfig.h>
|
|
@@ -23,6 +22,8 @@ using std::countr_zero;
|
|
|
|
#elif OSL_INTEL_CLASSIC_COMPILER_VERSION
|
|
|
|
+#include <immintrin.h>
|
|
+
|
|
OSL_FORCEINLINE int popcount(uint32_t x) noexcept { return _mm_popcnt_u32(x);}
|
|
OSL_FORCEINLINE int popcount(uint64_t x) noexcept { return _mm_popcnt_u64(x); }
|
|
OSL_FORCEINLINE int countr_zero(uint32_t x) noexcept { return _bit_scan_forward(x); }
|