[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61608] trunk/lib/windows_vc12/osl: MSVC 2013 windows x32 (vc120_xp, windows XP compatible) OSL 1.6.9

Martijn Berger martijn.berger at gmail.com
Tue Jan 26 16:41:00 CET 2016


Revision: 61608
          https://developer.blender.org/rBL61608
Author:   juicyfruit
Date:     2016-01-26 15:40:57 +0000 (Tue, 26 Jan 2016)
Log Message:
-----------
MSVC 2013 windows x32 (vc120_xp, windows XP compatible)  OSL 1.6.9

Modified Paths:
--------------
    trunk/lib/windows_vc12/osl/build.bat
    trunk/lib/windows_vc12/osl/include/OSL/accum.h
    trunk/lib/windows_vc12/osl/include/OSL/dual.h
    trunk/lib/windows_vc12/osl/include/OSL/dual_vec.h
    trunk/lib/windows_vc12/osl/include/OSL/genclosure.h
    trunk/lib/windows_vc12/osl/include/OSL/llvm_util.h
    trunk/lib/windows_vc12/osl/include/OSL/oslcomp.h
    trunk/lib/windows_vc12/osl/include/OSL/oslconfig.h
    trunk/lib/windows_vc12/osl/include/OSL/oslexec.h
    trunk/lib/windows_vc12/osl/include/OSL/oslversion.h
    trunk/lib/windows_vc12/osl/include/OSL/rendererservices.h
    trunk/lib/windows_vc12/osl/include/OSL/shaderglobals.h
    trunk/lib/windows_vc12/osl/lib/libtestshade.lib
    trunk/lib/windows_vc12/osl/lib/libtestshade_d.lib
    trunk/lib/windows_vc12/osl/lib/oslcomp.lib
    trunk/lib/windows_vc12/osl/lib/oslcomp_d.lib
    trunk/lib/windows_vc12/osl/lib/oslexec.lib
    trunk/lib/windows_vc12/osl/lib/oslexec_d.lib
    trunk/lib/windows_vc12/osl/lib/oslquery.lib
    trunk/lib/windows_vc12/osl/lib/oslquery_d.lib

Modified: trunk/lib/windows_vc12/osl/build.bat
===================================================================
--- trunk/lib/windows_vc12/osl/build.bat	2016-01-26 15:29:05 UTC (rev 61607)
+++ trunk/lib/windows_vc12/osl/build.bat	2016-01-26 15:40:57 UTC (rev 61608)
@@ -3,7 +3,8 @@
 
 set LIBDIR=%CD%\..
 set LIBNAME=osl
-set OSL_VERSION=1.5.10
+set OSL_VERSION=1.6.9
+
 set "OSL_SOURCE=https://github.com/imageworks/OpenShadingLanguage/archive/Release-%OSL_VERSION%.zip"
 
 :: create build directory
@@ -19,10 +20,10 @@
 
 call :CheckTargetArch
 
