Commit Graph

746 Commits

Author SHA1 Message Date
Sergey Sharybin
6bc3aafd81 Merge branch 'blender-v5.0-release' 2025-10-15 16:19:19 +02:00
Patrick Mours
d9cce547e6 Fix: OSL shadeops module fails to load in OptiX
The OSL dependency is built with target sm_50 currently, which means
that LLVM defaults to generating PTX version 4.0. However, due to an
apparent bug in LLVM 20 it still uses instructions that were only
introduced in PTX version 6.0. As a result OptiX refuses to load the
shadeops PTX with an `OPTIX_ERROR_INVALID_INPUT` error.

To fix this, raise the PTX version generated by LLVM to 6.0 for both the
shadeops module (which previously used 4.0) and also any generated code
(which previously used 5.0) to be safe. PTX version 6.0 was introduced with
CUDA 9, so it has pretty long driver backwards compatibility still.

This commit contains fixes for the OSL, to fully fix the original report
a recompiled OSL libraries would need to land for the affected platforms.

Ref #147361

Pull Request: https://projects.blender.org/blender/blender/pulls/147620
2025-10-15 16:18:46 +02:00
Sergey Sharybin
0b6c820aae Merge branch 'blender-v5.0-release' 2025-10-15 16:14:19 +02:00
Sergey Sharybin
1621950441 Build: Fix threading issue in OSL
This change ports the PR from upstream to the build system:
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/2029

Ref #147642

Pull Request: https://projects.blender.org/blender/blender/pulls/147727
2025-10-15 16:07:45 +02:00
Thomas Dinges
7f855fb9b3 Revert "Release: Bump 5.0 to beta"
This reverts commit e3e8c283d5.
2025-10-08 12:04:50 +02:00
Thomas Dinges
e3e8c283d5 Release: Bump 5.0 to beta 2025-10-08 12:02:49 +02:00
Thomas Dinges
d71151df4c Fix license info for PThreads
Pull Request: https://projects.blender.org/blender/blender/pulls/147545
2025-10-07 15:23:34 +02:00
Campbell Barton
3de925589f Cleanup: strip trailing space 2025-10-07 10:19:46 +11:00
Thomas Dinges
66224d69b0 Deps: Library changes for Blender 5.0
This commit includes the changes to the build system, updated hashes to the actual new libraries as well as a required test update.

* DPC++ 6.2.0 RC
* freetype 2.13.3
* HIP 6.4.5010
* IGC 2.16.0
* ISPC 1.28.0
* libharu  2.4.5
* libpng 1.6.50
* libvpx 1.15.2
* libxml2 2.14.5
* LLVM 20.1.8
* Manifold 3.2.1
* MaterialX 1.39.3
* OpenColorIO 2.4.2
* openexr 3.3.5
* OpenImageIO 3.0.9.1
* openjpeg 2.5.3
* OpenShadingLanguage 1.14.7.0
* openssl 3.5.2
* Python 3.11.13
* Rubber Band 4.0.0
* ShaderC 2025.3
* sqlite 3.50.4
* USD 25.08
* Wayland 1.24.0

Ref #138940

Co-authored-by: Ray Molenkamp <github@lazydodo.com>
Co-authored-by: Jesse Yurkovich <jesse.y@gmail.com>
Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com>
Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Co-authored-by: Kace <lakacey03@gmail.com>
Co-authored-by: Sebastian Parborg <sebastian@blender.org>
Co-authored-by: Anthony Roberts <anthony.roberts@linaro.org>
Co-authored-by: Jonas Holzman <jonas@holzman.fr>

Pull Request: https://projects.blender.org/blender/blender/pulls/144479
2025-10-02 18:34:11 +02:00
luz paz
612f869036 Cleanup: Fix typos in build_files subdirectory
Fixes several typos in the build_files sub-directory.

Pull Request: https://projects.blender.org/blender/blender/pulls/146344
2025-09-17 15:35:45 +02:00
Ray Molenkamp
25ad7ccf27 Deps: fastjsonschema 2.21.1 + cattrs 25.1.1
As requested by #141945 , This includes:

Attrs 25.3.0
Cattrs 25.1.1
Fastjsonschema 2.21.1
Typing_extensions 4.14.1

Pull Request: https://projects.blender.org/blender/blender/pulls/141950
2025-07-25 15:11:40 +02:00
Ray Molenkamp
b150f56a5d Revert "Deps_builder: pydantic 2.11.7"
This reverts commit 81e862140f

