Commit graph

146 commits

Author SHA1 Message Date
Jonas Holzman
2176959df7 Fix #161404: Deps: Build OpenXR as shared library on macOS/Linux to fix symbol shadowing issue
Statically linking the OpenXR Loader library would cause std exception
type metadata symbol to be duplicated and shadow the base libc++
symbols, causing exception catching type comparaison to fail in
`BLI_string_split_name_number()` (and possibly other unknown issues) -
see [^1] for more details. Fixed by building the OpenXR loader as a
shared library on macOS / Linux, keeping it as a static library on
Windows, following the OpenXR SDK defaults (see docs[^2]).

Tested the OpenXR loader to work and an OpenXR session to successfully
connect on macOS and Linux. Since the library situation doesn't change
on Windows (where the OpenXR Loader lib remains static) a rebuild
should only be needed on macOS / Linux, and can be skipped on Win32 /
WoA.

[^1]: https://projects.blender.org/blender/blender/issues/161404#issuecomment-1985694
[^2]: https://github.com/KhronosGroup/OpenXR-SDK#optional-building-the-openxr-loader-as-a-dll

Pull Request: https://projects.blender.org/blender/blender/pulls/161563
2026-07-24 15:57:04 +02:00
Jonas Holzman
3253ae1c4b Deps: Upgrade Manifold to v3.5.2 to address memory usage issues
Fixes #158737 (see issue for details). Upgrades Manifold from v3.4.1
to v3.5.2[^1].

5.2 LTS libraries tracking issue ref: #153974

[^1]: https://github.com/elalish/manifold/releases/tag/v3.5.2

Pull Request: https://projects.blender.org/blender/blender/pulls/160805
2026-07-02 10:55:34 +02:00
Jonas Holzman
5ece19d1b3 Deps: Upgrade OIDN and ISPC to address image corruption issues on Apple M5 Pro/Max
As described in issue #159530, this commit upgrades the Intel Open Image
Denoise library to 2.5.0 to address an image corruption issue on Apple
M5 Pro/Max processors. As the fix couldn't easily be isolated for
backporting, it has been decided to directly upgrade OIDN from 2.4.1 to
2.5.0.

