[Bf-blender-cvs] [33f218fa3f9] blender-v2.93-release: Fix T86530: crash with Cycles OSL on Arm64

Brecht Van Lommel noreply at git.blender.org
Mon Apr 19 15:05:10 CEST 2021


Commit: 33f218fa3f93a3d574d81d65628188921d6f100c
Author: Brecht Van Lommel
Date:   Mon Apr 19 14:41:14 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB33f218fa3f93a3d574d81d65628188921d6f100c

Fix T86530: crash with Cycles OSL on Arm64

Bug in OSL itself, fix is submitted upstream.

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

M	build_files/build_environment/patches/osl.diff

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

diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index badb6c0d9b3..cd1b58bf580 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -63,3 +63,19 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
 
  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/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
+index 445f6400..3d468de2 100644
+--- a/src/liboslexec/llvm_util.cpp
++++ b/src/liboslexec/llvm_util.cpp
+@@ -3430,8 +3430,9 @@ LLVM_Util::call_function (llvm::Value *func, cspan<llvm::Value *> args)
+ #endif
+     //llvm_gen_debug_printf (std::string("start ") + std::string(name));
+ #if OSL_LLVM_VERSION >= 110
+-    OSL_DASSERT(llvm::isa<llvm::Function>(func));
+-    llvm::Value *r = builder().CreateCall(llvm::cast<llvm::Function>(func), llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
++    llvm::Value* r = builder().CreateCall(
++        llvm::cast<llvm::FunctionType>(func->getType()->getPointerElementType()), func,
++        llvm::ArrayRef<llvm::Value*>(args.data(), args.size()));
+ #else
+     llvm::Value *r = builder().CreateCall (func, llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
+ #endif



More information about the Bf-blender-cvs mailing list