summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefanos Carlström2020-09-10 14:25:35 +0200
committerStefanos Carlström2020-09-10 15:27:03 +0200
commita9a98749c784e6c36a2f740272b2f2aa43e506bf (patch)
tree17b3f8c8d5932acd9ac5ef96ca18ba62485d718d
parent38e863db3ae099c6f355c7e0c3ee06c05c45d455 (diff)
downloadaur-a9a98749c784e6c36a2f740272b2f2aa43e506bf.tar.gz
Updated to 2.90.0; Embree
-rw-r--r--PKGBUILD20
-rw-r--r--cuda11.patch91
2 files changed, 107 insertions, 4 deletions
diff --git a/PKGBUILD b/PKGBUILD
index e359e1acf897..e364f2b776b2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,13 +4,13 @@
# main package repo, but customized to compile a standalone Python
# module.
-_gittag=v2.82a
+_gittag=v2.90.0
# _gitcommit=rB5b416ffb848e66238d9646a239840499f98121a9
pkgname=blender-as-py-module
-pkgver=2.82a
+pkgver=2.90.0
[[ -n $_gitcommit ]] && pkgver=${pkgver}.git1.${_gitcommit:0:8}
-pkgrel=2
+pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite, to be used as Python module. Useful for programmatic/batch rendering."
arch=('x86_64')
license=('GPL')
@@ -20,7 +20,7 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils'
'xdg-utils' 'glew' 'openjpeg2' 'python-numpy' 'freetype2'
'boost-libs' 'openimageio' 'opencolorio'
'openshadinglanguage' 'libspnav' 'ptex' 'opensubdiv'
- 'log4cplus')
+ 'log4cplus' 'embree')
makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja')
optdepends=('cuda: cycles renderer cuda support')
options=(!strip)
@@ -28,6 +28,8 @@ source=("git://git.blender.org/blender-addons.git"
"git://git.blender.org/blender-addons-contrib.git"
"git://git.blender.org/blender-translations.git"
"git://git.blender.org/blender-dev-tools.git"
+ https://git.blender.org/gitweb/gitweb.cgi/blender.git/patch/91aeb452ab251b307311fe869e8e14df945ec6bc
+ cuda11.patch
https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip)
if [[ -n $_gittag ]]; then
source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}")
@@ -38,6 +40,8 @@ sha512sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
+ '46358fe7dab620eb9a7414baa851e7d28818b7c2845f723f7dd0f4b0f721902583a6b57c9c2d5e153c5057cc958727489d301c5195dfd3befee96cde539d813a'
+ '76d55f49cf0475d3050a3ff534da47345aae862fd5ee0e336143c041ef58c5d4ebd6e922eb8a23c01cc35d19537c46698910b0b52a090cdcea4e5f67e4fb5650'
'b2cff73def3757d4259f4b4d318a8ccfe166bf7c215cbb2124f1c81bd6e742f96207285b24eb4d99b527b7b97dc6d5e8fdf2f16d78d5d1e2684c26d681328491'
'SKIP')
@@ -51,6 +55,13 @@ prepare() {
git config submodule."source/tools".url ${srcdir}/blender-dev-tools
git submodule update
+ if [[ -n $_gittag ]]; then
+ git submodule foreach git checkout v${pkgver}
+ fi
+
+ patch -Np1 -i "$srcdir"/91aeb452ab251b307311fe869e8e14df945ec6bc
+ patch -Np1 -i "$srcdir"/cuda11.patch
+
mkdir -p build
}
@@ -59,6 +70,7 @@ build() {
cmake -GNinja -C../build_files/cmake/config/bpy_module.cmake .. \
-DOPTIX_ROOT_DIR="$srcdir"/include \
+ -DWITH_CYCLES_EMBREE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_VERSION=3.8 \
diff --git a/cuda11.patch b/cuda11.patch
new file mode 100644
index 000000000000..390dead1c26a
--- /dev/null
+++ b/cuda11.patch
@@ -0,0 +1,91 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 76d2d578dc3..e0c83cb5e18 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -375,7 +375,7 @@ option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF)
+ option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
+ option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
+ mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
+-set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_75 CACHE STRING "CUDA architectures to build binaries for")
++set(CYCLES_CUDA_BINARIES_ARCH sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_75 sm_80 compute_80 CACHE STRING "CUDA architectures to build binaries for")
+ mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
+ unset(PLATFORM_DEFAULT)
+ option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
+diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake
+index c6aa359c82c..8d8bf109958 100644
+--- a/build_files/cmake/config/blender_release.cmake
++++ b/build_files/cmake/config/blender_release.cmake
+@@ -55,7 +55,7 @@ set(WITH_USD ON CACHE BOOL "" FORCE)
+ set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
+ set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
+ set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
+-set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75;compute_75 CACHE STRING "" FORCE)
++set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75;compute_75;sm_80;compute_80 CACHE STRING "" FORCE)
+ set(WITH_CYCLES_DEVICE_OPTIX ON CACHE BOOL "" FORCE)
+
+ # platform dependent options
+diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
+index e5a5e9773d3..1bc11953db2 100644
+--- a/intern/cycles/CMakeLists.txt
++++ b/intern/cycles/CMakeLists.txt
+@@ -314,7 +314,7 @@ if(WITH_CYCLES_CUDA_BINARIES AND (NOT WITH_CYCLES_CUBIN_COMPILER))
+ set(MAX_MSVC 1910)
+ elseif(${CUDA_VERSION} EQUAL "9.1")
+ set(MAX_MSVC 1911)
+- elseif(${CUDA_VERSION} LESS "11.0")
++ elseif(${CUDA_VERSION} LESS "12.0")
+ set(MAX_MSVC 1999)
+ endif()
+ if(NOT MSVC_VERSION LESS ${MAX_MSVC} OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
+index db146226dc7..7993fb8c263 100644
+--- a/intern/cycles/kernel/CMakeLists.txt
++++ b/intern/cycles/kernel/CMakeLists.txt
+@@ -473,8 +473,12 @@ if(WITH_CYCLES_CUDA_BINARIES)
+ foreach(arch ${CYCLES_CUDA_BINARIES_ARCH})
+ if(${arch} MATCHES "sm_2.")
+ message(STATUS "CUDA binaries for ${arch} are no longer supported, skipped.")
++ elseif(${arch} MATCHES "sm_30" AND ${CUDA_VERSION} GREATER 109)
++ message(STATUS "CUDA binaries for ${arch} are no longer supported, skipped.")
+ elseif(${arch} MATCHES "sm_7." AND ${CUDA_VERSION} LESS 100)
+ message(STATUS "CUDA binaries for ${arch} require CUDA 10.0+, skipped.")
++ elseif(${arch} MATCHES "sm_8." AND ${CUDA_VERSION} LESS 110)
++ message(STATUS "CUDA binaries for ${arch} require CUDA 11.0+, skipped.")
+ else()
+ # Compile regular kernel
+ CYCLES_CUDA_KERNEL_ADD(${arch} ${prev_arch} filter "" "${cuda_filter_sources}" FALSE)
+@@ -513,6 +517,11 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
+ set(cuda_flags ${cuda_flags}
+ -D __KERNEL_DEBUG__)
+ endif()
++ set(OPTIX_TARGET 30)
++ if(${CUDA_VERSION} GREATER 109) #cuda 11
++ set(OPTIX_TARGET 52)
++ endif()
++
+ if(WITH_CYCLES_CUBIN_COMPILER)
+
+ # Needed to find libnvrtc-builtins.so. Can't do it from inside
+@@ -524,7 +533,6 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
+ set(CUBIN_CC_ENV ${CMAKE_COMMAND}
+ -E env LD_LIBRARY_PATH="${CUDA_TOOLKIT_ROOT_DIR}/lib64")
+ endif()
+-
+ add_custom_command(
+ OUTPUT ${output}
+ DEPENDS
+diff --git a/intern/cycles/kernel/kernels/cuda/kernel_config.h b/intern/cycles/kernel/kernels/cuda/kernel_config.h
+index 3ec00762e72..8e650129d8b 100644
+--- a/intern/cycles/kernel/kernels/cuda/kernel_config.h
++++ b/intern/cycles/kernel/kernels/cuda/kernel_config.h
+@@ -70,8 +70,8 @@
+ # endif
+ # define CUDA_KERNEL_BRANCHED_MAX_REGISTERS 63
+
+-/* 7.x */
+-#elif __CUDA_ARCH__ <= 799
++/* 7.x / 8.x */
++#elif __CUDA_ARCH__ <= 899
+ # define CUDA_MULTIPRESSOR_MAX_REGISTERS 65536
+ # define CUDA_MULTIPROCESSOR_MAX_BLOCKS 32
+ # define CUDA_BLOCK_MAX_THREADS 1024