summaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2019-05-08meson: Force the use of config-tool for llvmDylan Baker1-0/+1
meson git now has a cmake find method for llvm, but it lacks a couple of features that we use from the config tool version. Until that reaches parity we need to use the config-tool version. CC: 19.0 19.1 <<mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-05-03meson: make nm binary optionalDylan Baker1-1/+4
This makes nm not required, but used if found. In general I imagine that this means that on windows nm wont be found, and on other platforms it will. v2: - fix gbm and egl symbols check tests to only be run if nm is found - reword commit message to reflect the code change Reviewed-by: Eric Anholt <eric@anholt.net>
2019-05-03meson: Make shader-cache a trillean instead of booleanDylan Baker1-4/+14
So that it can be implicitly disabled on windows, where it doesn't compile. v2: - Use an auto-option rather than automagic. - fix shader_cache check (== -> !=) v4: - Use new with_shader_cache instead of get_option('shader-cache') elsewhere in the meson build Reviewed-by: Eric Anholt <eric@anholt.net>
2019-05-03meson: switch gles1 and gles2 to auto optionsDylan Baker1-8/+26
This allows them to default to false on windows, but default to true elsewhere. As a side effect turning off shared-glapi now automatically turns off gles. Shared glapi remains a boolean defaulting to true. v5: - new in this version Reviewed-by: Eric Anholt <eric@anholt.net>
2019-05-03meson: Fix missing glproto dependency for gallium-glxChuck Atkins1-2/+4
Signed-off-by: Chuck Atkins <chuck.atkins@kitware.com> Cc: mesa-stable <mesa-stable@lists.freedesktop.org> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02meson: add build-summaryErik Faye-Lund1-0/+127
This roughly mirrors what we get from autotools. There's a few differences, though: 1. The "exec_prefix" output has been dropped. Meson doesn't support this, so it makes no sense here. 2. The "llvm-config" output has been dropped. Meson abstracts dependency discovery a bit more than our autotools build-system does, so it's not easy to get this information as-is. 3. HUD extra stats, SWR archs, Shared/Static libs and CFLAGS / CXXFLAGS / LDFLAGS has been dropped. These can be inspected by "meson configure". 4. How we set defines works quite differently in our Meson build-system, and the result isn't quite the same. In particular, the DEFINES output has been dropped, to avoid having to refactor the code too much. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109326 Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02meson: give dri- and gallium-drivers separate varsErik Faye-Lund1-36/+36
Variables are cheap, and there's little reason for the dri and gallium drivers to work on the same variable for the driver list. So let's split these in two separate lists instead. This makes it easier to inspect these after-the fact, for instance for generating a summary of build-settings. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-04-26kmsro: Add support for V3D.Eric Anholt1-1/+1
Like vc4, we expect to have SOCs with various displays that have a single V3D instance for rendering. v2: Add v3d to the list of drivers that make enabling kmsro valid. Acked-by: Rob Clark <robdclark@chromium.org>
2019-04-11kmsro: Add lima renderonly supportRob Herring1-2/+2
Enable using lima for KMS renderonly. This still needs KMS driver name mapping to kmsro to be used automatically. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Qiang Yu <yuq825@gmail.com>
2019-04-11gallium: add lima driverQiang Yu1-1/+2
v2: - use renamed util_dynarray_grow_cap - use DEBUG_GET_ONCE_FLAGS_OPTION for debug flags - remove DRM_FORMAT_MOD_ARM_AGTB_MODE0 usage - compute min/max index in driver v3: - fix plbu framebuffer state calculation - fix color_16pc assemble - use nir_lower_all_source_mods for lowering neg/abs/sat - use float arrary for static GPU data - add disassemble comment for static shader code - use drm_find_modifier v4: - use lima_nir_lower_uniform_to_scalar v5: - remove nir_opt_global_to_local when rebase Cc: Rob Clark <robdclark@gmail.com> Cc: Alyssa Rosenzweig <alyssa@rosenzweig.io> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de> Signed-off-by: Arno Messiaen <arnomessiaen@gmail.com> Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: marmeladema <xademax@gmail.com> Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Rohan Garg <rohan@garg.io> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com>
2019-04-04simplify LLVM version string printingEric Engestrom1-9/+1
Figure it out once in the build system, then just use that all over the place. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2019-04-03meson: Error if LLVM is turned off but clover it turned onDylan Baker1-0/+2
Since clover has a hard requirement on LLVM v2: - make error message more specific Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-03meson: Error if LLVM doesn't have rtti when building cloverDylan Baker1-0/+2
We already do this for nouveau, but it's required for clover too.
2019-03-21configure.ac / meson: depend on libnativewindow when appropriateGurchetan Singh1-0/+3
libnativewindow is only available on O or greater, and it's required for some features. Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2019-03-21configure.ac/meson.build: Add options for library suffixesBenjamin Gordon1-0/+3
When building the Chrome OS Android container, we need to build copies of mesa that don't conflict with the Android system-supplied libraries. This adds options to create suffixed versions of EGL and GLES libraries: libEGL.so -> libEGL${egl-lib-suffix}.so libGLESv1_CM.so -> libGLESv1_CM${gles-lib-suffix}.so libGLESv2.so -> libGLES${gles-lib-suffix}.so This is similar to what happens when --enable-libglvnd is specified, but without the side effects of linking against libglvnd. To avoid unexpected clashes with the suffixed appended by libglvnd, make it an error to specify both --enable-libglvnd and --with-egl-lib-suffix. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-11turnip: guard -Dvulkan-driver=freedrenoChia-I Wu1-0/+4
Require -DI-love-half-baked-turnips=true as well to enable freedreno vulkan driver.
2019-03-11turnip: Add driver skeleton (v2)Bas Nieuwenhuizen1-0/+1
meson files have been updated, autotools and android still need updating. Only build tested. v2 (chadv): - Rebase onto master. - Fix build breakage in Python scripts. - Drop the WSI code. The internal WSI apis have changed recently, and will likely change again before the driver goes upstream. To avoid unnecessary rebase work, let's drop the WSI code and re-add it when we're ready to really use WSI. (olv, after rebase) do not enable freedreno by default on ARM
2019-03-08build: make passing an incorrect pointer type a hard errorEric Engestrom1-0/+1
More or less any of this issue pointed out by the compiler is a coding error. Make sure we flag it and bail loudly. v2: - apply the change to autotools and scons as well (Emil) - C++ doesn't need this, it's already an error and the flag doesn't exist (Gert) v3: - drop scons, flags are not checked so until someone adds that functionality we can't have this. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> # v1 Reviewed-by: Emil Velikov <emil.velikov@collabora.com> # v1 [Emil: apply the same change to autotools and scons] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-03-06meson: fix with_dri2 definition for GNU HurdEric Engestrom1-1/+2
Suggested-by: Dylan Baker <dylan@pnwbakers.com> Cc: Timo Aaltonen <tjaalton@debian.org> Cc: James Clarke <jrtc27@debian.org> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-03-05meson: avoid going back up the tree with include_directories()Eric Engestrom1-2/+0
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-02-25d3d: meson: do not prefix user provided d3d-drivers-pathSergii Romantsov1-1/+1
The user can select the location where there d3d drivers are installed by the d3d-drivers-path meson option. By default path will be $prefix/$libdir/d3d. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. Based on logic of Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Kenneth Graunke <kenneth@whitecape.org> CC: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-02-25dri: meson: do not prefix user provided dri-drivers-pathSergii Romantsov1-2/+2
The user can select the location where there dri drivers are installed by the dri-drivers-path meson option. By default path will be $prefix/$libdir/dri. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. v2: fixed dri_search_path by default, rebased to master v3: new commit-message (Emil Velikov), cc mesa-stable Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Rafael Antognolli <rafael.antognolli@intel.com> CC: Dylan Baker <dylan@pnwbakers.com> Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Fixes: 306914db92e1 (meson: Add dridriverdir variable to dri.pc.) Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-02-21iris: fix build with gallium nineAndre Heider1-1/+2
Signed-off-by: Andre Heider <a.heider@gmail.com>
2019-02-21iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs.Kenneth Graunke1-0/+1
This commit introduces a new Gallium driver for Intel Gen8+ GPUs, named 'iris_dri.so' after the hardware. Developed by: - Kenneth Graunke (overall driver) - Dave Airlie (shaders, conditional render, overflow query, Gen8 port) - Chris Wilson (fencing, pinned memory, ...) - Jordan Justen (compute shaders) - Jason Ekstrand (image load store) - Caio Marcelo de Oliveira Filho (tessellation control passthrough) - Rafael Antognolli (auxiliary buffer fixes) - The rest of the i965 contributors and the Mesa community
2019-02-13mapi: work around GCC LTO dropping assembly-defined functionsKonstantin Kharlamov1-0/+4
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109391 Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru> Acked-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-02-06meson: Remove panfrost from default driver listAlyssa Rosenzweig1-1/+1
Until the kernel side matures and the full driver is upstreamed, to avoid end-user surprises, Panfrost should only be built for the adventurous. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-02-05panfrost: Initial stub for Panfrost driverAlyssa Rosenzweig1-3/+4
This patch adds an initial stub for the Gallium driver, containing simple screen functions and the majority of the driver headers but no actual functionality. It further adds the winsys glue for linking in this stub driver via kmsro on Rockchip/Amlogic boards. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Emil Velikov <emil.velikov@collabora.com>
2019-02-03meson: drop the xcb-xrandr version requirementMarek Olšák1-1/+1
autotools doesn't have any requirement. This fixes meson on Ubuntu 16.04. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
2019-01-28kmsro: Add freedreno renderonly supportJonathan Marek1-2/+2
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
2019-01-28meson: Fix typo.Vinson Lee1-2/+2
meson.build:166:21: ERROR: Unknown method "verson_compare" for a string. Fixes: c1efa240c91e ("meson: Add warnings and errors when using ICC") Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Cc: 18.3 <mesa-stable@lists.freedesktop.org>
2019-01-28Switch imx to kmsro and remove the imx winsysRob Herring1-5/+1
The kmsro winsys is equivalent to the imx winsys, so we can switch to it and remove the imx one. Signed-off-by: Rob Herring <robh@kernel.org>
2019-01-28kmsro: Add etnaviv renderonly supportRob Herring1-2/+2
Enable using etnaviv for KMS renderonly. This still needs KMS driver name mapping to kmsro to be used automatically. Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Rob Herring <robh@kernel.org>
2019-01-28pl111: Rename the pl111 driver to "kmsro".Eric Anholt1-4/+4
The vc4 driver can do prime sharing to many different KMS-only devices, such as the various tinydrm drivers for SPI-attached displays. Rename the driver away from "pl111" to represent what it will actually support: various sorts of KMS displays with the renderonly layer used to attach a GPU. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by: Emil Velikov <emil.velikov@collabora.com>
2019-01-24meson: Add warnings and errors when using ICCDylan Baker1-1/+9
ICC tries to be helpful by not erroring when it sees something that it doesn't understand, which is completely the opposite of helpful. Meson 0.49.0 does much better at handling this by really trying to make ICC error, but there are some things in mesa that still get ignored until 0.49.1 v2: - Fix id check, which is 'intel' not 'icc' Cc: 18.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v1)
2019-01-22winsys/amdgpu: use the new BO list APIMarek Olšák1-1/+1
2019-01-16meson: allow building dri driver without window system if osmesa is classicDylan Baker1-2/+2
This was already enabled for gallium based osmesa with gallium drivers in 9d10581897ef7cfa0f6c392e2048cc04357281b9, so do the same for classic driver with classic osmesa. Fixes: cbbd5bb889a2c271a504c379f36a7cb717a85af4 ("meson: build classic osmesa") Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2019-01-15meson: Fix with_gallium_icd to with_opencl_icdPierre Moreau1-1/+1
`with_gallium_icd` is never used throughout the different Meson build files, whereas `with_opencl_icd` tracks whether or not `gallium-opencl` was set to "icd". Fixes: 42ea0631f108d82554339530d6c88aa1b448af1e ("meson: build clover") Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-01-08meson: fix EGL/X11 build without GLXChia-I Wu1-1/+1
dep_xcb and others were not set under this configuration. Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-01-02meson: Error out if building nouveau and using LLVM without rttiDylan Baker1-0/+3
Nouveau requires rtti. Often LLVM is configured without rtti, and code with and without cannot be linked safely. Lets just error out if nouveau is requested and llvm is built without rtti. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109202 Fixes: c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4 ("meson: fix builds against LLVM built without rtti") Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-12-28meson: Override C++ standard to gnu++11 when building with altivec on ppc64Dylan Baker1-0/+9
Otherwise there will be symbol collisions for the vector name. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108943 Distro Bug: https://bugs.gentoo.org/673622 Fixes: 42ea0631f108d82554339530d6c88aa1b448af1e ("meson: build clover") Acked-by: Matt Turner <mattst88@gmail.com>
2018-12-13meson: don't require glx/egl/gbm with gallium driversEmil Velikov1-3/+3
The gallium drivers do not require a DRI loader. Drop the artificial and unnecessary restriction. Fixes: af9d276134d ("meson: build libmesa_gallium") Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-12-18meson: Fix libsensors detection.Vinson Lee1-1/+1
Fixes: 5e71efef44b9 ("meson: Add lmsensors support") Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-12-18meson: Fix typo.Vinson Lee1-1/+1
Fixes: 6b4c7047d571 ("meson: build gallium nine state_tracker") Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-12-18meson: add etnaviv to the tools optionChristian Gmeiner1-1/+1
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-12-18meson: Add toggle for glx-directDylan Baker1-3/+1
GNU Hurd needs to turn off glx-direct, rather than special case it, we'll just add a toggle. CC: 18.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-12-18meson: Add support for gnu hurdDylan Baker1-4/+2
CC: 18.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-12-18meson: remove duplicate definitionDylan Baker1-2/+0
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-12-18meson: Fix ppc64 little endian detectionDylan Baker1-2/+7
Old versions of meson returned ppc64le as the cpu_family for little endian power8 cpus, versions >=0.48 don't do this, so the check wouldn't work in that case. This generalizes the check to work for both old and new versions of meson. Fixes: 34bbb24ce7702658cdc4e9d34a650e169716c39e ("meson: Add support for ppc assembly/optimizations") Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-12-13glx: mandate xf86vidmode only for "drm" dri platformsEmil Velikov1-2/+2
Currently we have the three dri "platforms" - drm, apple and windows. Since xf86vidmode is a thing only for the drm one, adjust the preprocessor guards and correctly check for the dependency. v2: terminate the GLX_USE_WINDOWSGL hunk Cc: Jon TURNEY <jon.turney@dronecode.org.uk> Fixes: 5bc509363b6 ("glx: make xf86vidmode mandatory for direct rendering") Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2018-12-07meson: link LLVM 'native' component when LLVM is availableNicolai Hähnle1-1/+1
Linking against LLVM built with BUILD_SHARED_LIBS fails otherwise, as the component is required for the draw module. Reviewed-by: Dylan Baker <dylan@pnwbakers.com>