Commit Graph

3979 Commits

Author SHA1 Message Date
Nikita Sirgienko
e6c1eb59cb Merge branch 'blender-v4.4-release' 2025-02-05 15:13:28 +01:00
Nikita Sirgienko
bee534eea5 Build: Upgrade Intel Graphics Compiler to 2.1.14 on Linux
This corresponds the latest rolling 2448.13 release:
https://dgpu-docs.intel.com/releases/packages.html?release=Rolling+2448.13&os=Ubuntu+24.04

Graphics compiler upgrades require increasing the minimum required
driver (compute-runtime) version to the corresponding one to guarantee
compatibility, which is XX.XX.31740.15 in this release, so we bump this
requirement accordingly.

Co-authored-by: Xavier Hallade <me@ph0b.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/134051
2025-02-05 15:00:04 +01:00
Thomas Dinges
eaef5e87c2 Revert "Release: Bump branch to 4.4 Beta."
This reverts commit 8a6e3a0bd7.
2025-02-05 11:25:54 +01:00
Thomas Dinges
8a6e3a0bd7 Release: Bump branch to 4.4 Beta.
Splash screen by Flow.
2025-02-05 11:24:33 +01:00
Brecht Van Lommel
7b976eb810 Build: Add OpenSubdiv patch to silence ASAN warnings
Until upstream PR #1343 is merged.
2025-02-04 18:02:34 +01:00
Brecht Van Lommel
f29e0546e3 Build: Enable custom USD namespace for Blender again
This was removed to make building USD plugins easier, without the need to
compile them for Blender specifically. However it also causes errors when
using the bpy module together with the usd-core pip package.

In practice there are not many USD plugins, and often need to be compiled
for Blender specifically anyway due to the monolithic library and DCCs being
on different USD versions.

Additionally, this adds a patch to avoid conflicts when loading the
same USD library version through Blender and usd-core on Windows and macOS.

Fix #127132: Crash using bpy and usd-core pip package together.

Co-authored-by: Ray Molenkamp <github@lazydodo.com>

Pull Request: https://projects.blender.org/blender/blender/pulls/133083
2025-02-04 18:02:34 +01:00
Bastien Montagne
e5bf3a28aa install_linux_packages: updated USD and materialX versions.
USD: 24.11
MaterialX: 1.38.10

See also #128577.
2025-02-04 17:29:56 +01:00
Bastien Montagne
5ea5cb9b13 install_linux_package: update OpenEXR, OCIO, OpenVDB versions.
OpenEXR: 3.3.2
OpenColorIO: 2.4.1
OpenVDB: 12.0.0

Also sync up exact FFMPEG version with reference (6.1.1, from
`versions.cmake`), and accept 7.x versions since Blender should also be
compatible with this major release.

See also #128577.
2025-02-04 17:29:56 +01:00
Bastien Montagne
f871815663 install_linux_packages: Updated Boost and OneTBB versions.
Boost: 1.85.0
OneTBB: 2021.13.0 (min is now 2021.0.0).

See also #128577.
2025-02-04 17:29:56 +01:00
Bastien Montagne
92d2544aa1 install_linux_package: Update python-related packages versions.
Python3: 3.11.11
CPython: 3.0.10
NumPY: 1.26.4

See also #128577
2025-02-04 17:29:56 +01:00
Bastien Montagne
66aa535faf install_linux_packages: Fix debian package query invalid results.
Turns out, `apt-cache` will not use exact package names match, leading
to invalid successful results in case a given package does not exist,
but a extended-name one does (e.g. looking for `python3.11` will return
results for packages like `libpython3.11-stdlib`...).

So add a first check using `apt show`, to ensure the requested package
name does exist first!

Also add a `__repr__` callback to the `PackageInstaller` class.
2025-02-04 17:29:56 +01:00
Thomas Dinges
d66b10bac0 Cleanup: Remove transform parameter now that asset folder was updated. 2025-02-04 16:43:54 +01:00
Thomas Dinges
21873221f8 Fix make_source_archive using outdated path to assets. 2025-02-04 16:19:54 +01:00
Bastien Montagne
06558d639e install_linux_package: Update/add OneAPI level-zero package.
Add package for Debian and Suse distros. Upgrade version to 1.19.2.

