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
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
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
Correction to [0] which looks to have missed
relocating some scripts.
Also revert Python 3.6 compatibility as it's not required for tools.
[0]: e83d87f588
The goal of this test is to try to import some critical py scripts with the
system python of the building machine.
The main target is to ensure that these py scripts remain usable by all
buildbot machines, as some of them are using fairly outdated python
versions.
Current status:
* Scripts in `build_files` and `docs` are checked.
* Some python scripts in `build_files` were 'reverted' to be compatible
with older required python version currently (3.6).
* A few scripts are excluded from the test, mostly because they use Blender's
`bpy` module, which means they are only intended to be ran with Blender's
python anyway.
* The test is only enabled for Linux buildbots currently, as they use the
oldest Python by far.
Notes:
* Some more scripts are likely to be moved around in the future.
* Whether these tests need to be enabled on windows or macos platforms remains
an open question.
Pull Request: https://projects.blender.org/blender/blender/pulls/130746
This (optionally) uses the blender mirror for bootstrapping the msys2
environment, this is needed since some upstream providers remove older
packages frequently which makes it difficult to build older libs from
scratch.
Pull Request: https://projects.blender.org/blender/blender/pulls/131617
This commit introduces proper handling of ROCm 5 and ROCm 6 runtimes on
Linux, based on the version of the ROCm compiler used at build time.
Previously, HIPEW (the HIP equivalent of Cuda Wrangler) defaulted to
loading the ROCm 5 runtime. If ROCm 5 was unavailable, it would attempt
to load ROCm 6. However, ROCm 6 introduces changes in certain
structures and functions that are not backward compatible, leading to
potential issues when kernels compiled with the ROCm 6 compiler are
executed on the ROCm 5 runtime.
### Summary of Changes:
**Separation of Structures and Functions:**
Structures and functions are now separated into hipew5 and hipew6 to
accommodate the differences between ROCm versions.
**Build-Time Version Detection:**
The ROCm version is determined during build time, and the corresponding
hipew5 or hipew6 is included accordingly.
**Runtime Default to ROCm 6:**
By default, HIPEW now loads the ROCm 6 runtime and
includes hipew6 (Linux only).
**JIT Compilation Behavior:**
Since ROCm 6 is the default version, JIT compilation is supported only
when the ROCm 6 compiler is detected at runtime.
**HIP-RT Update:**
HIP-RT has been updated to load the ROCm 6 runtime by default.
These changes ensure compatibility and stability when switching
between ROCm versions, avoiding issues caused by runtime
and compiler mismatches.
Co-authored-by: Alaska <alaskayou01@gmail.com>
Co-authored-by: Sergey Sharybin <sergey@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/130153
Both the draw manager and gpu backend used the same compilation
directive for enablement. This PR seperates them into
`WITH_GPU_DRAW_TESTS` for draw manager related tests and
`WITH_GPU_BACKEND_TESTS` for gpu backend related tests.
Pull Request: https://projects.blender.org/blender/blender/pulls/132018
This applies upstream PR 13328 to our copy of dpcpp, which enables
building dpcpp on a many core box. I Upgraded my build env and
ran into this issue.
No rebuilds required, build time fix only.
The build commands for `ninja clean` on Windows were wrong - one had
the cmake executable duplicated and one was not using the correct
environment variable and also had missing quotes for paths that
contained spaces. Tested working on with `make ninja clean` and
`make ninja clean release`.
Pull Request: https://projects.blender.org/blender/blender/pulls/128802
The deps builder currently uses `check/enable_language(CUDA)` but given
it's just a coordinator for external builds, doesn't actually build any
cuda code.
The problem there is, for enable_language(CUDA) to work, the CUDA Visual
studio integration needs to be installed which they refuse to install
when only the VS buildtools are installed, they somehow require the
full IDE to be available. Cmake will try to compile some code and fail.
(this worked previously since i had a full VS install on my build
machine, but that should not be used due to ms not providing a back
catalog of older versions of VS community)
This change, changes things over to use the FindCUDAToolkit module (not
to be confused with the deprecated FindCUDA module), which just locates
the libraries, includes and nvcc but doesn't compile anything.
which neatly sidesteps the issue. None of our downstream deps rely on
the VS integration either, so we are in the clear..... for now..
Pull Request: https://projects.blender.org/blender/blender/pulls/130913
Windows build_deps tweaks:
- Support VS2022 for building x64 dependencies (this is not used yet,
but for local tests might be useful).
- Put artifacts and staging of windows deps builder under git ignore
Pull Request: https://projects.blender.org/blender/blender/pulls/130342
Suppress unused warnings using the "vulture" utility.
- Include public definitions in the modules `__all__`.
- Mark arguments & variables as unused with a "_" prefix.
Bump shaderc to latest release. The latest release
contains fixes that we applied locally to improve
compilation performance and also many fixes
that improve platform compatibility.
Pull Request: https://projects.blender.org/blender/blender/pulls/129971
In Blender 4.4 we are planning to use `VK_KHR_dynamic_rendering_local_read`
This is a fairly new extension and not included in the headers we are using at this moment.
This PR will update the headers to the latest version.
Pull Request: https://projects.blender.org/blender/blender/pulls/128995
Support importing scripts without running their logic to
allow basic validation (see #130746).
Parts of !131037 were used.
Co-authored-by: Bastien Montagne <bastien@blender.org>
Remove assert statement from make_update.py, making it ready for any
architecture.
Add riscv 32, 64 and 128 bit cpu architecture with little/big endian
to Blender's BLI_build_config.h and Libmv's build_config.h
Tested (to compile) on riscv64 little endian machine.
Pull Request: https://projects.blender.org/blender/blender/pulls/130920
The HIP compiler version was not being detected on first run in a fresh
build folder since HIP requires perl, and perl wasn't installed yet due
to the compiler detection running before the installs into the build
folder.
this change re-orders the compiler detection and environment preparation
so perl is available when we detect the hip compiler version.
Buildbot uses Python 3.9, so it needs to be supported.
Arguably, the system-wide Python 3.6 needs to be supported to, but
it is a bit more tricky change, and is not a stopper for now.
Pull Request: https://projects.blender.org/blender/blender/pulls/130664