-if not exist OpenShadingLanguage-Release-%OIIO_VERSION% (
-    echo getting source
-    call :PrepareSource
-)
+:: if not exist OpenShadingLanguage-Release-%OIIO_VERSION% (
+::    echo getting source
+::    call :PrepareSource
+::)
 
 echo Calling Build
 IF [%1]==[DEBUG] (
@@ -37,22 +38,26 @@
 :Build
 cd OpenShadingLanguage-Release-%OSL_VERSION%
 :: create build directory
+rmdir /s build
 mkdir build\windows
 cd build\windows
 
 cmake -G "NMake Makefiles" ..\..\ ^
  -DCMAKE_INSTALL_PREFIX=%LIBDIR%\osl ^
- -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /DPSAPI_VERSION=1 /RTC1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
+ -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /DPSAPI_VERSION=1 /RTC1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
  -DCMAKE_CXX_STANDARD_LIBRARIES:STRING="kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib psapi.lib" ^
  -DBUILDSTATIC=ON ^
  -DOPENIMAGEIOHOME=%LIBDIR%\OpenImageIO ^
  -DOPENIMAGEIO_LIBRARY=%LIBDIR%\openimageio\lib\OpenImageIO_Util.lib;%LIBDIR%\openimageio\lib\OpenImageIO.lib;%LIBDIR%\png\lib\libpng.lib;%LIBDIR%\jpeg\lib\libjpeg.lib;%LIBDIR%\tiff\lib\libtiff.lib;%LIBDIR%\openexr\lib\Half.lib;%LIBDIR%\openexr\lib\Imath-2_2.lib;%LIBDIR%\openexr\lib\IlmImf-2_2.lib;%LIBDIR%\openexr\lib\Iex-2_2.lib;%LIBDIR%\openexr\lib\IlmThread-2_2.lib ^
  -DBOOST_ROOT=%LIBDIR%\boost ^
+ -DBoost_COMPILER:STRING="-vc120" ^
+ -DBoost_USE_MULTITHREADED=ON ^
  -DBoost_USE_STATIC_LIBS=ON ^
  -DBoost_USE_STATIC_RUNTIME=ON ^
+ -DBOOST_LIBRARYDIR=%LIBDIR%\boost\lib ^
  -DZLIB_INCLUDE_DIR=%LIBDIR%\zlib\include ^
  -DZLIB_LIBRARY=%LIBDIR%\zlib\lib\libz_st.lib ^
  -DFLEX_EXECUTABLE=%LIBDIR%\osl\flex_bison\bin\win_flex.exe ^
@@ -68,6 +73,7 @@
  -DLLVM_LIBRARY=%LIBDIR%\llvm\lib\LLVMAnalysis.lib;%LIBDIR%\llvm\lib\LLVMAsmParser.lib;%LIBDIR%\llvm\lib\LLVMAsmPrinter.lib;%LIBDIR%\llvm\lib\LLVMBitReader.lib;%LIBDIR%\llvm\lib\LLVMBitWriter.lib;%LIBDIR%\llvm\lib\LLVMCodeGen.lib;%LIBDIR%\llvm\lib\LLVMCore.lib;%LIBDIR%\llvm\lib\LLVMDebugInfo.lib;%LIBDIR%\llvm\lib\LLVMExecutionEngine.lib;%LIBDIR%\llvm\lib\LLVMInstCombine.lib;%LIBDIR%\llvm\lib\LLVMInstrumentation.lib;%LIBDIR%\llvm\lib\LLVMInterpreter.lib;%LIBDIR%\llvm\lib\LLVMJIT.lib;%LIBDIR%\llvm\lib\LLVMLinker.lib;%LIBDIR%\llvm\lib\LLVMMC.lib;%LIBDIR%\llvm\lib\LLVMMCDisassembler.lib;%LIBDIR%\llvm\lib\LLVMMCJIT.lib;%LIBDIR%\llvm\lib\LLVMMCParser.lib;%LIBDIR%\llvm\lib\LLVMObject.lib;%LIBDIR%\llvm\lib\LLVMRuntimeDyld.lib;%LIBDIR%\llvm\lib\LLVMScalarOpts.lib;%LIBDIR%\llvm\lib\LLVMSelectionDAG.lib;%LIBDIR%\llvm\lib\LLVMSupport.lib;%LIBDIR%\llvm\lib\LLVMTableGen.lib;%LIBDIR%\llvm\lib\LLVMTarget.lib;%LIBDIR%\llvm\lib\LLVMTransformUtils.lib;%LIBDIR%\llvm\lib\LLVMVectorize.lib;%LIBDIR%\llvm\
 lib\LLVMX86AsmParser.lib;%LIBDIR%\llvm\lib\LLVMX86AsmPrinter.lib;%LIBDIR%\llvm\lib\LLVMX86CodeGen.lib;%LIBDIR%\llvm\lib\LLVMX86Desc.lib;%LIBDIR%\llvm\lib\LLVMX86Disassembler.lib;%LIBDIR%\llvm\lib\LLVMX86Info.lib;%LIBDIR%\llvm\lib\LLVMX86Utils.lib;%LIBDIR%\llvm\lib\LLVMipa.lib;%LIBDIR%\llvm\lib\LLVMipo.lib ^
  -DILMBASE_HOME=%LIBDIR%\openexr ^
  -DILMBASE_VERSION=2_2 ^
+ -DUSE_SIMD=0 ^
  -DCMAKE_BUILD_TYPE=Release
 
 nmake install
@@ -79,15 +85,16 @@
 :Build_debug
 cd OpenShadingLanguage-Release-%OSL_VERSION%
 :: create build directory
+rmdir /s build
 mkdir build\windows_debug
 cd build\windows_debug
 
 cmake -G "NMake Makefiles" ..\..\ ^
  -DCMAKE_INSTALL_PREFIX=%LIBDIR%\osl\debug ^
- -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /DPSAPI_VERSION=1 /RTC1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS" ^
+ -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /DPSAPI_VERSION=1 /RTC1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /DPSAPI_VERSION=1 /D NDEBUG /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS " ^
  -DCMAKE_CXX_STANDARD_LIBRARIES:STRING="kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib psapi.lib" ^
  -DBUILDSTATIC=ON ^
  -DOPENIMAGEIOHOME=%LIBDIR%\OpenImageIO ^
@@ -111,6 +118,7 @@
  -DLLVM_LIBRARY=%LIBDIR%\llvm\debug\lib\LLVMAnalysis.lib;%LIBDIR%\llvm\debug\lib\LLVMAsmParser.lib;%LIBDIR%\llvm\debug\lib\LLVMAsmPrinter.lib;%LIBDIR%\llvm\debug\lib\LLVMBitReader.lib;%LIBDIR%\llvm\debug\lib\LLVMBitWriter.lib;%LIBDIR%\llvm\debug\lib\LLVMCodeGen.lib;%LIBDIR%\llvm\debug\lib\LLVMCore.lib;%LIBDIR%\llvm\debug\lib\LLVMDebugInfo.lib;%LIBDIR%\llvm\debug\lib\LLVMExecutionEngine.lib;%LIBDIR%\llvm\debug\lib\LLVMInstCombine.lib;%LIBDIR%\llvm\debug\lib\LLVMInstrumentation.lib;%LIBDIR%\llvm\debug\lib\LLVMInterpreter.lib;%LIBDIR%\llvm\debug\lib\LLVMJIT.lib;%LIBDIR%\llvm\debug\lib\LLVMLinker.lib;%LIBDIR%\llvm\debug\lib\LLVMMC.lib;%LIBDIR%\llvm\debug\lib\LLVMMCDisassembler.lib;%LIBDIR%\llvm\debug\lib\LLVMMCJIT.lib;%LIBDIR%\llvm\debug\lib\LLVMMCParser.lib;%LIBDIR%\llvm\debug\lib\LLVMObject.lib;%LIBDIR%\llvm\debug\lib\LLVMRuntimeDyld.lib;%LIBDIR%\llvm\debug\lib\LLVMScalarOpts.lib;%LIBDIR%\llvm\debug\lib\LLVMSelectionDAG.lib;%LIBDIR%\llvm\debug\lib\LLVMSupport.lib;%LIBDIR%\llvm\debug\l
 ib\LLVMTableGen.lib;%LIBDIR%\llvm\debug\lib\LLVMTarget.lib;%LIBDIR%\llvm\debug\lib\LLVMTransformUtils.lib;%LIBDIR%\llvm\debug\lib\LLVMVectorize.lib;%LIBDIR%\llvm\debug\lib\LLVMX86AsmParser.lib;%LIBDIR%\llvm\debug\lib\LLVMX86AsmPrinter.lib;%LIBDIR%\llvm\debug\lib\LLVMX86CodeGen.lib;%LIBDIR%\llvm\debug\lib\LLVMX86Desc.lib;%LIBDIR%\llvm\debug\lib\LLVMX86Disassembler.lib;%LIBDIR%\llvm\debug\lib\LLVMX86Info.lib;%LIBDIR%\llvm\debug\lib\LLVMX86Utils.lib;%LIBDIR%\llvm\debug\lib\LLVMipa.lib;%LIBDIR%\llvm\debug\lib\LLVMipo.lib ^
  -DILMBASE_HOME=%LIBDIR%\openexr ^
  -DILMBASE_VERSION=2_2 ^
+ -DUSE_SIMD=0 ^
  -DCMAKE_BUILD_TYPE=Debug
 
 nmake install
@@ -142,6 +150,9 @@
 if not exist OpenShadingLanguage-Release-%OSL_VERSION% (
     echo Extraction source to OSL-%OSL_VERSION%
     unzip OpenShadingLanguage-Release-%OSL_VERSION%.zip
+	cd OpenShadingLanguage-Release-%OSL_VERSION%
+	patch -p1 < ..\osl_fixes_msvc2013.diff
+	cd ..
 )
 goto:eof
 

Modified: trunk/lib/windows_vc12/osl/include/OSL/accum.h
===================================================================
--- trunk/lib/windows_vc12/osl/include/OSL/accum.h	2016-01-26 15:29:05 UTC (rev 61607)
+++ trunk/lib/windows_vc12/osl/include/OSL/accum.h	2016-01-26 15:40:57 UTC (rev 61608)
@@ -130,6 +130,11 @@
 
         ~AccumAutomata();
 
+        /// Support the given symbol as event tag on lpe expressions
+        void addEventType(ustring symbol) { m_user_events.push_back(symbol); };
+        /// Support the given symbol as scattering tag on lpe expressions
+        void addScatteringType(ustring symbol) { m_user_scatterings.push_back(symbol); };
+
         /// Add a single rule for rendering outputs
         ///
         ///    \param pattern         The light path expression to be mapped to the new rule
@@ -163,6 +168,10 @@
         DfOptimizedAutomata      m_dfoptautomata;
         // List of rules linked as void * from the automata's states
         std::list<AccumRule>     m_accumrules;
+        // Custom symbols to support on expressions as events
+        std::vector<ustring>     m_user_events;
+        // Custom symbols to support on expressions as scattering
+        std::vector<ustring>     m_user_scatterings;
 };
 
 