See also #128577.
2025-02-04 12:54:12 +01:00
Bastien Montagne
646d94be58 install_linux_package: Update Embree and OIDenoiser.
Embree: 4.3.3
OpenImageDenoiser version: 2.3.2

See also #128577
2025-02-04 12:54:12 +01:00
Bastien Montagne
88149918f1 install_linux_package: add harfbuzz library.
Although not currently used by `main` Blender, this library has been
tracked by platform maintainers for some times now, so time to also add
it to this script.

See aslo #128577.
2025-02-04 12:54:12 +01:00
Xavier Hallade
886cd0244f Build: Work around VS2019 compiler error when compiling DPC++
Pull Request: https://projects.blender.org/blender/blender/pulls/132763
2025-02-03 20:58:00 +01:00
Xavier Hallade
bdb093f58d Build: upgrade DPC++/Level-Zero to 6.0.0-rc1/1.19.2 releases
including a backport of device image compression:
https://github.com/intel/llvm/pull/15124 that can be enabled by adding
`--offload-compress` compiler option.
2025-02-03 20:58:00 +01:00
Xavier Hallade
7fb480095e Build: Embree: upgrade from 4.3.2-blender to 4.3.3 2025-02-03 20:58:00 +01:00
Campbell Barton
59732c95d8 Cleanup: strip trailing space for TOML,HTML & XML 2025-02-02 13:58:34 +11:00
Campbell Barton
4cd827870d Cleanup: quiet check_spelling_* targets
Also correct outdated references to `ghash`.
2025-02-02 13:58:34 +11:00
Campbell Barton
9d4b48b107 Cleanup: spelling in build-files & docs 2025-01-31 15:22:50 +11:00
Ankit Meel
301e298040 Build: Remove macOS mold and lld linkers support
The mold linker doesn't support macOS anymore. The sold linker
gets no new releases since the Xcode 15+ linker is at par with sold.

https://github.com/bluewhalesystems/sold/issues/50#issuecomment-2076249631
https://github.com/rui314/mold/issues/189#issuecomment-1495288926

Pull Request: https://projects.blender.org/blender/blender/pulls/133634
2025-01-30 18:21:38 +01:00
Aras Pranckevicius
73f8e4c3c6 Build: echo currently compiled file names when using clang-cl on Windows
MSVC does this by default, and is a good way to see build progress
indication, when using msbuild. clang-cl also got that option back
in 2018, but it is off by default.

Pull Request: https://projects.blender.org/blender/blender/pulls/133810
2025-01-30 13:43:29 +01:00
Lukas Stockner
c997e61414 Cycles: Bump minimum OSL version to 1.13.4
That version has a bunch of API changes, so by dropping support for older
versions we can remove old compatibility code.
Also, that version is required for OptiX support, so building a fully-featured
Cycles wasn't possible with older OSL anyways.

Pull Request: https://projects.blender.org/blender/blender/pulls/133746
2025-01-29 21:17:21 +01:00
Ray Molenkamp
78cf27df32 Deps: Update GLU/Mesa upstream URIs
Looks like their ftp server isn't responding, switched
over to https.
2025-01-28 09:30:32 -07:00
Nicholas Rishel
fbcfb7791e Build: Add support for absolute paths for builddir in make.bat
Pull Request: https://projects.blender.org/blender/blender/pulls/133351
2025-01-26 21:20:53 +01:00
Ankit Meel
b858319dd3 macOS/QuickLook: support rich thumbnail in Finder
Support thumbnail that shows the file contents instead
of the default blend file icon for all files in Finder.
Some files may still have the usual blender icon as thumbnail
depending on their contents.

blender-thumbnailer process is kept alive by the system
in the background and is invoked by QuickLook when needed.

The checkbox to disable the extension is present in
the Settings app.

