community/blender to 3.4.1-20

This commit is contained in:
Kevin Mihelich 2023-03-09 19:02:56 +00:00
parent dddbf1e81d
commit 3a5035d741
5 changed files with 117 additions and 11 deletions

View file

@ -7,7 +7,8 @@
# - add makedepend on libepoxy, previously pulled in by cuda
# - remove depend on openimagedenoise, embree, openpgl
# - set -DWITH_CYCLES_EMBREE=OFF
# - remove makedepend on hip-runtime-amd
# - remove makedepend on hip-runtime-amd
# - removed Intel OneAPI support
buildarch=8
@ -17,7 +18,7 @@ buildarch=8
pkgname=blender
pkgver=3.4.1
pkgrel=14
pkgrel=20
epoch=17
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('x86_64')
@ -32,13 +33,16 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requ
makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'ninja' 'libepoxy' 'wayland-protocols'
'libxkbcommon' 'libdecor')
optdepends=('libdecor: wayland support')
source=("git+https://git.blender.org/blender.git#tag=v$pkgver"
"git+https://git.blender.org/blender-addons.git"
"git+https://git.blender.org/blender-addons-contrib.git"
"git+https://git.blender.org/blender-translations.git"
"git+https://git.blender.org/blender-dev-tools.git"
https://developer.download.nvidia.com/redist/optix/v7.5/OptiX-7.5-Include.zip
source=("git+https://projects.blender.org/blender/blender.git#tag=v$pkgver"
"git+https://projects.blender.org/blender/blender-addons.git"
"git+https://projects.blender.org/blender/blender-addons-contrib.git"
"git+https://projects.blender.org/blender/blender-translations.git"
"git+https://projects.blender.org/blender/blender-dev-tools.git"
https://developer.download.nvidia.com/redist/optix/v7.6/OptiX-7.6-Include.zip
blender-sycl-path.patch
blender-oneapi-escape.patch
blender-numpy.patch
blender-ffmpeg6.patch
force-draco1.patch
force-draco2.patch)
sha512sums=('SKIP'
@ -46,10 +50,13 @@ sha512sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'32a77c7a64c5d38f2af76b2c0d09c6b53b7adcc7d85a0b271ba09647858b21fb8f534da5dc4143079359cbedc8074a58715ff2cea0b85019596531a7dca8dbf7'
'dfe86de395dd298fb9feae73bff06a26742efa06a25bb5a4f78ffb1ba4c78f555d1af927efea98af281715cce01db219aa2adfd6bd323bf0d766c1c70ce03532'
'bc9a80941a18aaddc3e8f2d9963e4f6b7eb1cf9f098418adb236771c3bedcab7b7a06121178f7498caba1af67116cd0ea549382e14a707163cdd5d8fbf3ee824'
'1898af42ac10e9fc61c6fb979c1a3c6c91981c0c9790bf954e9425b5e7db897399d0ba6757f006f4ee1d6125ae0619b2e2a7ea5cf77cc36b91f3192873b66d9f'
'a39d9a13515b71d3b686d8f011b3eb9ee45de04f716627d711c5119317cb130c587da1b806f276f97064f814cfce3790b201731f047e5ec01e7d6f65acd04b3b'
'34a2e2a344e851858fc8408ca9fd31d1d4a40083b2a1b2c01cabf48c2728c0b97226cf22c4224f93eda383b4690ff57e98291ad4fa81b960f0531067b40f78f7'
'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0'
'527ab66e5eace777de0043c1ca5787a488f6471450ce67fd6d08137ad0ef56177bc0c17696f30a5fca23fa55d8ca9c3f30cb7b17550dba2dbd8e89ca0b361990')
'c162646eba42ea7112cfb615466c2cbaddac8d254d4a9e91cf887c5bffef1325a983701163223a1fdee091310ac5574a400347aab7f52321825b5fa3d5a9036f')
prepare() {
cd "$pkgname"
@ -65,11 +72,21 @@ prepare() {
# fix build with boost 1.81.0
git format-patch -1 --stdout 79837c5ed4b5 | patch -Np1
# fix draco
patch -p1 -i "$srcdir"/force-draco1.patch
patch -p1 -d release/scripts/addons -i "$srcdir"/force-draco2.patch
# fix for FS#77376
patch -p1 -d release/scripts/addons -i "$srcdir"/blender-numpy.patch
# fix SYCL include dir
patch -p1 -i "$srcdir"/blender-sycl-path.patch
# fix oneapi escapes
patch -p1 -i "$srcdir"/blender-oneapi-escape.patch
# ffmpeg 6
patch -p1 -i "$srcdir"/blender-ffmpeg6.patch
}
get_pyver() {

View file

@ -0,0 +1,63 @@
diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h
index f311e04d8e0..4f474d0c267 100644
--- a/intern/ffmpeg/ffmpeg_compat.h
+++ b/intern/ffmpeg/ffmpeg_compat.h
@@ -36,6 +36,10 @@
# define FFMPEG_INLINE static inline
#endif
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
+# define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
+#endif
+
#if (LIBAVFORMAT_VERSION_MAJOR < 58) || \
((LIBAVFORMAT_VERSION_MAJOR == 58) && (LIBAVFORMAT_VERSION_MINOR < 76))
# define FFMPEG_USE_DURATION_WORKAROUND 1
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index 1d4cbc48833..c812c2e8f26 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -855,7 +855,7 @@ static AVStream *alloc_video_stream(FFMpegContext *context,
255);
st->avg_frame_rate = av_inv_q(c->time_base);
- if (codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
+ if (codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
c->thread_count = 0;
}
else {
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 94c0555dcf0..52314c2ca21 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -554,7 +554,7 @@ static int startffmpeg(struct anim *anim)
avcodec_parameters_to_context(pCodecCtx, video_stream->codecpar);
pCodecCtx->workaround_bugs = FF_BUG_AUTODETECT;
- if (pCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
+ if (pCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
pCodecCtx->thread_count = 0;
}
else {
diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
index 63836690ee4..fb0dd4f3e3e 100644
--- a/source/blender/imbuf/intern/indexer.c
+++ b/source/blender/imbuf/intern/indexer.c
@@ -559,7 +559,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffmpeg(
av_dict_set(&codec_opts, "preset", "veryfast", 0);
av_dict_set(&codec_opts, "tune", "fastdecode", 0);
- if (rv->codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
+ if (rv->codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
rv->c->thread_count = 0;
}
else {
@@ -872,7 +872,7 @@ static IndexBuildContext *index_ffmpeg_create_context(struct anim *anim,
avcodec_parameters_to_context(context->iCodecCtx, context->iStream->codecpar);
context->iCodecCtx->workaround_bugs = FF_BUG_AUTODETECT;
- if (context->iCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
+ if (context->iCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
context->iCodecCtx->thread_count = 0;
}
else {

View file

@ -0,0 +1,13 @@
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index 39edb561ad4..20b0e579056 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -715,7 +715,7 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
# Set defaults for spir64 and spir64_gen options
if (NOT DEFINED CYCLES_ONEAPI_SYCL_OPTIONS_spir64)
- set(CYCLES_ONEAPI_SYCL_OPTIONS_spir64 "-options '-ze-opt-large-register-file -ze-opt-regular-grf-kernel integrator_intersect'")
+ set(CYCLES_ONEAPI_SYCL_OPTIONS_spir64 "-options \\\'-ze-opt-large-register-file -ze-opt-regular-grf-kernel integrator_intersect\\\'")
endif()
if (NOT DEFINED CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen)
SET (CYCLES_ONEAPI_SYCL_OPTIONS_spir64_gen "${CYCLES_ONEAPI_SYCL_OPTIONS_spir64}" CACHE STRING "Extra build options for spir64_gen target")

View file

@ -0,0 +1,13 @@
diff --git a/build_files/cmake/Modules/FindSYCL.cmake b/build_files/cmake/Modules/FindSYCL.cmake
index 1ccbee179fb..e72b035def6 100644
--- a/build_files/cmake/Modules/FindSYCL.cmake
+++ b/build_files/cmake/Modules/FindSYCL.cmake
@@ -81,7 +81,7 @@ endif()
FIND_PATH(SYCL_INCLUDE_DIR
NAMES
- sycl/sycl.hpp
+ sycl/CL/sycl.hpp
HINTS
${_sycl_search_dirs}
PATH_SUFFIXES

View file

@ -15,7 +15,7 @@ index e7518ac4..c0d78564 100644
python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info)
- path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH')
+ path = site.getsitepackages()[0]
+ path = f"{site.getsitepackages()[0]}/libextern_draco.so"
if path is None:
path = {
'win32': blender_root / python_lib / 'site-packages',