[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