It will NOT be an interactive "Preview" that allows richer
interactions like Panning viewport, or rotating 3D objects.
2025-01-23 17:00:19 +01:00
Patrick Mours
bedf7ff0c1 Fix #132036: Minimum CUDA architecture in generated OSL PTX code
Cycles supports OptiX on Maxwell and up architectures, but the
default in OSL is to generate PTX targeting Pascal and up. Adjust the
OSL target architecture to Maxwell to fix this.

Pull Request: https://projects.blender.org/blender/blender/pulls/133011
2025-01-23 10:38:05 +01:00
Ray Molenkamp
98addc0191 Windows: Minor clang-cl changes
- WITH_WINDOWS_EXTERNAL_MANIFEST is now required even for ninja
builds, this previously was not the case. so just apply it
across all build flavours on windows.

- fmsc-version=1922 is no longer needed, was required back when
support for clang on windows landed, is fine without it now.

- /MP gives better build performance when building from the IDE
makes no difference for a ninja build which wasn't struggling in
that department anyhow.
2025-01-22 13:18:57 -07:00
Ray Molenkamp
7c657e250e make.bat: remove 2019pre support and update help
2019 no longer has a preview track, so support for it can
safely be removed. The help also incorrectly advertised
asan as a clang only feature, which is no longer true as
msvc supports it these days.
2025-01-22 11:12:11 -07:00
Brecht Van Lommel
c749f6c376 Cleanup: Remove unnecessary usage of Boost in the build system
* Some libraries like Alembic and OpenColorIO for a long time removed
  header dependencies on Boost.
* No need to have BOOST_LIBRARIES anymore, only BOOST_PYTHON_LIBRARIES
  is a direct dependency through USD headers.
* OpenVDB is no longer a static library, no need to link its dependencies.

Pull Request: https://projects.blender.org/blender/blender/pulls/133424
2025-01-22 10:02:22 +01:00
Brecht Van Lommel
820f261371 Refactor: Replace Boost Locale for translation
Use code adapted from boost::locale to implement locale name parsing
and .mo file reading ourselves.

Together with #132142 this removes the last direct Blender dependency
on Boost.

Pull Request: https://projects.blender.org/blender/blender/pulls/133347
2025-01-22 09:00:32 +01:00
Nikita Sirgienko
84bc5741cc Build: Upgrade OIDN to 2.3.2
This upgrades OIDN to the 2.3.2 release
and bring minor improvements.

Ref #128577

Pull Request: https://projects.blender.org/blender/blender/pulls/133321
2025-01-20 16:51:04 +01:00
Ray Molenkamp
89efa94a2d Fix #132198: Remove license dialog from the msi installer
This also removes the component selection, made sense when you could
install both blender and the game-engine player individually but since
the game-engine got removed the dialog is a bit strange, as if one were
to turn any of the components off you'd end up with a non-functional
blender.

The wix documentation [1] has the details on how/why the license dialog skip works.

[1] https://wixtoolset.org/docs/v3/wixui/wixui_customizations/#changing-the-ui-sequence-of-a-built-in-dialog-set

Pull Request: https://projects.blender.org/blender/blender/pulls/132308
2025-01-17 18:45:26 +01:00
Brecht Van Lommel
7c2ace05ab Cleanup: Correct logic for static Embree library SIMD libs
We are only using a dynamic library so this doesn't matter in practice,
just better to avoid having wrong examples in the code.

Pull Request: https://projects.blender.org/blender/blender/pulls/133105
2025-01-15 16:52:30 +01:00
Brecht Van Lommel
381e125153 Fix: Invalid character in bpy package description on pypi
Unclear why this started happening since the 4.3.0 package, maybe an update
to Python on the build machine.
2025-01-15 09:42:05 +01:00
Ray Molenkamp
716fda7df1 Deps: Windows: Add back nuke convenience script
To easily force a rebuild of a dependency the nuke script will remove all build
artifacts for a specific dependency from the dependency build folder. This includes

- The Debug and Release build folder of the dependency
- The Debug and Release staging output folder of the dependency
- The harvest output folder of the dependency

