aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* freedreno: context priority supportRob Clark2017-12-191-1/+1
| | | | | | | For devices (and kernels) which support different priority ringbuffers, expose context priority support. Signed-off-by: Rob Clark <[email protected]>
* configure/meson: Bump libdrm_amdgpu version requirement.Bas Nieuwenhuizen2017-12-181-1/+1
| | | | | | For the radv dependencies on syncobj signal/reset. Reviewed-by: Dave Airlie <[email protected]>
* meson: Fix building gallium media targets with gallium-xlib glxDylan Baker2017-12-071-3/+3
| | | | | | | | To demonstrate this bug run meson with the options: -Ddri-drivers= -Dglx=gallium-xlib Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: fix pl111 dependency on vc4Eric Engestrom2017-12-071-0/+3
| | | | | | | | src/gallium/winsys/pl111/drm/libpl111winsys.a(pl111_drm_winsys.c.o): In function `pl111_drm_screen_create': pl111_drm_winsys.c:(.text+0x33): undefined reference to `vc4_drm_screen_create_renderonly' Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: build gallium nine state_trackerDylan Baker2017-12-041-3/+18
| | | | | | | | | | | v2: - set d3d_drivers_path instead of dri_drivers_path - Fix nine guard to check for all relavent gallium drivers - Link with libswdri and libswkmsdri when necessary - Fix pkg-config generation - Add missing comma Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build gallium xa state trackerDylan Baker2017-12-041-0/+22
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build gallium va state trackerDylan Baker2017-12-041-1/+40
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build gallium omx state trackerDylan Baker2017-12-041-1/+59
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build gallium xvmc state trackerDylan Baker2017-12-041-1/+40
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build gallium vdpau state trackerDylan Baker2017-12-041-1/+44
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: drop gallium-media argumentDylan Baker2017-12-041-17/+0
| | | | | | | | | | | This argument is the wrong approach for handling gallium media state trackers, since it doesn't allow for an auto option. Instead we'll use tristates, which do allow for auto. This option has never been wired to anything anyway. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* util: Add a NORETURN macroJason Ekstrand2017-12-041-0/+4
| | | | | Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* configure: avoid testing for negative compiler optionsMarc Dietrich2017-12-011-8/+15
| | | | | | | | | | | | | | | gcc seems to always accept unsupported negative compiler warning options: echo "int i;" | gcc -c -xc -Wno-bob - # no error echo "int i;" | gcc -c -xc -Walice - # unsupported compiler option Inverting the options fixes the tests. V2: fix options in meson build Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Signed-off-by: Marc Dietrich <[email protected]>
* meson: Add lmsensors supportDylan Baker2017-12-011-0/+11
| | | | | | | | v2: - Make -Dlmsensors=false work - Simplify auto and true cases Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add support for gallium extra hudDylan Baker2017-12-011-0/+4
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: fix deps and underlinkage of libGLJon Turney2017-11-301-2/+4
| | | | | | Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: don't require dri2proto for darwin or windowsJon Turney2017-11-301-1/+3
| | | | | | Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: set _GNU_SOURCE on cygwinJon Turney2017-11-301-1/+1
| | | | | | Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: set windows glx definesJon Turney2017-11-301-0/+2
| | | | | | Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* anv: Check if memfd_create is already defined.Vinson Lee2017-11-301-1/+1
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103909 Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build virgl driverDylan Baker2017-11-281-5/+11
| | | | | | | Build tested only. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: build svga driver on linuxDylan Baker2017-11-281-2/+4
| | | | | | | Build tested only. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: build r600 driverDylan Baker2017-11-281-6/+16
| | | | | | | | | v4: - Ensure inc_amd_common defined when radeonsi is disabled (needed by r600) Signed-off-by: Dylan Baker <[email protected]> Tested-by: Aaron Watry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: build r300 driverDylan Baker2017-11-281-2/+4
| | | | | | | This is build tested only Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: build i915g driverDylan Baker2017-11-281-1/+6
| | | | | | | Build tested only. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: fix strtof locale support checkEric Engestrom2017-11-231-1/+1
| | | | | | Fixes: d1992255bb29054fa5176 "meson: Add build Intel "anv" vulkan driver" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: replace with_*dri with with_dri_platformDylan Baker2017-11-221-4/+0
| | | | | | | | This fixes the windows and macos stubs to be consistent with the *nix path. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: add logic to select apple and windows driDylan Baker2017-11-221-2/+14
| | | | | | | | | | | | This is still not fully correct (haiku and BSD is notably probably not correct), but Linux is not regressed and this should be correct for macOS and Windows. v2: - set the dri_platform to windows on Cygwin as well (Jon) v3: - Add a better todo for Hurd (Eric) Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Fix LLVM requires for radeonsiDylan Baker2017-11-221-2/+2
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: convert llvm option to tristateDylan Baker2017-11-221-23/+25
| | | | | | | This option has been acting as a strange sort of half-tri state anyway. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Convert platform to autoDylan Baker2017-11-221-0/+7
| | | | | | | | | This is necessary to support operating systems other than the *nix family (excluding macOS). For Linux nothing has changed, the defaults are still the same. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Remove duplicate _GNU_SOURCEDylan Baker2017-11-221-1/+0
| | | | | | | | There is one provided unconditionally, and one guarded by platform == linux. Remove the unconditional one. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Remove completed or irrelevant TODO commentsDylan Baker2017-11-221-15/+0
| | | | | | | | | These are all either done already, or are autotools specific. The misspelled gallium G3DVL is the autotools specific bit, meson is handling that via build_by_default. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Fix TODO for missing dl_iterate_phdr functionDylan Baker2017-11-221-2/+4
| | | | | | | | | | This function is required for both the Intel "Anvil" vulkan driver and the i965 GL driver. Error out if either of those is enabled but this function isn't found. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: disable x86 asm in fewer cases.Dylan Baker2017-11-221-7/+10
| | | | | | | | | | | | | | | | | | | This patch allows building asm for x86 on x86_64 platforms, when the operating system is the same. Previously cross compile always turned off assembly. This allows using a cross file to cross compile x86 binaries on x86_64 with asm. This could probably be relaxed further thanks to meson's "exe_wrapper", which is way to specify an emulator or compatibility layer (wine) that can run the foreign binaries on the build system. Since the meson build at this point only supports building on Linux I can't test this and I don't want to write/enable code that cannot even be build tested. v4: - set condition to build == x86_64 and host == x86 and build.system == host.system Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Enable SSE4.1 optimizationsDylan Baker2017-11-221-1/+14
| | | | | | | | | | | | This patch checks for an and then enables sse4.1 optimizations if the host machine will be x86/x86_64. v2: - Don't compile code, it's unnecessary since we require a compiler which always has SSE4.1 (Matt) v3: - x64 -> x86_64 (Matt) Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Don't define HAVE_PTHREAD only on linuxJon Turney2017-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | I'm not sure of the reason for this. I don't see anything like this in configure.ac In include/c11/threads.h the cases are: 1) building for Windows -> threads_win32.h 2) HAVE_PTHREAD -> threads_posix.h 3) Not supported on this platform So not defining HAVE_PTHREAD for anything not Windows just means we can't build at all. When we are building for Windows, I'm not sure if dependency('threads') would ever find anything, or defining HAVE_PTHREAD has any effect, but avoid defining it there, just in case. Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* threads,configure.ac,meson.build: define and use HAVE_TIMESPEC_GETNicolai Hähnle2017-11-161-1/+1
| | | | | | | | | | | | | | | Tested with Travis and Appveyor. v2: add HAVE_TIMESPEC_GET for non-Windows Scons builds v3: use check_functions in Scons (Eric) Cc: Rob Herring <[email protected]> Cc: Alexander von Gluck IV <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103674 Fixes: f1a364878431 ("threads: update for late C11 changes") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Jon Turney <[email protected]> (v2)
* meson: if dep_dl is an empty list, it's not a dependency objectJon Turney2017-11-141-1/+1
| | | | | | | | | | | It's ok to use an empty list for dependencies:, but it's not ok to try to use the found() method of it. See also https://github.com/mesonbuild/meson/issues/2324 Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: Move -Dvulkan-drivers handling higher in the fileJason Ekstrand2017-11-131-23/+23
| | | | | | | | | | | The window-system auto-detection code (specifically for glx) relies on with_any_vk being available. This fixes the Vulkan-only build. Also, this puts it up near the handling of -Ddri-drivers and -Dgallium-drivers which seems to make a bit more sense. Fixes: 118a7f044191d4ab15ac9 "meson: add support for xlib glx" Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: Stop requiring platforms for VulkanJason Ekstrand2017-11-131-3/+0
| | | | | | | It should be perfectly valid to build a completely headless Vulkan driver. We don't need to require a platform. Reviewed-by: Dylan Baker <[email protected]>
* meson: build gallium-xlib based glxDylan Baker2017-11-101-8/+8
| | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: add support for xlib glxDylan Baker2017-11-101-23/+34
| | | | | | | | | | There is a bunch of churn in the main meson.build so that we can correctly set the auto tristate of GLX. In particular, don't build xlib-based glx when dri and gallium are disabled but vulkan is enabled, in that case just turn glx off. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: implement default driver argumentsDylan Baker2017-11-091-0/+38
| | | | | | | | | | | | | | | | | | | This allows drivers to be set by OS/arch in a sane manner. v2: - set _drivers to a list of drivers instead of manually assigning each with_* v3: - Use "auto" instead of "default", which matches the value of other automatically configured options. - Set vulkan drivers as well - Add error message if no automatic drivers are known for a given arch/OS combo - use not(darwin or windows) instead of (linux or *bsd), which is probably more accurate (that way Solaris and other *nix systems aren't excluded) - rename softpipe to swrast, as swrast is the actual option name Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add script to use VERSION file for getting versionDylan Baker2017-11-091-1/+3
| | | | | | | | | | | | | | | | | | | Meson has up until this point set it's version in the root meson.build script, while the other build systems read the VERSION file. This is just "one more thing" to duplicate between meson and every other build system. This script is a simple "read, strip, print" sort of deal to allow meson to read the VERSION file. I chose to implement this in python since python is portable, and to keep the meson.build script clean. This is also complicated by the fact that the project() call *must* be the first non-comment,non-blank in the toplevel meson.build script. v2: - Move from scripts/ to bin/ - use python explicitly to run the scripts to support windows Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Enable VC4's NEON assembly support.Eric Anholt2017-11-091-2/+2
| | | | | | Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Tested-by: Timothy Arceri <[email protected]>
* meson: Drop stale comment about making valgrind conditional.Eric Anholt2017-11-091-1/+0
| | | | | | | It was fixed in 5c2ff5773a707519f6a773126f201c4e1e8a42d7. Reviewed-by: Dylan Baker <[email protected]> Tested-by: Timothy Arceri <[email protected]>
* meson: Leave dep_llvm empty if !with_llvmEric Anholt2017-11-091-3/+4
| | | | | | | | | The gallium auxiliary build would link against llvm, for the gallivm code that it didn't build. This broke the build on my armhf cross, where libLLVM-3.9.so is not multiarch and thus points to x86-64 libs. Reviewed-by: Dylan Baker <[email protected]> Tested-by: Timothy Arceri <[email protected]>
* mesa: Add new fast mtx_t mutex type for basic use casesTimothy Arceri2017-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While modern pthread mutexes are very fast, they still incur a call to an external DSO and overhead of the generality and features of pthread mutexes. Most mutexes in mesa only needs lock/unlock, and the idea here is that we can inline the atomic operation and make the fast case just two intructions. Mutexes are subtle and finicky to implement, so we carefully copy the implementation from Ulrich Dreppers well-written and well-reviewed paper: "Futexes Are Tricky" http://www.akkadia.org/drepper/futex.pdf We implement "mutex3", which gives us a mutex that has no syscalls on uncontended lock or unlock. Further, the uncontended case boils down to a cmpxchg and an untaken branch and the uncontended unlock is just a locked decr and an untaken branch. We use __builtin_expect() to indicate that contention is unlikely so that gcc will put the contention code out of the main code flow. A fast mutex only supports lock/unlock, can't be recursive or used with condition variables. We keep the pthread mutex implementation around as for the few places where we use condition variables or recursive locking. For platforms or compilers where futex and atomics aren't available, simple_mtx_t falls back to the pthread mutex. The pthread mutex lock/unlock overhead shows up on benchmarks for CPU bound applications. Most CPU bound cases are helped and some of our internal bind_buffer_object heavy benchmarks gain up to 10%. Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* meson: Allow building glvnd with EGL and non-dri based GLXDylan Baker2017-11-081-2/+6
| | | | | | | | | | | Because meson mirrors the auototools logic, it needs the same changes to allow building glvnd based egl. v2: - change if to elif (Eric) Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Emil Velikov <[email protected]>