Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files/build_environment/patches/osl.diff')
-rw-r--r--build_files/build_environment/patches/osl.diff61
1 files changed, 46 insertions, 15 deletions
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index cd1b58bf580..8553115b50d 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -63,19 +63,50 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
-diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
-index 445f6400..3d468de2 100644
---- a/src/liboslexec/llvm_util.cpp
-+++ b/src/liboslexec/llvm_util.cpp
-@@ -3430,8 +3430,9 @@ LLVM_Util::call_function (llvm::Value *func, cspan<llvm::Value *> args)
- #endif
- //llvm_gen_debug_printf (std::string("start ") + std::string(name));
- #if OSL_LLVM_VERSION >= 110
-- OSL_DASSERT(llvm::isa<llvm::Function>(func));
-- llvm::Value *r = builder().CreateCall(llvm::cast<llvm::Function>(func), llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
-+ llvm::Value* r = builder().CreateCall(
-+ llvm::cast<llvm::FunctionType>(func->getType()->getPointerElementType()), func,
-+ llvm::ArrayRef<llvm::Value*>(args.data(), args.size()));
- #else
- llvm::Value *r = builder().CreateCall (func, llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 990f50d69..46ef7351d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -252,11 +252,9 @@ install (EXPORT OSL_EXPORTED_TARGETS
+ FILE ${OSL_TARGETS_EXPORT_NAME}
+ NAMESPACE ${PROJECT_NAME}::)
+
+-
+-
+-
+-osl_add_all_tests()
+-
++if (${PROJECT_NAME}_BUILD_TESTS AND NOT ${PROJECT_NAME}_IS_SUBPROJECT)
++ osl_add_all_tests()
++endif ()
+
+ if (NOT ${PROJECT_NAME}_IS_SUBPROJECT)
+ include (packaging)
+diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
+--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
++++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
+@@ -80,6 +80,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 external_osl_orig/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
+--- external_osl_orig/src/liboslcomp/oslcomp.cpp 2021-06-01 13:44:18 -0600
++++ external_osl/src/liboslcomp/oslcomp.cpp 2021-06-28 09:11:06 -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>