binary packages turned out to have issues for debug builds on windows
as they link to python_311d.dll and none of the binary packages offfered
on pypi offered a debug build. Building pydantic from source was rejected
due to no rust build infrastructure being in place yet and deemed not
worth the effort for this one library dependency, an alternate solution
was chosen by the assets team that requested this dependency.
2025-07-15 08:09:37 -06:00
Campbell Barton
5dd160c39c Cleanup: indentation in cmake, sort files 2025-07-10 00:40:42 +00:00
Hans Goudey
13f32fdf6c Merge branch 'blender-v4.5-release' 2025-07-08 10:14:45 -04:00
Thomas Dinges
043ed61a02 Release: Update license info and regenerate license.md for 4.5. 2025-07-08 16:01:21 +02:00
Ray Molenkamp
81e862140f Deps_builder: pydantic 2.11.7
As requested by @dr.sybren and approved by the admins

Also pydantics deps :

annotated-types 0.7.0
pydantic-core 2.33.2
typing-extensions 4.14.0
typing-inspection 0.4.1

these are installed as binary packages agreed upon with the admins

versions determined by just pip installing it and seeing what it dragged in.

as some of these are binary packages that will differ per platform, there will
be a per platform hash for some packages now unfortunately

Pull Request: https://projects.blender.org/blender/blender/pulls/140434
2025-07-04 15:25:17 +02:00
Jeroen Bakker
41e93e3d9b Merge branch 'blender-v4.5-release' 2025-06-23 07:58:03 +02:00
Jeroen Bakker
3a4c4c88fa Fix #139882: Vulkan/USD: Crash on AMD GPUs
When USD sends work to the GPU (dispatch) incorrect datatype conversions
can send incorrect vulkan commands. This happens on AMD GPUs. This PR
will patch USD to limit the max allowed limit. A better solution would
be to only use uint32_t in this function, but there is no `GfVec3u` data
type and I didn't want to do to many changes.

![image.png](/attachments/642bd3d5-c6b6-4e1a-be1c-be847e6893bd)

**TODO**

- [x] Validate with @ZedDB that this compiles and solves all the issues
- [x] Add other platform maintainers as reviewers. This is a Windows + Linux issue.
- [ ] Rebuild the USD library including this patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/140102
2025-06-23 07:55:17 +02:00
Jonas Holzman
53228d48be Merge branch 'blender-v4.5-release' 2025-06-16 08:48:11 +02:00
Jonas Holzman
918db88a34 Deps: macOS: Prevent accidental linking to system-wide libraries for certain deps
On the macOS deps builder, if certain libraries were installed
system-wide using Homebrew, they could be prioritized during the
linking of dependencies over our own versions, causing breakages
when running the built libraries on other systems.

For OpenColorIO, homebrew Imath could be linked if installed.
For TIFF (& libjpeg as a transitive dep), homebrew libdeflate
could be linked if installed.

This commit fixes both of these issues by directly specifying the
library path to prevent the linker from wrongly inferring it to a
system-wide path.
2025-06-16 08:44:43 +02:00
Aras Pranckevicius
5ad6d42c83 IO: Remove Collada import/export
Removes Collada import/export (has been deprecated since 4.2).

Pull Request: https://projects.blender.org/blender/blender/pulls/139337
2025-06-06 08:38:57 +02:00
Brecht Van Lommel
e79fcb4f56 Merge branch 'blender-v4.5-release' 2025-06-04 16:14:05 +02:00
Brecht Van Lommel
2c948b873e Build: Make libraries compile on Linux ARM64 again
NASM is an x86 assembler, doesn't work on ARM.
2025-06-04 16:10:37 +02:00
Thomas Dinges
f224dbccce Revert "Release: Update 4.5 branch to beta"
This reverts commit ea5b1f7527.
2025-06-04 14:14:58 +02:00
Thomas Dinges
ea5b1f7527 Release: Update 4.5 branch to beta
Splash by Blender Studio
2025-06-04 14:10:17 +02:00
Campbell Barton
6a1fa176ef Cleanup: spelling in comments & duplicate terms (check_spelling.py)
Also minor clarification in doc-string.
2025-06-04 01:51:29 +00:00
Sebastian Parborg
40a7e1abb4 Build: Remove features from blosc that we don't use
Seems like only lz4 is used by openvdb. The zstd support were causing
runtime issues because of version mismatches with our other libraries.

In addition to this, blosc doesn't seem to properly link to static
libraries. The resulting static library has undefied symbols in it from
both zlib and zstd. This wasn't caught before as openvdb links to zlib.

