This updates the libraries dependencies for VFX platform 2023, and adds various new libraries. It also enables Python bindings and switches from static to shared for various libraries. The precompiled libraries for all platforms will be updated to these new versions in the coming weeks. New: Fribidi 1.0.12 Harfbuzz 5.1.0 MaterialX 1.38.6 (shared lib with python bindings) Minizipng 3.0.7 Pybind11 2.10.1 Shaderc 2022.3 Vulkan 1.2.198 Updated: Boost 1.8.0 (shared lib) Cython 0.29.30 Numpy 1.23.2 OpenColorIO 2.2.0 (shared lib with python bindings) OpenImageIO 2.4.6.0 (shared lib with python bindings) OpenSubdiv 3.5.0 OpenVDB 10.0.0 (shared lib with python bindings) OSL 1.12.7.1 (enable nvptx backend) TBB (shared lib) USD 22.11 (shared lib with python bindings, enable hydra) yaml-cpp 0.8.0 Includes contributions by Ray Molenkamp, Brecht Van Lommel, Georgiy Markelov and Campbell Barton. Ref T99618
78 lines
2.7 KiB
Diff
78 lines
2.7 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index d527232..5ad6eaa 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -99,6 +99,11 @@ set (OSL_PTX_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}/ptx"
|
|
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 --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
|
|
index a7e098b..dad11d0 100644
|
|
--- a/src/cmake/externalpackages.cmake
|
|
+++ b/src/cmake/externalpackages.cmake
|
|
@@ -77,6 +77,7 @@ link_directories ("${Boost_LIBRARY_DIRS}")
|
|
|
|
|
|
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 --git a/src/liboslcomp/oslcomp.cpp b/src/liboslcomp/oslcomp.cpp
|
|
index 8c2e77b..211b8a7 100644
|
|
--- a/src/liboslcomp/oslcomp.cpp
|
|
+++ b/src/liboslcomp/oslcomp.cpp
|
|
@@ -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 --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp
|
|
index 8f52546..8c2d0c7 100644
|
|
--- a/src/liboslexec/llvm_instance.cpp
|
|
+++ b/src/liboslexec/llvm_instance.cpp
|
|
@@ -1363,6 +1363,10 @@ BackendLLVM::run()
|
|
#ifdef OSL_LLVM_NO_BITCODE
|
|
OSL_ASSERT(!use_rs_bitcode());
|
|
ll.module(ll.new_module("llvm_ops"));
|
|
+ if (use_optix()) {
|
|
+ ll.module()->setDataLayout("e-i64:64-i128:128-v16:16-v32:32-n16:32:64");
|
|
+ ll.module()->setTargetTriple("nvptx64-nvidia-cuda");
|
|
+ }
|
|
#else
|
|
if (!use_optix()) {
|
|
if (use_rs_bitcode()) {
|
|
diff --git a/src/liboslexec/shadingsys.cpp b/src/liboslexec/shadingsys.cpp
|
|
index 46e4529..8e86486 100644
|
|
--- a/src/liboslexec/shadingsys.cpp
|
|
+++ b/src/liboslexec/shadingsys.cpp
|
|
@@ -2121,6 +2121,11 @@ ShadingSystemImpl::getattribute(ShaderGroup* group, string_view name,
|
|
return true;
|
|
}
|
|
|
|
+ if (name == "groupdata_size" && type == TypeDesc::TypeInt) {
|
|
+ *(int*)val = (int)group->m_llvm_groupdata_size;
|
|
+ return true;
|
|
+ }
|
|
+
|
|
return false;
|
|
}
|
|
|