summaryrefslogtreecommitdiff
path: root/src/gallium/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2018-05-16v3d: Rename the driver files from "vc5" to "v3d".Eric Anholt1-2/+2
2018-05-16v3d: Rename the vc5_dri.so driver to v3d_dri.so.Eric Anholt1-2/+2
This allows the driver to load against the merged kernel DRM driver. In the process, rename most of the build system variables and gallium plumbing functions.
2018-04-24meson: raise required version to 0.44.1Dylan Baker1-6/+0
We have already required 0.44 for building clover and swr, so it was already partially required. This just makes it required across the board instead of just for clover and swr. There is a bug in 0.44 which makes it impossible to build mesa in some configurations, so require 0.44.1 which fixes this. Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-04-18meson: build graw testsDylan Baker1-0/+4
This only enables the null and xlib target, so no windows support yet. Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-04-18meson: Build gallium trivial testsDylan Baker1-2/+4
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-04-13gallium: move ddebug, noop, rbug, trace to auxiliary to improve build timesMarek Olšák1-4/+0
which also simplifies the build scripts.
2018-04-05radeonsi: try to fix mesonMarek Olšák1-1/+0
This is not fully tested. Meson can't link LLVM even though automake can. PATH=/usr/llvm/x86_64-linux-gnu/bin:$PATH meson build/ -Dgallium-va=false \ -Dplatforms=x11,drm -Dgallium-drivers=radeonsi -Ddri-drivers= \ -Dgallium-omx=disabled -Dgallium-xvmc=false -Dgles1=false \ -Dtexture-float=true -Dvulkan-drivers= src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_misc.cpp.o): (.data.rel.ro._ZTI26DelegatingJITMemoryManager[_ZTI26DelegatingJITMemoryManager]+0x10): undefined reference to `typeinfo for llvm::RTDyldMemoryManager' Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-03-09tegra: Initial supportThierry Reding1-0/+6
Tegra K1 and later use a GPU that can be driven by the Nouveau driver. But the GPU is a pure render node and has no display engine, hence the scanout needs to happen on the Tegra display hardware. The GPU and the display engine each have a separate DRM device node exposed by the kernel. To make the setup appear as a single device, this driver instantiates a Nouveau screen with each instance of a Tegra screen and forwards GPU requests to the Nouveau screen. For purposes of scanout it will import buffers created on the GPU into the display driver. Handles that userspace requests are those of the display driver so that they can be used to create framebuffers. This has been tested with some GBM test programs, as well as kmscube and weston. All of those run without modifications, but I'm sure there is a lot that can be improved. Some fixes contributed by Hector Martin <marcan@marcan.st>. Changes in v2: - duplicate file descriptor in winsys to avoid potential issues - require nouveau when building the tegra driver - check for nouveau driver name on render node - remove unneeded dependency on libdrm_tegra - remove zombie references to libudev - add missing headers to C_SOURCES variable - drop unneeded tegra/ prefix for includes - open device files with O_CLOEXEC - update copyrights Changes in v3: - properly unwrap resources in ->resource_copy_region() - support vertex buffers passed by user pointer - allocate custom stream and const uploader - silence error message on pre-Tegra124 - support X without explicit PRIME Changes in v4: - ship Meson build files in distribution tarball - drop duplicate driver_tegra dependency Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Andre Heider <a.heider@gmail.com> Reviewed-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2018-03-07meson: Re-add auto option for omxDylan Baker1-1/+1
This re-adds the auto option for omx, without it we default to tizonia and the build fails almost immediately, this is especially obnoxious those building a driver that doesn't support the OMX state tracker to begin with. v2: - Only define OMX_FOO for auto cases if the dependencies are found. This fixes building tizonia with auto (Julien, Eric) CC: Gurkirpal Singh <gurkirpal204@gmail.com> Fixes: bb5e27fab6087a5c1528a5faf507acce700e883c ("st/omx/bellagio: Rename st and target directories") Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk> (v1) Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Tested-by: Julien Isorce <julien.isorce@gmail.com> Tested-by: Karol Herbst <kherbst@redhat.com> (v1)
2018-03-07meson: combine state trackers and target if blocksDylan Baker1-21/+7
This is needed later since tizonia requires dri Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Tested-by: Julien Isorce <julien.isorce@gmail.com> Tested-by: Karol Herbst <kherbst@redhat.com>
2018-03-06st/omx/bellagio: Rename st and target directoriesGurkirpal Singh1-2/+2
v2: Refactor out screen functions to st/omx Allows to keep all the code under st/omx (st/omx/tizonia and st/omx/bellagio). Reverts targets/omx_bellagio to omx as additions to existing files is enough to compile for both bellagio and tizonia. * autotools changes: --enable-omx -> --enable-omx-bellagio * meson changes: -Dgallium-omx=false -> -Dgallium-omx=disabled -Dgallium-omx=true -> -Dgallium-omx=bellagio Acked-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Julien Isorce <julien.isorce@gmail.com>
2018-02-16meson: Add Haiku platform support v4Alexander von Gluck IV1-0/+9
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-02-15meson: define empty variables for libswdri and libswkmsdriDylan Baker1-2/+10
This allows these variables to unconditionally included in `link_with` lists, even if they're not used. This allows deleting duplicated logic in nearly every gallium target implemented in meson today. This also removes the now useless `build_by_default` flag from swdri and swkmsdri. v4: - add this patch Fixes: 66c94b9313a697ce8f2b222f4ba353035e4b8726 ("meson: build gallium winsys for dri, null, and wrapper") Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Acked-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-01-08meson: build cloverDylan Baker1-1/+11
This has only been compile tested. v2: - Have a single option for opencl (Eric E) - fix typo "tgis" -> "tgsi" (Curro) - Don't add "lib" to pipe loader libraries, which matches the autotools behavior v3: - Remove trailing whitespace - Make PIPE_SEARCH_DIR an absolute path v4: - add trailing / to LIBCLC defines Acked-by: Curro Jerez <currojerez@riseup.net> Tested-by: Jan Vesely <jan.vesely@rutgers.edu> cc: Aaron Watry <awatry@gmail.com> Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2018-01-08meson: Turn on swr for relevant targetsDylan Baker1-1/+0
Currently that's dri, libgl-xlib, and osmesa. v2: - put drivers on a separate line from normal dependencies (Eric E) cc: George Kyriazis <george.kyriazis@intel.com> cc: Tim Rowley <timothy.o.rowley@intel.com> cc: Bruce Cherniak <bruce.cherniak@intel.com> Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2018-01-08meson: Build SWR driverDylan Baker1-0/+8
This enables the SWR driver, but doesn't actually hook it up to any of the targets yet. I felt like this patch was big and complicated enough without adding that. v2: - Fix typo 'delemeited' -> 'delimited' (Eric E) - Fix type 'errror' -> 'error' (Eric E) - Use variables to hold files instead of looking above the current meson build (Eric E) - Use foreach loops to reduce the number of unique generators - Add comment about why some generators have names and some are just added to a list v3: - Remove trailing whitespace Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2017-12-07meson: fix pl111 dependency on vc4Eric Engestrom1-5/+5
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 <eric.engestrom@imgtec.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-12-04meson: build gallium nine state_trackerDylan Baker1-1/+6
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 <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: build gallium xa state trackerDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: build gallium va state trackerDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: build gallium omx state trackerDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: build gallium xvmc state trackerDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: build gallium vdpau state trackerDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: define driver dependenciesDylan Baker1-0/+28
This allow us to encapsulate the compiler and linkage requirements of each driver in a reusable way. The result will be that each target that needs a specific driver can simply add `driver_<name>` to its dependencies line and the necessary libraries and compiler args will be added. This will allow for a lot of code de-duplication between gallium targets. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: sort gallium drivers after winsysDylan Baker1-8/+8
This is a requirement of the next patch. Since meson does not have forward declarations, and we're going to define the driver dependencies in the drivers folder they need to be after the winsys so that the winsys libs are defined first. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-12-04meson: Combine gallium target subdirsDylan Baker1-10/+4
So that state trackers, targets, and special winsys requirements are all in a single if statement. This is a cosmetic only cleanup with no functional changes. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-11-28meson: build virgl driverDylan Baker1-1/+6
Build tested only. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-28meson: build svga driver on linuxDylan Baker1-1/+4
Build tested only. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-28meson: build r600 driverDylan Baker1-2/+4
v4: - Ensure inc_amd_common defined when radeonsi is disabled (needed by r600) Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Tested-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-28meson: build r300 driverDylan Baker1-3/+6
This is build tested only Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-28meson: build i915g driverDylan Baker1-3/+4
Build tested only. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-20meson: Guard the gallium dri componenetDylan Baker1-2/+4
Currently the target has a redundant guard, and the state tracker isn't properly guarded. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-13meson: don't use build_by_default for specific gallium driversDylan Baker1-22/+25
Using build_by_default : false is convenient for dependencies that can be pulled in by various diverse components of the build system, the gallium hardware/software drivers and state trackers do not fit that description. Instead, these should be guarded using the variable that tracks whether that driver should be enabled. This leaves a few helper libraries: trace, rbug, etc, and the generic winsys bits as `build_by_default : false` because there are a large number of gallium components that pull them in. v2: - remove build_by_default from winsys convenience libs as well. v3: - Always put drivers before winsys for consistency Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Tested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1) Reviewed-by: Eric Anholt <eric@anholt.net>
2017-11-10meson: Guard freedreno build with with_gallium_freedreno.Rob Clark1-1/+3
This prevents build failures when libdrm_freedreno is unavailable, which started happening after the ir3_compiler build was enabled. (Patch by Rob, commit message by Ken). Fixes: fecd04a66ae ("freedreno/ir3: fix standalone compiler meson build") Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2017-11-10meson: build gallium-xlib based glxDylan Baker1-2/+9
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-10-27meson: build gallium based osmesaDylan Baker1-1/+6
This has been tested with the osdemo from mesa-demos v2: - Add SELinux dependency - fix typo GALLIUM_LLVM -> GALLIUM_LLVMPIPE Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-10-27meson: move gallium include declarations to srcDylan Baker1-1/+0
These are used by non-gallium osmesa, so they need to be defined outside of the gallium subdirectory. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-10-24meson: build freedrenoRob Clark1-1/+2
Mostly copy/pasta from Dylan Baker's conversion of nouveau and i965. Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-23meson: build imx driverDylan Baker1-1/+3
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
2017-10-23meson: build etnaviv driver + winsysDylan Baker1-1/+6
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
2017-10-19meson: don't build gallium dri target if gallium is disabledDylan Baker1-1/+1
Otherwise -Dgallium-drivers= will cause libmesa_gallium to be built and the megadriver install script to attempt to install drivers without any actual drivers being built. fixes: 66f97f6640f5316b36177fd1053f0027eb6ec6cc ("meson: build radeonsi") Reported-by: Rafael Antognolli <rafael.antognolli@intel.com> Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Tested-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-10-17meson: Add support for the vc5 driver.Eric Anholt1-0/+6
v2: Default vc5 to off, since it requires the simulator currently. Add missing dep on the XML generation from libbroadcom_vc5. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (v1)
2017-10-17meson: Add support for the pl111 driver.Eric Anholt1-1/+3
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-17meson: Add support for the vc4 driver.Eric Anholt1-1/+6
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-16meson: build llvmpipeDylan Baker1-1/+1
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-10-16meson: build softpipeDylan Baker1-1/+1
This doesn't include llvmpipe. v2: - Fix inconsistent use of with_gallium_swrast and with_gallium_softpipe. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-10-16meson: build nouveau (gallium) driverDylan Baker1-1/+2
Tested with a GK107. v2: - Add target for nouveau standalone compiler. This target is not built by default. v3: - Add nouveau to list of drivers built by default Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric at anholt.net>
2017-10-16meson: build radeonsi gallium driverDylan Baker1-2/+1
This hooks up the bits necessary to build gallium dri drivers, with radeonSI as the first example driver. This isn't tested yet. v4: - drop radeonsi generated header from sources. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric at anholt.net>
2017-10-16meson: build gallium winsys for dri, null, and wrapperDylan Baker1-4/+4
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric at anholt.net>
2017-10-16meson: build radeonsiDylan Baker1-0/+38
This builds the radeonsi (and radeon) window system bits and gallium driver bits. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric at anholt.net>