Modified: trunk/lib/windows_vc12/osl/include/OSL/dual.h
===================================================================
--- trunk/lib/windows_vc12/osl/include/OSL/dual.h	2016-01-26 15:29:05 UTC (rev 61607)
+++ trunk/lib/windows_vc12/osl/include/OSL/dual.h	2016-01-26 15:40:57 UTC (rev 61608)
@@ -29,6 +29,7 @@
 #pragma once
 
 #include "oslversion.h"
+#include <OpenImageIO/fmath.h>
 OSL_NAMESPACE_ENTER
 
 
@@ -56,7 +57,7 @@
 
     /// Construct a Dual from just a real value (derivs set to 0)
     ///
-    Dual2 (const T &x) : m_val(x), m_dx(T(0)), m_dy(T(0)) { }
+    Dual2 (const T &x) : m_val(x), m_dx(T(0.0)), m_dy(T(0.0)) { }
 
     template <class F>
     Dual2 (const Dual2<F> &x) : m_val(T(x.val())), m_dx(T(x.dx())), m_dy(T(x.dy())) { }
@@ -240,8 +241,14 @@
     return Dual2<T> (a.val()*b, a.dx()*b, a.dy()*b);
 }
 
+template<class T, class S>
+inline Dual2<T> operator* (const S &b, const Dual2<T> &a)
+{
+    return Dual2<T> (a.val()*T(b), a.dx()*T(b), a.dy()*T(b));
+}
 
 
+
 /// Division of duals.
 ///
 template<class T>
@@ -335,117 +342,178 @@

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list