[Bf-blender-cvs] [3f1606cb7cd] master: build_environment: osl work around shutdown issues.

Ray Molenkamp noreply at git.blender.org
Sun Aug 26 03:41:21 CEST 2018


Commit: 3f1606cb7cda98921a22bf1e1ee0dd74ceede246
Author: Ray Molenkamp
Date:   Sat Aug 25 19:35:45 2018 -0600
Branches: master
https://developer.blender.org/rB3f1606cb7cda98921a22bf1e1ee0dd74ceede246

build_environment: osl work around shutdown issues.

there is an issue with objects destructing in a non deterministic way during process shutdown, temporary work around this until osl has a fix in place.

===================================================================

M	build_files/build_environment/cmake/osl.cmake
M	build_files/build_environment/patches/osl.diff

===================================================================

diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake
index e73a4041405..ad679449f36 100644
--- a/build_files/build_environment/cmake/osl.cmake
+++ b/build_files/build_environment/cmake/osl.cmake
@@ -83,7 +83,7 @@ ExternalProject_Add(external_osl
 	LIST_SEPARATOR ^^
 	URL_HASH MD5=${OSL_HASH}
 	PREFIX ${BUILD_DIR}/osl
-	PATCH_COMMAND ${PATCH_CMD} -p 3 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff
+	PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff
 	#	${PATCH_CMD} -p 0 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl_simd_oiio.diff
 	CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS}
 	INSTALL_DIR ${LIBDIR}/osl
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index fcb5ec4165f..36cda06f394 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -1,6 +1,6 @@
-diff -Naur osl/src/external_osl/src/cmake/flexbison.cmake osl_bak/src/external_osl/src/cmake/flexbison.cmake
---- osl/src/external_osl//src/cmake/flexbison.cmake	2016-01-29 11:15:22 -0700
-+++ osl_bak/src/external_osl/src/cmake/flexbison.cmake	2016-02-29 21:26:26 -0700
+diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake external_osl/src/cmake/flexbison.cmake
+--- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake	2018-05-01 16:39:02 -0600
++++ external_osl/src/cmake/flexbison.cmake	2018-08-23 15:42:27 -0600
 @@ -77,7 +77,7 @@
            DEPENDS ${${compiler_headers}}
            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
@@ -10,3 +10,65 @@ diff -Naur osl/src/external_osl/src/cmake/flexbison.cmake osl_bak/src/external_o
            MAIN_DEPENDENCY ${flexsrc}
            DEPENDS ${${compiler_headers}}
            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
+diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej external_osl/src/cmake/flexbison.cmake.rej
+--- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej	1969-12-31 17:00:00 -0700
++++ external_osl/src/cmake/flexbison.cmake.rej	2018-08-24 17:42:11 -0600
+@@ -0,0 +1,11 @@
++--- src/cmake/flexbison.cmake	2018-05-01 16:39:02 -0600
+++++ src/cmake/flexbison.cmake	2018-08-24 10:24:03 -0600
++@@ -77,7 +77,7 @@
++           DEPENDS ${${compiler_headers}}
++           WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
++         ADD_CUSTOM_COMMAND ( OUTPUT ${flexoutputcxx} 
++-          COMMAND ${FLEX_EXECUTABLE} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
+++          COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXTRA_OPTIONS} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
++           MAIN_DEPENDENCY ${flexsrc}
++           DEPENDS ${${compiler_headers}}
++           WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
+diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
+--- OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h	2018-05-01 16:39:02 -0600
++++ external_osl/src/include/OSL/llvm_util.h	2018-08-25 14:05:00 -0600
+@@ -33,6 +33,8 @@
+ 
+ #include <vector>
+ 
++#define OSL_HAS_BLENDER_CLEANUP_FIX
++
+ #ifdef LLVM_NAMESPACE
+ namespace llvm = LLVM_NAMESPACE;
+ #endif
+@@ -487,6 +489,7 @@
+     std::string func_name (llvm::Function *f);
+ 
+     static size_t total_jit_memory_held ();
++    static void Cleanup ();
+ 
+ private:
+     class MemoryManager;
+diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h external_osl/src/include/OSL/oslnoise.h
+--- OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h	2018-05-01 16:39:02 -0600
++++ external_osl/src/include/OSL/oslnoise.h	2018-08-24 17:42:11 -0600
+@@ -762,7 +762,7 @@
+ // packed into a float4. We assume T is float and VECTYPE is float4,
+ // but it also works if T is Dual2<float> and VECTYPE is Dual2<float4>.
+ template<typename T, typename VECTYPE>
+-OIIO_FORCEINLINE T bilerp (VECTYPE abcd, T u, T v) {
++OIIO_FORCEINLINE T bilerp (VECTYPE& abcd, T u, T v) {
+     VECTYPE xx = OIIO::lerp (abcd, OIIO::simd::shuffle<1,1,3,3>(abcd), u);
+     return OIIO::simd::extract<0>(OIIO::lerp (xx,OIIO::simd::shuffle<2>(xx), v));
+ }
+diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
+--- OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp	2018-05-01 16:39:02 -0600
++++ external_osl/src/liboslexec/llvm_util.cpp	2018-08-25 14:04:27 -0600
+@@ -140,7 +140,10 @@
+ };
+ 
+ 
+-
++void LLVM_Util::Cleanup ()
++{
++       jitmm_hold.clear();
++}
+ 
+ size_t
+ LLVM_Util::total_jit_memory_held ()



More information about the Bf-blender-cvs mailing list