This change uses a symbol map to hide PugiXML symbols from MaterialX libraries
when dependencies are built. This avoids conflict with symbols from pugixml.a
used by Blender for the Grease Pencil SVG exporter.
The root cause of the conflict has been addressed upstream:
https://github.com/AcademySoftwareFoundation/MaterialX/pull/1944
However, the patch does not cleanly apply on 1.38, and it not cleat when the
next 1.39 is released. Additional complication is that reportedly USD does
not yet support MaterialX 1.39.
This fix is only for Linux. Similar thing can be applied on macOS, however so
far I could not reproduce the issue on macOS.
Ref #124173
Pull Request: https://projects.blender.org/blender/blender/pulls/126518
This is not an officially supported platform, but it was working before
so might as well keep it up to date.
* Tweak logic for various BLENDER_PLATFORM_ARM checks
* Use linux_arm64 name for folders, matching Windows and macOS
* CUDA is enabled, SYCL and HIP are not
* Tested to work on Rocky Linux 8
This is a backport of a patch in SPIRV-Tools that will allow faster
parallel compilation.
See https://github.com/KhronosGroup/SPIRV-Tools/issues/5802 for the
original report.
The issue is that SPIRV tools used a stringstream to convert an uint32_t
to a string when optimizing shaders. stdlib provided by the platform
would set a locale and would mutex globally, making parallel compilation
fully lock. Compilation lead times were as fast as single threaded
compilation.
Pull Request: https://projects.blender.org/blender/blender/pulls/127564
This change makes it so that HIP-RT libraries are built as a part
of the rest of the dependencies.
The libraries are built and placed to the `lib-<platform>/hiprt`. They
are not currently used, but are needed to simplify transition of Cycles
to these new libraries.
The actual Cycles side is done in #121050
Pull Request: https://projects.blender.org/blender/blender/pulls/127719
IGC 1.0.17384, ocloc 24.31.30508, which:
- add support for Battlemage and Lunar Lake GPUs
- recover from recent performance regression on Linux
- allow to drop older work-around
(9d5164d472) and need for a patched
version on Windows
- ocloc now needs "dg2,mtl" naming for fat binaries.
opencl-clang patches don't get applied anymore by igc build scripts
when llvm is not a git repository, hence I could also drop we can drop
current patch disabling patching.
I've only slightly pushed min-driver-version updates after carefull
testing, instead of jumping to the same version as ocloc as we use to.
Pull Request: https://projects.blender.org/blender/blender/pulls/127251
Since ee1b2f53cc the ffmpeg libraries for Windows x64 are built effectively
without CPU specific SIMD optimizations. `--arch=x64` is not an architecture
that ffmpeg configure understands, so it falls back to "nothing is known,
turn any architecture specific bits off" code path.
Pull Request: https://projects.blender.org/blender/blender/pulls/126396
Python bundles pip, but does not track CVEs reported against it.
Add an explicit CPE to be able to detect CVEs affecting pip version
bundled with Python.
Currently it is a manual process of keeping the version in sync with
the one used in Python.
The CVE-2018-20225 is essentially marked as ignored. It is not fixed
upstream, and other users like Debian are also essentially ignoring
this CVE:
https://security-tracker.debian.org/tracker/CVE-2018-20225
Pull Request: https://projects.blender.org/blender/blender/pulls/125648
The mnemonic for the remark Ignored has been split into False Positive
and Not Affected in the recent version of cve_bin_tool, preventing it
from properly parsing the CVS file and not being able to do proper
report.
Use Not Affected, as it is seems to be the closest to what Ignored was
used for in our case.
Pull Request: https://projects.blender.org/blender/blender/pulls/125645
Fribidi uses Meson, which auto-detects presence of ccache and uses it
when found. This could cause incorrect compilation results when doing
a cross-compilation to different platforms on the same machine.
Pass the typical configuration environment to the Meson setup, which
takes care of specifying deployment targets and architecture as the
compiler flags, preventing ccache from using result from a different
architecture.
This is similar to the Meson setup used for Harfbuzz and Epoxy.
Pull Request: https://projects.blender.org/blender/blender/pulls/123828
The resulting .pyd files for a debug build had wrong filenames.
MaterialX and OpenImageio used incorrect soabi tags, while usd
had a double _d_d postfix.
These changes should not affect linux+mac