mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
community/blender to 2.90.0-1
This commit is contained in:
parent
cb0469124b
commit
c9f1723617
2 changed files with 100 additions and 11 deletions
|
@ -21,13 +21,13 @@ buildarch=8
|
|||
# just build the package against them. I checked with NVIDIA and this way is
|
||||
# fine with them.
|
||||
|
||||
_gittag=v2.83.5
|
||||
_gittag=v2.90.0
|
||||
# _gitcommit=054dbb833e15275e0e991e2c15e754a3e7583716
|
||||
|
||||
pkgname=blender
|
||||
pkgver=2.83.5
|
||||
pkgver=2.90.0
|
||||
[[ -n $_gitcommit ]] && pkgver=${pkgver}.git1.${_gitcommit:0:8}
|
||||
pkgrel=2
|
||||
pkgrel=1
|
||||
epoch=17
|
||||
pkgdesc="A fully integrated 3D graphics creation suite"
|
||||
arch=('x86_64')
|
||||
|
@ -44,8 +44,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"
|
||||
embree.patch
|
||||
D8063-cuda11.diff
|
||||
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}")
|
||||
|
@ -56,8 +56,8 @@ sha512sums=('SKIP'
|
|||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'6de779ad8649a034ee65c45a36d7838ac0b8b32c3336b4d476186265c060f56276e3e0a2860ec4bff42bef7d5582ee82238013845f6a697672767a05a455aaca'
|
||||
'7b0dc31c8babaaeed35807d27cc54e6e9fb79a08c4c267244bea2b47149e05089fe495f239fff7d4fff9b1ebcafd588396e8d1db5529dc7ac49d78731575e128'
|
||||
'46358fe7dab620eb9a7414baa851e7d28818b7c2845f723f7dd0f4b0f721902583a6b57c9c2d5e153c5057cc958727489d301c5195dfd3befee96cde539d813a'
|
||||
'76d55f49cf0475d3050a3ff534da47345aae862fd5ee0e336143c041ef58c5d4ebd6e922eb8a23c01cc35d19537c46698910b0b52a090cdcea4e5f67e4fb5650'
|
||||
'b2cff73def3757d4259f4b4d318a8ccfe166bf7c215cbb2124f1c81bd6e742f96207285b24eb4d99b527b7b97dc6d5e8fdf2f16d78d5d1e2684c26d681328491'
|
||||
'SKIP')
|
||||
|
||||
|
@ -71,10 +71,8 @@ prepare() {
|
|||
git config submodule."source/tools".url "${srcdir}/blender-dev-tools"
|
||||
git submodule update
|
||||
|
||||
patch -Np1 -i "$srcdir"/embree.patch
|
||||
patch -Np1 -i "$srcdir"/D8063-cuda11.diff
|
||||
|
||||
sed -i "s/std=c++11/std=c++14/" CMakeLists.txt
|
||||
patch -Np1 -i "$srcdir"/91aeb452ab251b307311fe869e8e14df945ec6bc
|
||||
patch -Np1 -i "$srcdir"/cuda11.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
91
community/blender/cuda11.patch
Normal file
91
community/blender/cuda11.patch
Normal file
|
@ -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
|
Loading…
Reference in a new issue