The mesa package currently can't compile as Cython dependency fails to
compile with Python >= 3.13 version.
To fix this, bump all the host pip requirements tools to latest stable
version.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Mesa 25.2 brings a bunch of new features, especially the Panfrost Vulkan
driver saw many improvements.
See https://docs.mesa3d.org/relnotes.html for details about what has
happened since Mesa 25.1.6.
Note that OSMesa as well as the old OpenCL 1.1 support has been dropped.
The new Rusticl OpenCL implementation cannot be supported yet as OpenWrt's
meson integration still lacks support for Rust at this point.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Trying to express the dependency on libatomic conditionally didn't work
well and the effort also simply isn't worth it: given the size of mesa
itself, libatomic is negligable.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add dependency on libatomic also for non-ARMv6 ARM targets as well as
big-endian ARM (xscale). Obviously they are all unlikely to ever
actually use Mesa.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Support for off-screen rendering ("libOSMesa") has been dropped upstream.
In order to still be able to cross-compile the panfrost driver also on
non-Linux buildhosts, or Linux hosts without libdrm, a patch has been
applied.
This patch has also been submitted upstream via
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36170
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Fix build errors on the noted platforms. Builds were failing with:
Package libmesa-amd is missing dependencies for the following
libraries:
libatomic.so.1
Signed-off-by: W. Michael Petullo <mike@flyn.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
mesa-clc set to 'system' requires the system tool 'mesa-clc' which gets
built as part of the mesa/host build.
The mesa/host build however depends on LLVM and others - hence we're
trying to avoid pulling this in where possible if target configuration
allows.
meson option 'mesa-clc' allows for 3 options: enabled, system, auto.
While 'auto' sounds like it will only automagically go for either
'enabled' or 'system', it will also disable CLC support entirely, if
only drivers are enabled which don't need it (resulting in
`with_clc=false`) - which is exactly what we want.
This relies on only drivers being selectable, which don't automatically
enable CLC - if LLVM support is disabled.
Clover only implements OpenCL API for nouveau, r600 and radeon-si GPUs.
Remove OpenCL library packages for targets which anyway implement 0% of
the API and are hence useless.
See also https://mesamatrix.net
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Define all CONFIG_PACKAGE_* symbols which may change build configuration
and only build broadcom drivers on ARM targets with FPU.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Make sure build dependency to mesa/host is set for x86 and x86/64 builds,
add missing dependency on Python ply and make sure to always prefer LLVM
subproject to avoid picking up LLVM from the build host (which may not
match SPIR-V converter tool version).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Configure build to never link against libunwind or valgrind.
Prevents accidental linkage against those libraries in case they are
present.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Apart from switching to a newer upstream version, also improve the
build:
* introduce build-variants for each kind of hardware
* use LLVM
* build more Gallium drivers
* build Vulkan drivers
* build Clover OpenCL library
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add missing dependencies on libzstd and libsensors which some libraries
link against if detected during build.
Fixes: #27
Reported-by: @dreirund
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* build vulkan drivers only if selected
* disable broadcom vulkan driver as it causes meson-related
build troubles (unrelated to the version bump)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>