In addition to this, this new OIDN version requires ISPC 1.30.0, which
has also been upgraded from 1.29.1. The 5.2 LTS library change issue
(#153974) has been updated in this regard.

Tests confirmed to pass on macOS arm64, Linux x64 and both Windows x64
and arm64. This commit also contains the updated hash for each platform's
library submodule.

Pull Request: https://projects.blender.org/blender/blender/pulls/159622
2026-06-17 19:09:48 +02:00
Ray Molenkamp
fee136d1a6 Build: Bump win64 deps submodule following TIFF removal 2026-05-13 09:26:42 -06:00
Jonas Holzman
a8fb581540 Build: Bump macOS arm64 and WoA deps submodule following TIFF removal
Ref: !158551
2026-05-13 17:24:15 +02:00
Sebastian Parborg
a947e837eb Deps: Remove TIFF from pre-compiled libraries
Seems like we forgot to remove the Tiff library linking when we moved to using openimageio for loading tiff files.

Pull Request: https://projects.blender.org/blender/blender/pulls/158551
2026-05-13 17:18:58 +02:00
Jonas Holzman
d5d927b670 Deps: Library changes for Blender 5.2 LTS
### New libraries
- meshoptimizer v1.0
- tomli-w 1.2.0
- Tracy 0.13.1

### Updates of existing libraries
- OpenShadingLanguage 1.15.3.0
- OpenPGL 0.7.1
- ThorVG 1.0.3
- OpenUSD 26.03
- OpenImageIO 3.1.13.1
- libpng 1.6.58
- DPC++ 6.3.0
- Embree 4.4.1
- Intel Graphics Compiler v2.30.1
- Manifold 3.4.1
- x265 4.1
- ROCm / HIP 7.1.1 / 7.1.51803
- libexpat 2.7.5
- libtiff 4.7.1
- mesa 25.3.6
- OpenEXR 3.4.10
- OpenSSL 3.5.6
- Python 3.13.13
- sqlite 3.51.3
- libxml2 2.14.6
- ffmpeg 8.1
- Draco 1.5.7
- SDL 3.4.2

Library changes tracking issue ref: #153974

Co-authored-by: Sebastian Parborg <sebastian@blender.org>
Co-authored-by: Ray Molenkamp <github@lazydodo.com>
Co-authored-by: Sahar A. Kashi <salipour@noreply.localhost>
Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com>
Co-authored-by: Bart van der Braak <bart@blender.org>
Co-authored-by: Thomas Dinges <thomas@blender.org>
Co-authored-by: Alaska <Alaskayou01@gmail.com>

Pull Request: https://projects.blender.org/blender/blender/pulls/157180
2026-05-11 19:04:45 +02:00
Jonas Holzman
ea2c41ef04 Build: WoA: Update submodule to latest (Add OCIO CMake Debug Config files)
An oversight was made in !156154 (Build: Make OpenColorIO and OpenEXR
mandatory deps) where the WoA submodule hash was bumped, but then
discarded by a force-push. Correct this by updating the submodule
hash to the latest main.
2026-05-08 18:04:52 +01:00
Sebastian Parborg
fe30b5b705 Build: Make OpenColorIO and OpenEXR mandatory deps
Both OpenColorIO and OpenEXR were implicitly always required as these are non optional dependencies of OpenImageIO. Because OpenImageIO currently doesn't try to find these dependencies by itself properly, we get build failures in bpy and lite builds when OpenColorIO and/or OpenEXR is turned off on the Blender side of things. (However, they do properly list them as dependencies in cmake, so if you manually look for them, the OpenImageIO cmake target will pull in all of the required libraries properly)

As OpenImageIO is a mandatory dependency, make OpenColorIO and OpenEXR mandatory as well as these libraries need to be included either way for OpenImageIO (and by extension Blender) to work.

Because of this we can again remove the linker workarounds as now we should properly pull in the needed dependencies where needed.

Pull Request: https://projects.blender.org/blender/blender/pulls/156154
2026-04-22 17:39:44 +02:00
Brecht Van Lommel
1404c9748d Fix: Undo accidental Linux libraries change from merge commit
Mistake in 80af1dbc21.
2026-02-19 09:55:35 +01:00
Julien Duroure
80af1dbc21 Merge branch 'blender-v5.1-release' 2026-02-19 09:00:27 +01:00
Sergey Sharybin
05a3b98542 Cycles: Remove the HIP-RT extension wrangler
There is a strong coupling between the API version an application
passes to the hiprtCreateContext() and the HIP-RT library: if there
is a mismatch the context will fail to be created.

Additionally, the HIP-RT library does not have static dependencies
as it loads HIP SDK dynamically.

It all makes the wrangler be not so useful, and harmful in cases
when Blender is packaged for different Linux distros which might
use HIP-RT library of a different version from what Cycles is
currently expecting via the bundled hiprtew.h.

The HIPRT_API_VERSION is now coming from the hiprt/hiprt.h so it
is guaranteed that Cycles will request the same API version as
the library is was compiled with.

The slightly annoying part is that this approach requires the
dynamic libraries to have API version in the name of the library
to function properly This is because of the SONAME which still
mentions the original library name. The similar thing happens on
Windows where the hiprt0200564.lib points to the hiprt0200564.dll.
There might be some way to do the rename during install, but it
is a bit tricky, especially due to the manifest on Windows. It
might be the easiest to simply rename precompiled libraries.

Pull Request: https://projects.blender.org/blender/blender/pulls/153892
2026-02-13 17:13:57 +01:00
Sebastian Parborg
bab4a46c16 Build: Update Linux libraries (only minor cleanups, no functional changes) 2026-02-13 15:22:07 +01:00
Bart van der Braak
35e4f2ebd7 Fix #154191: Builds marked as "modified" due to untracked LFS file in Windows x64 libs
This updates submodule `lib/windows-x64` to the latest commit, where we
fix an issue that was causing build to be marked as "modified" (#154191).

Co-authored-by: Jonas Holzman <jonas@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/154249
2026-02-12 12:07:34 +01:00
Jonas Holzman
9528da8cbc Build: Update 5.1 library submodule hashes
This update the library submodule hash for all platforms, following the
5.1 library update. This includes:
- Windows x64
- Windows arm64
- Linux x64
- macOS arm64

Pull Request: https://projects.blender.org/blender/blender/pulls/153968
2026-02-05 23:10:08 +01:00
Anthony Roberts
f88de2d3a5 Deps: Windows ARM64: Fix AOM (again)
Fixes #153578

Pull Request: https://projects.blender.org/blender/blender/pulls/153601
2026-01-29 18:28:40 +01:00
Jonas Holzman
c7d409cbd8 Deps: macOS arm64: GMP dependency rebuild
macOS arm64 only rebuild of the GMP dependency following
blender/blender#153374, where a CMake typo caused Position
Independent Code (PIC) to be wrongly enabled on this platform.

Updated macOS arm64 library hash: blender/lib-macos_arm64@cd053ee9ab

Pull Request: https://projects.blender.org/blender/blender/pulls/153408
2026-01-26 14:02:26 +01:00
Anthony Roberts
0fdf46d4c2 Deps: Windows ARM64: Fix AOM
WoA equivalent of 6ab7f4670f

Pull Request: https://projects.blender.org/blender/blender/pulls/153301
2026-01-24 02:19:42 +01:00
Ray Molenkamp
6ab7f4670f Deps: Win64 fix AOM library 2026-01-23 11:52:28 -07:00
Thomas Dinges
f7d920a89b Build: Library changes for Blender 5.1
This commit includes new minimum compiler requirements for Blender 5.1 as well as updated and new libraries.

**New compiler requirements**
* Windows x64: Visual Studio 2022 (17.14.14 or newer)
* Windows arm64: Visual Studio 2022 (17.14.23 or newer)
* Linux x64: gcc 14 (when used with our libraries)

**New libraries**
Abseil 20250814.1
ThorVG 1.0.0-pre31
OpenJPH 0.25.2

**Updated libraries**
AOM 3.13.1
Expat 2.7.2
FFI 3.5.2
HIPRT 606b4886efabce918dd0634ef71c06615a47c83b
Imath 3.2.2
ISPC 1.29.1
libheif 1.20.2
MaterialX 1.39.4
MESON 1.9.0
minizip-ng  4.0.10
Numpy 2.3.4
oneAPI Level Zero 1.21.9
OneTBB 2022.3.0
OpenColorIO 2.5.0
OpenEXR 3.4.3
OpenImageDenoise 2.4.1
OpenImageIO 3.1.7
OpenSubDiv 3.7.0
OpenVDB 13.0.0
OpenXR 1.1.53
PIP 25.2
Python 3.13.9
ShaderC 2025.4
Vulkan 1.4.328
webp 1.6.0
Yaml CPP 0.8.0
ZSTD 1.5.7 (z-standard 0.25.0)

**Library changes**
FMT (moved from /extern to libs)
Ceres (updated version in lib, will be removed from /extern in a later commit)
Eigen (updated version in lib, will be removed from /extern in a later commit))

Ref #147201

Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com>
Co-authored-by: Ray Molenkamp <github@lazydodo.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>
Co-authored-by: Bart van der Braak <bart@blender.org>

Pull Request: https://projects.blender.org/blender/blender/pulls/149852
2026-01-22 18:49:15 +01:00
Jonas Holzman
9329c48f30 Deps: macOS arm64: OSL dependency rebuild
Ref blender/blender#147620
Ref blender/blender#147727

Pull Request: https://projects.blender.org/blender/blender/pulls/148153
2025-10-15 19:11:31 +02:00
Anthony Roberts
8a35d4e2bf Windows ARM64: 5.0 OSL threading update
As per #147727

Pull Request: https://projects.blender.org/blender/blender/pulls/148151
2025-10-15 18:37:33 +02:00
Ray Molenkamp
b215764842 Win64: Updated OSL Libs
This fixes #147361 and #147642
2025-10-15 10:07:45 -06:00
Sergey Sharybin
a3681c98ef Build: Linux libraries for OSL
Ref #147620
Ref #147727

Pull Request: https://projects.blender.org/blender/blender/pulls/147812
2025-10-15 16:29:48 +02: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
Sergey Sharybin
6993f445c6 Libx: Restore macOS libraries hash
It got accidentally changed in #144329.
2025-08-11 12:02:20 +02:00
Clément Foucault
7a97105b28 GPU: Remove wrapper type for gpu::StorageBuf
This is the first step into merging DRW_gpu_wrapper.hh into
the GPU module.

This is very similar to #119825.

Pull Request: https://projects.blender.org/blender/blender/pulls/144329
2025-08-11 10:35:53 +02:00
Anthony Roberts
0f190b7060 Deps: Windows ARM64: fastjsonschema 2.21.1 and cattrs 25.1.1
As per #141950 and #138940

Pull Request: https://projects.blender.org/blender/blender/pulls/143547
2025-07-29 15:38:41 +02:00
Sebastian Parborg
475dc7e711 Linux: Deps: fastjsonschema 2.21.1 + cattrs 25.1.1
These are the changes from #141950 as requested by #141945
this contains the following changes:

Attrs 25.3.0
Cattrs 25.1.1
Fastjsonschema 2.21.1
Typing_extensions 4.14.1
2025-07-29 14:27:48 +02:00
Jonas Holzman
8d9ecf8f55 Deps: macOS arm64: Fix Python blake2 wrongly linking to system libb2
Latest Python library commit (cae5307) introduced a wrong system link
to Homebrew's `/opt/homebrew/opt/libb2/lib/libb2.1.dylib`

Pull Request: https://projects.blender.org/blender/blender/pulls/143541
2025-07-29 14:09:25 +02:00
Jonas Holzman
cae5307a46 macOS arm64: Python: Add fastjsonschema 2.21.1 and cattrs 25.1.1 libraries
Ref: blender/blender#141950
Library Request: blender/blender#141945
5.0 Library changes issue: blender/blender#138940

This commit adds the following Python libraries:
- attrs 25.3.0
- cattrs 25.1.1
- fastjsonschema 2.21.1
- typing_extensions 4.14.1
2025-07-29 12:35:33 +02:00
Ray Molenkamp
c1ce72a8fc win64: Deps: fastjsonschema 2.21.1 + cattrs 25.1.1
These are the changes from #141950 as requested by #141945
this contains the following changes:

Attrs 25.3.0
Cattrs 25.1.1
Fastjsonschema 2.21.1
Typing_extensions 4.14.1
2025-07-25 13:15:32 -06:00
Thomas Dinges
e85de7a26b Builds: Remove macos_x64 submodule from git 2025-07-24 12:52:05 +02:00
Ray Molenkamp
e21cb781fb Merge remote-tracking branch 'origin/blender-v4.5-release' 2025-06-24 18:47:35 -06:00
Ray Molenkamp
e37d544e86 Deps: Win64: USD with PR #140102 2025-06-24 18:44:25 -06:00
Sebastian Parborg
f42b470902 Build: Update linux libs 2025-06-23 15:05:28 +02:00
Sebastian Parborg
e9bb088f77 Build: Update linux libraries 2025-06-23 15:05:28 +02:00
Sebastian Parborg
c8ba4415c9 Build: Update linux libraries 2025-06-23 15:04:06 +02:00
Aras Pranckevicius
8a5c874afb Build: point mac arm64 libraries to latest main
Looks like recent commit b561c78f93 accidentally reverted
them back to a several months old state
2025-06-20 17:49:54 +03:00
Alaska
b561c78f93 Nodes: Remove legacy combine/separate nodes
In Blender 3.3 (1) the individual combine and separate color nodes were
combined together into a single combine/separate color node.

To ensure legacy addons still worked, the old nodes were left in
Blender, but hidden from the Add menus.

It has been nearly 3 years since that change was made, most if not all
addons should have been updated by now. So this commit removes these
hidden legacy nodes.

(1) blender/blender@82df48227b

Pull Request: https://projects.blender.org/blender/blender/pulls/135376
2025-06-17 15:36:33 +02:00
Julien Duroure
7cce4d171f Merge branch 'blender-v4.5-release' 2025-06-17 12:02:41 +02:00
Aras Pranckevicius
507e15d06f Build: remove OpenCollada libs
Point libraries to their repos with OpenCollada removed

Pull Request: https://projects.blender.org/blender/blender/pulls/139920
2025-06-06 09:33:10 +02:00
Jonas Holzman
2dd0368dda macOS: Update arm64 and x64 libraries for 4.5
4.5 Library Changes Task: #136540

Pull Request: https://projects.blender.org/blender/blender/pulls/139858
2025-06-06 01:10:56 +02:00
Anthony Roberts
8ac5feb676 Windows ARM64: Rebuild OpenVDB for blosc changes
Ref: #139792

Pull Request: https://projects.blender.org/blender/blender/pulls/139824
2025-06-04 12:33:23 +02:00
Ray Molenkamp
36b072713a Win64: Libs: Rebuild of openvdb due to blosc changes
see #139792 for details
2025-06-03 10:41:34 -06:00
Sebastian Parborg
6d9dccd5af Libs: Update to 4.5 Linux libs
See #136540 for more information
2025-06-03 18:33:27 +02:00
Anthony Roberts
f9c05ba253 Windows ARM64: 4.5 Library Updates
Ref #136540

Pull Request: https://projects.blender.org/blender/blender/pulls/139649
2025-06-03 11:51:37 +02:00
Ray Molenkamp
0034b6cf3e Win64: Blender 4.5 Library update
see #136540 for details

Pull Request: https://projects.blender.org/blender/blender/pulls/139733
2025-06-02 16:28:50 +02:00
Ray Molenkamp
bf325bc1b8 Fix: Incorrect submodule hashes in previous commit
accidentally got committed in 2c5b9e182b
2025-05-12 08:48:10 -06:00
Ray Molenkamp
2c5b9e182b CMake: Add code coverage support for clang
Pretty bare bones but gets the job done, unlike the gcc
tooling, this will work for release builds, the performance cost
of it is on the high side of things, the full test suite tests take over
an hour for me with code coverage support enabled on a release build.
I have not timed a debug build. Given developers can just run their
tests to get coverage data over what they are working on, I feel this
is still useful tooling to have.

This adds the 3 targets for clang and adds a single gcc target

coverage-reset - this removes the collected code coverage data and
report

coverage-report - This merges the collected data and generates the
report (new for gcc)

coverage-show - This merges the collected data and generates the report
and opens it in the browser

This relies on llvm-cov and llvm-profdata being available if not found
code coverage is disabled.

Note: A full test run requires an obscene amount of disk space, a
complete test run takes about 125GB and takes 12 minutes to merge, so
provision the COMPILER_CODE_COVERAGE_DATA_DIR folder accordingly

Example report in PR
2025-05-12 16:28:41 +02:00