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.diff120
1 files changed, 43 insertions, 77 deletions
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index 3f4a485b037..8578a1b782b 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -1,7 +1,8 @@
-diff -Naur OpenShadingLanguage-1.12.6.2/CMakeLists.txt external_osl/CMakeLists.txt
---- OpenShadingLanguage-1.12.6.2/CMakeLists.txt 2022-09-30 17:43:53 -0600
-+++ external_osl/CMakeLists.txt 2022-10-15 14:49:26 -0600
-@@ -101,6 +101,11 @@
+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')")
@@ -13,10 +14,11 @@ diff -Naur OpenShadingLanguage-1.12.6.2/CMakeLists.txt external_osl/CMakeLists.t
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
-diff -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
---- OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake 2022-09-30 17:43:53 -0600
-+++ external_osl/src/cmake/externalpackages.cmake 2022-10-15 14:49:26 -0600
-@@ -77,6 +77,7 @@
+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
@@ -24,30 +26,10 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake externa
# IlmBase & OpenEXR
checked_find_package (OpenEXR REQUIRED
-diff -Naur OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
---- OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h 2022-09-30 17:43:53 -0600
-+++ external_osl/src/include/OSL/llvm_util.h 2022-10-15 15:37:24 -0600
-@@ -9,6 +9,8 @@
- #include <unordered_set>
- #include <vector>
-
-+#define OSL_HAS_BLENDER_CLEANUP_FIX
-+
- #ifdef LLVM_NAMESPACE
- namespace llvm = LLVM_NAMESPACE;
- #endif
-@@ -455,7 +457,7 @@
- llvm::BasicBlock* masked_return_block() const;
-
- bool is_masking_required() const { return m_is_masking_required; }
--
-+ static void Cleanup ();
- struct ScopedMasking {
- ScopedMasking() {}
-
-diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
---- OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp 2022-09-30 17:43:53 -0600
-+++ external_osl/src/liboslcomp/oslcomp.cpp 2022-10-15 14:49:26 -0600
+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
@@ -62,50 +44,34 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/
#include <clang/Basic/TargetInfo.h>
#include <clang/Frontend/CompilerInstance.h>
#include <clang/Frontend/TextDiagnosticPrinter.h>
-diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
---- OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp 2022-09-30 17:43:53 -0600
-+++ external_osl/src/liboslexec/llvm_util.cpp 2022-10-15 15:53:11 -0600
-@@ -116,8 +116,6 @@
- return { A.data(), size_t(A.size()) };
- }
-
--
--
- namespace pvt {
-
- typedef llvm::SectionMemoryManager LLVMMemoryManager;
-@@ -182,6 +180,13 @@
- ++jit_mem_hold_users;
- }
-
-+void
-+LLVM_Util::Cleanup()
-+{
-+ if (jitmm_hold)
-+ jitmm_hold->clear();
-+}
+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;
+ }
- LLVM_Util::ScopedJitMemoryUser::~ScopedJitMemoryUser()
- {
-diff --git a/src/include/OSL/mask.h b/src/include/OSL/mask.h
-index 24197af..b9275f6 100644
---- a/src/include/OSL/mask.h
-+++ b/src/include/OSL/mask.h
-@@ -4,7 +4,6 @@
-
- #pragma once
-
--#include <immintrin.h>
- #include <type_traits>
-
- #include <OSL/oslconfig.h>
-@@ -23,6 +22,8 @@ using std::countr_zero;
-
- #elif OSL_INTEL_CLASSIC_COMPILER_VERSION
-
-+#include <immintrin.h>
-+
- OSL_FORCEINLINE int popcount(uint32_t x) noexcept { return _mm_popcnt_u32(x);}
- OSL_FORCEINLINE int popcount(uint64_t x) noexcept { return _mm_popcnt_u64(x); }
- OSL_FORCEINLINE int countr_zero(uint32_t x) noexcept { return _bit_scan_forward(x); }