diff options
author | Stefanos Carlström | 2020-09-10 14:25:35 +0200 |
---|---|---|
committer | Stefanos Carlström | 2020-09-10 15:27:03 +0200 |
commit | a9a98749c784e6c36a2f740272b2f2aa43e506bf (patch) | |
tree | 17b3f8c8d5932acd9ac5ef96ca18ba62485d718d | |
parent | 38e863db3ae099c6f355c7e0c3ee06c05c45d455 (diff) | |
download | aur-a9a98749c784e6c36a2f740272b2f2aa43e506bf.tar.gz |
Updated to 2.90.0; Embree
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | cuda11.patch | 91 |
2 files changed, 107 insertions, 4 deletions
@@ -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 |