[arch-commits] Commit in blender/repos (5 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Tue Sep 29 00:33:08 UTC 2020


    Date: Tuesday, September 29, 2020 @ 00:33:07
  Author: svenstaro
Revision: 713596

archrelease: copy trunk to community-staging-x86_64

Added:
  blender/repos/community-staging-x86_64/
  blender/repos/community-staging-x86_64/D8063-cuda11.diff
    (from rev 713595, blender/trunk/D8063-cuda11.diff)
  blender/repos/community-staging-x86_64/PKGBUILD
    (from rev 713595, blender/trunk/PKGBUILD)
  blender/repos/community-staging-x86_64/cuda11.patch
    (from rev 713595, blender/trunk/cuda11.patch)
  blender/repos/community-staging-x86_64/embree.patch
    (from rev 713595, blender/trunk/embree.patch)

-------------------+
 D8063-cuda11.diff |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD          |   86 ++++++++++++++++++++++++++++++++++++++++++
 cuda11.patch      |   91 +++++++++++++++++++++++++++++++++++++++++++++
 embree.patch      |   43 +++++++++++++++++++++
 4 files changed, 325 insertions(+)

Copied: blender/repos/community-staging-x86_64/D8063-cuda11.diff (from rev 713595, blender/trunk/D8063-cuda11.diff)
===================================================================
--- community-staging-x86_64/D8063-cuda11.diff	                        (rev 0)
+++ community-staging-x86_64/D8063-cuda11.diff	2020-09-29 00:33:07 UTC (rev 713596)
@@ -0,0 +1,105 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -375,7 +375,7 @@
+ 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 CACHE STRING "CUDA architectures to build binaries for")
++set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_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
+--- a/build_files/cmake/config/blender_release.cmake
++++ b/build_files/cmake/config/blender_release.cmake
+@@ -52,7 +52,7 @@
+ 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 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;sm_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
+--- a/intern/cycles/CMakeLists.txt
++++ b/intern/cycles/CMakeLists.txt
+@@ -313,7 +313,7 @@
+       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
+--- a/intern/cycles/kernel/CMakeLists.txt
++++ b/intern/cycles/kernel/CMakeLists.txt
+@@ -485,8 +485,12 @@
+   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)
+@@ -525,6 +529,11 @@
+       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
+@@ -536,7 +545,6 @@
+         set(CUBIN_CC_ENV ${CMAKE_COMMAND}
+           -E env LD_LIBRARY_PATH="${CUDA_TOOLKIT_ROOT_DIR}/lib64")
+       endif()
+-
+       add_custom_command(
+         OUTPUT ${output}
+         DEPENDS
+@@ -551,7 +559,7 @@
+           ${SRC_UTIL_HEADERS}
+         COMMAND ${CUBIN_CC_ENV}
+             "$<TARGET_FILE:cycles_cubin_cc>"
+-            -target 30
++            -target ${OPTIX_TARGET}
+             -ptx
+             -i ${CMAKE_CURRENT_SOURCE_DIR}/${input}
+             ${cuda_flags}
+@@ -575,7 +583,7 @@
+         COMMAND
+           ${CUDA_NVCC_EXECUTABLE}
+           --ptx
+-          -arch=sm_30
++          -arch=sm_${OPTIX_TARGET}
+           ${cuda_flags}
+           ${input}
+         WORKING_DIRECTORY
+diff --git a/intern/cycles/kernel/kernels/cuda/kernel_config.h b/intern/cycles/kernel/kernels/cuda/kernel_config.h
+--- 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
+

Copied: blender/repos/community-staging-x86_64/PKGBUILD (from rev 713595, blender/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2020-09-29 00:33:07 UTC (rev 713596)
@@ -0,0 +1,86 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Contributor: John Sowiak <john at archlinux.org>
+# Contributor: tobias <tobias at archlinux.org>
+
+# For legal reasons, we can't separately package the Optix headers so we'll
+# just build the package against them. I checked with NVIDIA and this way is
+# fine with them.
+
+pkgname=blender
+pkgver=2.90.1
+pkgrel=2
+epoch=17
+pkgdesc="A fully integrated 3D graphics creation suite"
+arch=('x86_64')
+license=('GPL')
+url="http://www.blender.org"
+depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests'
+         'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg2' 'python-numpy'
+         'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic'
+         'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage' 'openimagedenoise'
+         'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2' 'embree')
+makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja')
+optdepends=('cuda: cycles renderer cuda support')
+options=(!strip)
+source=("git://git.blender.org/blender.git#tag=v$pkgver"
+        "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)
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            '46358fe7dab620eb9a7414baa851e7d28818b7c2845f723f7dd0f4b0f721902583a6b57c9c2d5e153c5057cc958727489d301c5195dfd3befee96cde539d813a'
+            '76d55f49cf0475d3050a3ff534da47345aae862fd5ee0e336143c041ef58c5d4ebd6e922eb8a23c01cc35d19537c46698910b0b52a090cdcea4e5f67e4fb5650'
+            'b2cff73def3757d4259f4b4d318a8ccfe166bf7c215cbb2124f1c81bd6e742f96207285b24eb4d99b527b7b97dc6d5e8fdf2f16d78d5d1e2684c26d681328491')
+
+prepare() {
+  cd "$pkgname"
+
+  git submodule init
+  git config submodule."release/scripts/addons".url "${srcdir}/blender-addons"
+  git config submodule."release/scripts/addons_contrib".url "${srcdir}/blender-addons-contrib"
+  git config submodule."release/datafiles/locale".url "${srcdir}/blender-translations"
+  git config submodule."source/tools".url "${srcdir}/blender-dev-tools"
+  git submodule update
+  git submodule foreach git checkout v${pkgver}
+
+  patch -Np1 -i "$srcdir"/91aeb452ab251b307311fe869e8e14df945ec6bc
+  patch -Np1 -i "$srcdir"/cuda11.patch
+}
+
+build() {
+  cd "$pkgname"
+
+  cmake . \
+    -Bbuild \
+    -GNinja \
+    -Cbuild_files/cmake/config/blender_release.cmake \
+    -DOPTIX_ROOT_DIR="$srcdir"/include \
+    -DWITH_CYCLES_EMBREE=ON \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DWITH_INSTALL_PORTABLE=OFF \
+    -DWITH_PYTHON_INSTALL=OFF \
+    -DPYTHON_VERSION=3.8 \
+    -DPYTHON_LIBPATH=/usr/lib \
+    -DPYTHON_LIBRARY=python3.8 \
+    -DPYTHON_INCLUDE_DIRS=/usr/include/python3.8
+  ninja -C build
+}
+
+package() {
+  cd "$pkgname"
+
+  DESTDIR="${pkgdir}" ninja -C build install
+  install -Dm755 release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl"
+  python -m compileall "${pkgdir}/usr/share/blender"
+  python -O -m compileall "${pkgdir}/usr/share/blender"
+
+  install -Dm644 release/freedesktop/org.blender.Blender.appdata.xml "${pkgdir}/usr/share/metainfo/org.blender.Blender.appdata.xml"
+}

Copied: blender/repos/community-staging-x86_64/cuda11.patch (from rev 713595, blender/trunk/cuda11.patch)
===================================================================
--- community-staging-x86_64/cuda11.patch	                        (rev 0)
+++ community-staging-x86_64/cuda11.patch	2020-09-29 00:33:07 UTC (rev 713596)
@@ -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

Copied: blender/repos/community-staging-x86_64/embree.patch (from rev 713595, blender/trunk/embree.patch)
===================================================================
--- community-staging-x86_64/embree.patch	                        (rev 0)
+++ community-staging-x86_64/embree.patch	2020-09-29 00:33:07 UTC (rev 713596)
@@ -0,0 +1,43 @@
+diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt
+index d9a2ebf8571..f3b7d156024 100644
+--- a/intern/cycles/blender/CMakeLists.txt
++++ b/intern/cycles/blender/CMakeLists.txt
+@@ -66,6 +66,12 @@ if(WITH_CYCLES_LOGGING)
+   )
+ endif()
+ 
++if(WITH_CYCLES_EMBREE)
++  list(APPEND LIB
++    ${EMBREE_LIBRARIES}
++  )
++endif()
++
+ set(ADDON_FILES
+   addon/__init__.py
+   addon/engine.py
+diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake
+index d9d525d4586..03b509a28f3 100644
+--- a/build_files/cmake/Modules/FindEmbree.cmake
++++ b/build_files/cmake/Modules/FindEmbree.cmake
+@@ -72,7 +72,7 @@ ENDFOREACH()
+ 
+ FIND_LIBRARY(EMBREE_LIBRARY
+   NAMES
+-    libembree3
++    embree3
+   HINTS
+     ${_embree_SEARCH_DIRS}
+   PATH_SUFFIXES
+@@ -83,10 +83,10 @@ FIND_LIBRARY(EMBREE_LIBRARY
+ # all listed variables are TRUE
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE DEFAULT_MSG
+-    _embree_LIBRARIES EMBREE_INCLUDE_DIR)
++    EMBREE_LIBRARY EMBREE_INCLUDE_DIR)
+ 
+ IF(EMBREE_FOUND)
+-  SET(EMBREE_LIBRARIES ${_embree_LIBRARIES})
++  SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY})
+   SET(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR})
+ ENDIF(EMBREE_FOUND)
+ 



More information about the arch-commits mailing list