For dependencies that have a long dependency chain like embree, shaderc and
python extra convenience scripts are added that nuke the additional deps that
need to be removed to obtain a fully clean build.
2025-01-14 18:12:02 -07:00
Ray Molenkamp
9d69327418 Deps: Windows: x64: Update dependency build scripts
These scripts have not been updated in years, and locally i had better
versions of them. This commit updates them to the latest i had locally
this should hopefully lower the barrier to building the dependencies by
other developers as all that is needed is a fresh VM with a clean
windows install.

Removed:

buildall.cmd - not useful, we no longer build for 2 vs versions
and 2 architectures , removed

nuke.cmd - same, may come back in the future in some form

New:

vmprep.cmd.txt - This preps a clean windows vm with the correct
versions of visual studio/cuda/git/hip/meson to build all dependencies.

this should only and ever be run on a clean install of windows, do not
under any circumstances run this on a developer workstation.

to prevent people from doing this anyhow this script has a .txt
extension so it cannot be accidentally executed, instructions on how to
run this script are this file.

vmbuild.cmd.txt - Helper build script, vmprep will provision the build
machine with this script.

vsconfig_2019 - installer script for visual studio 2019 to select the
workloads we require.
2025-01-14 10:52:44 -07:00
Brecht Van Lommel
cd7e5f0357 Build: Link to fewer Boost libraries
There were still a bunch of indirect dependencies from when static
linking was used. No need to link Blender against them.

Pull Request: https://projects.blender.org/blender/blender/pulls/132914
2025-01-13 10:40:18 +01:00
Campbell Barton
f829fefabe CMake: disable WITH_PIPEWIRE for lite builds 2025-01-09 13:07:54 +11:00
Sergey Sharybin
db6606dab9 Buildbot: Allow specifying explicit HIP version for Linux
Previously it was a single version specification which was only
used by Windows.

In practice we actually have two different SDKs for Linux and
Windows. This change makes it possible to specify explicit HIP
version for Linux which could be different from Windows.

No functional changes expected, the same HIP SDK version is
used, just explicitly.

Ref #131976

Pull Request: https://projects.blender.org/blender/blender/pulls/132694
2025-01-08 15:24:35 +01:00
Jonas Holzman
b2737510ee Deps: Update Boost library download URL
The current Boost download source we use (boostorg.jfrog.io) was
shut down, this PR replaces it with the new CDN (archives.boost.io)
the official boost.org website has switched to.

Refs:
https://github.com/boostorg/website/pull/900
https://github.com/boostorg/boost/issues/845#issuecomment-2541753013
https://github.com/boostorg/boost/issues/842

Pull Request: https://projects.blender.org/blender/blender/pulls/132774
2025-01-08 10:16:51 +01:00
Sebastian Parborg
bb53214661 Audaspace: Enforce minimal pipewire library version
While I implemented pipewire support I forgot that some of the functions I use is not available in older pipewire versions.

This adds proper library version sanity checks for pipewire.

Pull Request: https://projects.blender.org/blender/blender/pulls/131610
2025-01-06 18:19:08 +01:00
Campbell Barton
77041084cd Cleanup: quiet uninitialised variable warnings in CMake 2025-01-06 17:57:11 +11:00
Campbell Barton
4f1817cc18 Cleanup: declare __all__ for Python scripts
Declare all to make public public API's explicit and
help detect unused code.
2025-01-06 16:45:36 +11:00
Campbell Barton
c27bf6bef8 Cleanup: CMake indentation 2025-01-06 12:48:51 +11:00
Campbell Barton
3091dadfeb Cleanup: declare __all__ for some scripts in build_files/ 2025-01-04 20:37:46 +11:00
Campbell Barton
33e38c605f Cleanup: correct indentation for CMake files, strip trailing space 2025-01-03 13:23:38 +11:00
Ray Molenkamp
5783950ac5 Revert: 0dc484f9cc bf_rna modernisation
This caused build errors on the docs builder, I can't seem to reproduce
locally, so revert for now and have another look at some point in the
future.

Sadly as these changes usually go, this took 5c515e26bb and
2f0fc7fc9f with it as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/132559
2025-01-02 19:56:24 +01:00