Pull Request: https://projects.blender.org/blender/blender/pulls/139792
2025-06-03 18:13:40 +02:00
Sebastian Parborg
c35872a9b3 Build: DPCPP, don't build tests as they are not needed
They also try to use explicitly disabled libraries, so it also leads to
build failures.
2025-06-02 12:14:53 +02:00
Ray Molenkamp
b178a0b298 deps: Bump zstd to 1.5.6
Otherwise the python bindings throw an error while
loading.
2025-05-28 13:57:59 -06:00
Ray Molenkamp
5c98be4940 deps: Fix typo in DPCPP_SPIRV_HEADERS_FILE
caused a build error due to a hash mismatch with a previous
copy of this file I had.
2025-05-28 10:49:55 -06:00
Sebastian Parborg
eb96c2dfb3 Build: Enable Vulkan in USD (no Vulkan SDK)
After some discussion with Brecht and Jeroen, it was decided to use an upstream patch from openusd ([from here](https://github.com/PixarAnimationStudios/OpenUSD/pull/3603)) so we could use the usual vulkan libraries and not the Vulkan SDK.

I did not port Ray's Windows changes from the old PR https://projects.blender.org/blender/blender/pulls/137617 as I didn't know if anything else needs to be changed (and I've only tested this on Linux).

Pull Request: https://projects.blender.org/blender/blender/pulls/138139
2025-05-28 11:26:05 +02:00
Thomas Dinges
77eea32d20 Deps: Update python packages
charset-normalizer
idna
urllib3
requests
zstandard
certifi
pycodestyle

Also fix URL and package name for zstandard. (Thanks to Campbell for this).

Pull Request: https://projects.blender.org/blender/blender/pulls/139105
2025-05-27 16:26:11 +02:00
Sebastian Parborg
2f27cead09 Build: Make Zstandard use our zstd library
This makes it so that we can update to newer Zstandard versions without having to worry about zstd library version mismatches (Zstandard bundled their own zstd version)

Pull Request: https://projects.blender.org/blender/blender/pulls/138777
2025-05-27 16:21:59 +02:00
Anthony Roberts
32f7665673 Deps: Add support for ARM64 assembly in x264 and update FFmpeg version
It appears that previously, assembly was straight up disabled for all ARM64 platforms in x264 - this re-enables it.

This also updates the version of FFmpeg to 7.1.1. I updated the patch files so that they would cleanly apply to 7.1.1.

For Windows ARM64, it also switches both of these libraries to use the copy of LLVM we build as part of the deps, instead of MSVC - this gives a small performance increase. To do this for x264, I added a small patch taken from VCPKG - this should be harmless to other platforms.

With all these changes, I was able to get a ~20-30% perf improvement in video transcoding in the sequence editor.

Pull Request: https://projects.blender.org/blender/blender/pulls/137670
2025-05-27 10:20:48 +02:00
Anthony Roberts
b1e39d6cae Deps: Prevent OSL trying to use optix/CUDA on Windows ARM64
This was causing build issues as of #138788 (no idea why it wasn't previously)

Pull Request: https://projects.blender.org/blender/blender/pulls/139342
2025-05-27 10:10:13 +02:00
Nikita Sirgienko
11921b505b Build: upgrade DPC++ to 6.1.0 release
This upgrade for DPC++ and its dependencies brings several
bug fixes and also eliminates some patches and backports
that are now obsolete with this new release.

Pull Request: https://projects.blender.org/blender/blender/pulls/138173
2025-05-23 08:08:00 +02:00
Thomas Dinges
0379a40627 Build: Update OIIO and Manifold
* OpenImageIO to v3.0.6.1
* Manifold to v.3.1.0

Pull Request: https://projects.blender.org/blender/blender/pulls/138938
2025-05-22 16:46:12 +02:00
Campbell Barton
9819725666 Deps: update wayland dependencies
- wayland-protocols: 1.44
- wayland: 1.23.1
- weston: 14.0.2

Ref: !139127
2025-05-21 11:09:25 +10:00
Campbell Barton
7473124d0f Cleanup: remove trailing space 2025-05-20 11:52:08 +10:00
Ray Molenkamp
73c751afaf Deps_builder: Win: X64: Fix msys2 setup
on a freshly installed environment diff.exe requires newer runtime
dll's. For now only fix this on X64 as on windows on arm there's
issues with newer msys2 versions (but I do now know exactly what
they are anthony has brought it up in the past) this can however
not remain in a broken state, so fixing it for X64 only.

Also fix typo in download_package function

These two fixes together should bring a fresh vmprep install back
to working order.
2025-05-19 14:43:49 -06:00
Ray Molenkamp
ee04d69edc deps: win: shaderc: do not harvest debug libs for shaderc
While shaderc is a c++ library, its api is a C based one so
we do not need a debug version of this library, the blender
side was already updated in f2b9dd3462 this cleans up the
builder side of things.
2025-05-19 13:50:03 -06:00
Nikita Sirgienko
cfb8aa24b2 Build: Upgrade OIDN to the release v2.3.3
This release brings several fixes that Blender no longer needs
to patch manually, as well as support for various new and
upcoming hardware.

Pull Request: https://projects.blender.org/blender/blender/pulls/138171
2025-05-19 17:39:41 +02:00
Nikita Sirgienko
2a4ca81af2 Build: Upgrade Embree library to release v4.4.0
This new version brings several fixes that Blender no
longer needs to patch manually. In addition, it includes
an internal change related to GPU memory management which,
together with the new API, could address several tickets
and issues currently reported in relation to Embree GPU execution.

Pull Request: https://projects.blender.org/blender/blender/pulls/138176
2025-05-19 11:34:19 +02:00
Lukas Stockner
6749695ccb Deps: Build OSL with LLVM bitcode
Split out from #138161.

I checked with a locally built OSL (on Linux), and all tests (incl. OptiX OSL)
still pass without the Cycles-side changes in that PR, so we can merge this and
update the libs separately.

The only file that needs to be updated in the deps is `liboslexec.so`,
and probably `llvm/lib/clang/17/include/__clang_cuda_device_functions.h`
(we don't use this when building Blender, but since it's changed,
it's probably cleaner to update it anyways).

Pull Request: https://projects.blender.org/blender/blender/pulls/138788
2025-05-18 14:53:13 +02:00
Ray Molenkamp
67ba636006 deps: Fix windows build.
Broken by PR#134221

- Couple of missing deps
- Windows is not happy with -J when building python deps
as multiple processes will try to write to the same .pdb
- Wrong .lib file name for the zstandard python module.
2025-05-15 09:19:29 -06:00
Sebastian Parborg
6d442ca4f1 Build: Make Linux Lib building reproducible
There are two parts for this PR. One is to change some of our build pipeline to make certain libs reproducible. For this part I want to clarify two things:

1. Why change python to use `--disable-optimizations`?
This is because `--enable-optimizations` turns on PGO (Profile Guided Optimization). PGO is sadly not deterministic and will create different binaries on every recompile. So to create reproducible build this needs to be turned off. This also seems to only have been turned on for Linux specifically(?) on our side. So on Windows and Mac our python build already doesn't have PGO.

2. Why split out cython and zstandard from site-packages?
Sadly pip does not seem to respect `SOURCE_DATE_EPOCH`. It also creates temporary folders with random hashes in them that is then recorded into the Cython libraries (I'll touch on this again later). I've looked at the discussions about this upstream and sadly the pip maintainers do not really want people to use pip as a reproducible build system pipeline and instead directs users to other solutions if they want reproducible builds.

The other part is about setting up our pipeline to not introduce any random hashes or build timestamps into our libraries. Here I do two things:

1. We need to set the `SOURCE_DATE_EPOCH` environmental variable to a specific date that will not change.
This is needed as the compile time date is recorded in certain libraries and files. (So hard coding it with this env var will make the end result reproducible)

2. We need to strip the created static and shared libraries. This is because the static libraries are not created in a deterministic way. For shared libraries some of our libraries includes debug symbols which contains paths to temporary files with random hashes. To solve this without stripping in post, we would need to either patch the linker on Rocky8 or patch a lot of our libraries. I think it is better to just do this as a post build step. (This seems to be what most linux distributions do as well).

With all this, we can make our Linux library builds is almost 100% reproducible. (At least on my machine where I tested)
By almost, I mean that there is sadly a catch in that certain libraries like Cython saves the source code path in their libraries for error messages. However now the builds are reproducible if the folder path is the same.
IE if the libraries are always built in `/home/builder/build_linux/deps_x64`, then they should now be reproducible.

Pull Request: https://projects.blender.org/blender/blender/pulls/134221
2025-05-09 15:25:16 +02:00
Lukas Stockner
8fdeebbcb2 Deps: Add missing dependency in apt install guide 2025-04-28 14:59:18 +02:00
Jonas Holzman
291bde7b78 CMake: TBB: Replace FindTBB module with TBB's own TBBConfig module
This patch replaces our own FindTBB module with TBB's own TBBConfig
module. On the technical side of things, this harvests the TBB CMake
config modules, and switches our TBB CMake find_package calls from
Module mode to Config mode. Integration was done using OpenPGL as a
blueprint for parsing TBB target's property back into CMake variables
(TBB_LIBRARIES and TBB_INCLUDE_DIRS).

Pull Request: https://projects.blender.org/blender/blender/pulls/137063
2025-04-15 17:31:36 +02:00
Campbell Barton
e544f543a0 CMake: pass a mode argument to message
While omitting the mode is supported it's generally better to clarify
the purpose of a message.
2025-04-05 21:42:16 +11:00
Campbell Barton
f48b4e3abf Cleanup: wrap long lines for CMake 2025-04-05 20:30:37 +11:00