Dylan Baker
85d95009f5
meson: use the wayland module
...
This module has existed, unchanged, since Meson 0.64, and is now marked
as API stable in 1.8. It provides a number of helpers that reduce the
amount of code we need (including fiddly code about finding
wayland-scanner) by a bit, as well as some nice helpers for finding
external XML files.
2025-07-02 15:32:17 -07:00
Eric Engestrom
4be493862d
meson: only run symbols-check if nm is available
...
And drop the redundant check from symbols-check.py, which was actually
masking all kinds of issues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:25 +00:00
Adam Jackson
6a28d6707d
meson: Require LLVM 8 or newer
...
This isn't a huge cleanup on its own, but it lets us start assuming
coroutine support, and I would like to unify graphics shader dispatch
to work the same way as compute shader dispatch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35374 >
2025-07-02 18:49:22 +00:00
Dylan Baker
2e2826d121
meson: use .enable_if for intel tools dependency on expat
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Dylan Baker
66a30385fe
meson: change RadV dependency on LLVM to an ACO tests dependency
...
RadV itself doesn't require LLVM, only the ACO tests do. So stop
requiring LLVM for ACO without its tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Dylan Baker
39ccd7899c
meson: use feature options for LLVM
...
This allows us to get better error messages in cases where LLVM has been
explicitly disabled but not found, as well making use of the feature
object for the required argument to dependency. This in turn can give
better error messages when the object is used incorrectly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Nicolas Dufresne
4008300672
build: Include panfrost to the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Nicolas Dufresne
3ce37fcbb5
build: Sort the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Dylan Baker
dd45e25dc3
meson: update b_sanitize check for Meson >= 1.8
...
In Meson 1.8 the b_sanitize option was changed from an enumerated set of
known sanitizers to an array of options to test with `-fsanitize`, this
means that the thread sanitizer could be used in conjunction with one
or more other sanitizers and we need to account for this. Use
`.contains()` to check if `thread` is in the sanitizer list
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35747 >
2025-06-26 14:59:27 +00:00
Eric Engestrom
1a6fc7006a
meson: split subdir for virtio/vdrm and virtio/vulkan
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:48 +00:00
Eric Engestrom
a1daeb87a8
meson: fix vdrm inclusion logic
...
This is about which driver use vdrm, not which OS we're on.
Fixes the build on non-KMS/DRM system.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12899
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:48 +00:00
Eric Engestrom
b4ed35994d
meson: bump required meson version to 1.4
...
See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652#note_2973761
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35742 >
2025-06-25 21:55:16 +00:00
Eric Engestrom
474774ea58
meson: drop error for meson < 1.3 since we require 1.3+ already
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35742 >
2025-06-25 21:55:16 +00:00
Mary Guillemard
e8137404b6
meson: make clz available in OpenCL code
...
for various math helpers.
the clzll version isn't available since long long is 128-bit for CL.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Gurchetan Singh
f7a9991b89
mesa: add option to enable virtgpu_kumquat FFI for gfxstream
...
Will be used by Cuttlefish CI/CD, but also commonly used by
gfxstream developers.
meson setup gfxstream-build -Dvulkan-drivers="gfxstream" -Dgallium-drivers="" -Dvirtgpu_kumquat=true -Dopengl=false -Drust_std=2021
In distros, virtgpu_kumquat is not expected to be packaged since
it is a CI/CD tool.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:55 +00:00
Matt Jolly
1a698c75ae
build: Rust: Bump minimum Meson and bindgen version
...
Meson 1.7.0 is required to ensure that generated bindings
are suitable for use with the selected Rust compiler.
Bindgen is bumped to 0.71.1 which has more permissive handling of
`--rust-target`, enabling (almost) any valid Rust version to be
passed as a target; `-nightly` and `-beta*` suffixes are an exception
to this.
This behaviour is expected to improve further with later versions of
Meson; upstream fixes have landed that:
- pass a stripped version string to bindgen
- additionally pass an appropriate `--rust-edition` if `rust_std` is
set (or "nightly" if the compiler is `nightly`).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12680
Bug: https://bugs.gentoo.org/946913
Signed-off-by: Matt Jolly <kangie@gentoo.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
Sil Vilerino
38d2133e3e
ci: Add Windows SDK 26100 to msvc image
...
Keep older 10.0.20348.0 SDK as well. Also change:
mesa_deps_test_piglit - Add CMAKE_POLICY_VERSION_MINIMUM=3.5 and _UCRT_NOISY_NAN
mesa_deps_test_deqp - Add CMAKE_POLICY_VERSION_MINIMUM=3.5 and CMAKE_SYSTEM_VERSION=10.0.20348.0
meson: When building with MSVC, add -D_UCRT_NOISY_NAN to workaround Win SDK 26100
D_UCRT_NOISY_NAN is for SDK 26100 issue:
https://developercommunity.visualstudio.com/t/NAN-is-no-longer-compile-time-constant-i/10688907
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Lionel Landwerlin
f0e18c475b
intel: remove GRL/intel-clc
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35227 >
2025-05-29 20:17:13 +00:00
Matt Turner
278d894146
meson: add wrap for libdrm
...
This allows building Mesa with the Android NDK, which doesn't provide
libdrm.
We will generate an `Android.bp` file using the `ninja-to-soong` tool
(https://github.com/rjodinchr/ninja-to-soong ), and to do this we run
Mesa's standard meson build system to generate the ninja commands that
we then translate to soong.
That meson invocation is done using the Android NDK, which doesn't
provide libdrm, so until we find an alternative solution[*] we provide a
wrap file that builds libdrm as part of the Mesa build (but does not
install it--we still use the Android-provided libdrm at runtime)
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35058 >
2025-05-27 16:07:29 +00:00
Mike Blumenkrantz
00aaef9f12
delete gallium-nine
...
farewell, old friend
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34887 >
2025-05-23 13:43:37 -04:00
Mike Blumenkrantz
3be2c47db2
delete the XA frontend
...
this is unmaintained and untested
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34823 >
2025-05-23 12:46:23 -04:00
Pohsiang (John) Hsu
d348fd5fb5
mediafoundation: Add mediafoundation frontend
...
Reviewed-by: <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843 >
2025-05-23 15:30:04 +00:00
Christian Gmeiner
9da5eafa8e
util/perf: Add sysprof integration
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893 >
2025-05-23 11:27:14 +00:00
LingMan
3fbee8bae6
meson: Streamline silencing of warnings in bindgen generated code
...
Everyone was doing roughly the same.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34969 >
2025-05-21 17:11:08 +00:00
Sil Vilerino
33f670d869
d3d12/meson: Add USE_D3D12_PREVIEW_HEADERS compiler flag based on dep_dxheaders.version()
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13126
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35057 >
2025-05-19 11:32:17 -04:00
Alyssa Rosenzweig
d2ac44dfde
meson: make ffs available in OpenCL code
...
for u_foreach_bit.
the ffsll version isn't available since long long is 128-bit for CL.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34909 >
2025-05-14 11:29:09 -04:00
Mike Blumenkrantz
5844dea316
delete clover
...
there comes a time when a project has to be declared unfit to remain
in the tree
this frontend hasn't seen actual development in about 6 years
if someone has a pressing need to continue development, there's no
blocker to un-deleting it, but unless that happens, there's now a
more featureful, more conformant, more active CL frontend in the tree
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385 >
2025-04-16 10:01:44 -04:00
Adam Jackson
c4b305079d
meson: Simplify the power8 optimization logic
...
If it compiles, it works. And there's not a particularly good reason to
disable it, so don't let people disable it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34239 >
2025-04-14 14:12:30 +00:00
Mike Blumenkrantz
cf40099730
meson: deprecate gallium-xa
...
this is not maintained and will be removed in a future version
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34216 >
2025-04-09 23:16:42 +00:00
Mike Blumenkrantz
6b6cb825e9
meson: deprecate gallium-nine
...
this is not maintained and will be removed in a future version
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34216 >
2025-04-09 23:16:41 +00:00
K900
3d7bfcf984
meson: support building with system libgbm
...
This is the next step towards making libgbm just a loader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33890 >
2025-04-09 12:15:33 +00:00
Robert Mader
8b76f521a0
meson: Bump minimum version to 1.3.0
...
Builds currently fail on older versions since the commit
below.
Fixes: f35172b6a4 (meson: make CL args common)
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34313 >
2025-04-04 17:15:34 +00:00
Eric Engestrom
a39090921e
meson: drop deprecated swrast alias for softpipe+llvmpipe
...
We accidentally kept it one more release cycle than we meant to ^^'
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34217 >
2025-03-26 21:44:26 +00:00
Mike Blumenkrantz
773f84ccc9
meson: add i915 to 'all' build for gallium-drivers
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34046 >
2025-03-13 22:12:56 +00:00
Eric Engestrom
a0b457aca6
meson: announce that clover is deprecated (slated for removal)
...
See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385 ;
the timeline is not 100% decided yet, but let's warn users already.
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34021 >
2025-03-13 12:20:45 +00:00
Samuel Pitoiset
5fe5fb147e
meson: add build-radv-tests option
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:15 +00:00
Eric Engestrom
1f93dd7d37
meson: simplify video-codecs option parsing
...
The extra `all_free` that now remains in the list will be ignored in the
loop below anyway so there is no need to have complex code to try to
remove it.
This also means it becomes possible to set things like
`-D video-codecs=all_free,vc1dec`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33949 >
2025-03-11 20:21:57 +00:00
Marek Olšák
fefb1a6fb3
meson: remove with_shared_glapi variable (it's always true)
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33794 >
2025-03-06 17:13:22 +00:00
Marek Olšák
e5c76088e9
meson: never use static glapi because shared glapi is also static and better
...
Shared glapi is already statically linked with libmesa (src/mesa),
and some parts are statically linked with loaders.
Static glapi will be removed after this is merged.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33794 >
2025-03-06 17:13:22 +00:00
Alyssa Rosenzweig
4d6e37066a
meson,clc: set CL standard from meson
...
this is slightly less weird I think.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33879 >
2025-03-06 00:43:59 +00:00
Alyssa Rosenzweig
256cc0c927
meson: set NDEBUG appropriately for OpenCL
...
this strips device-side asserts in release drivers. this is a behaviour change
for asahi/panfrost/nvk, but hopefully a welcome one!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33879 >
2025-03-06 00:43:59 +00:00
Alyssa Rosenzweig
f35172b6a4
meson: make CL args common
...
this will let us unify behaviour across drivers a bit more.
no functional change here. (intel is specifically excluded to avoid a functional
change.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33879 >
2025-03-06 00:43:59 +00:00
Marek Olšák
027ccd963b
Remove osmesa
...
It's redundant with EGL surfaceless and it doesn't have much use.
It's also available from the amber branch, so distros should get it from
there if they want to continue packaging it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33836 >
2025-03-04 00:40:39 +00:00
Xaver Hugl
53b40a40f4
increase required wayland-protocols version to 1.41
...
This version contains the color management protocol.
This commit also adjusts the build-wayland script to mention
that the DEBIAN_BASE_TAG also has to be bumped.
Signed-off-by: Xaver Hugl <xaver.hugl@kde.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32038 >
2025-02-25 21:24:11 +00:00
Alyssa Rosenzweig
feedd427b3
nvk: rewrite query copy shader in CL C
...
as previously discussed.
this is using "library CL" instead of kernel CL, which is the older way of doing
things. it works, it just has more boilerplate per-kernel than we'd want
otherwise. but library CL is basically free to integrate into a driver, whereas
kernel CL requires a lot more upfront investment. (I'm working on cleaning that
up but we're not quite there yet.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33362 >
2025-02-24 21:15:26 +00:00
Dmitry Baryshkov
6f3062dffa
meson: add freedreno (turnip) Vulkan to arm64 defaults
...
On Aarch64 enable freedreno Vulkan driver (turnip) by default. It is
stable enough to be enabled by default on the relevant platform.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33462 >
2025-02-11 14:35:16 +00:00
Mary Guillemard
20970bcd96
panfrost: Add base of OpenCL C infrastructure
...
This allows compiling CL shaders into a single SPIR-V library per arch,
NIR call bindings for each functions and precompilled binaries for each
entrypoints.
We are only going to support Bifrost and Valhall for this.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Jung-uk Kim
f9fc7392fa
FreeBSD: Disable support for "-mtls-dialect" for FreeBSD
...
Clang 19 supports "-mtls-dialect=" but FreeBSD does not support "-mtls-dialect=gnu2".
Skip auto-detection for FreeBSD.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31931 >
2025-02-04 19:18:44 +00:00
Lionel Landwerlin
6d5375017a
compiler: drop vtn_bindgen
...
Now unused
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33329 >
2025-02-01 07:54:37 +00:00
Marek Olšák
82047fa82f
amd: drop support for LLVM 15, 16, 17
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33211 >
2025-02-01 04:22:30 +00:00