summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* loader: fix running with --disable-egl buildsDave Airlie2014-01-281-3/+4
| | | | | | | | | I sometimes build without EGL just for speed purposes, however it no longer finds my drivers when I do due to the HAVE_LIBUDEV defines being wrong. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* loader: Use dlsym to get our udev symbols instead of explicit linking.Eric Anholt2014-01-271-1/+1
| | | | | | | | | | | | | | | | Steam links against libudev.so.0, while we're linking against libudev.so.1. The result is that the symbol names (which are the same in the two libraries) end up conflicting, and some of the usage of .so.1 calls the .so.0 bits, which have different internal structures, and segfaults happen. By using a dlopen() with RTLD_LOCAL, we can explicitly look for the symbols we want, while they get the symbols they want. Reviewed-by: Keith Packard <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Tested-by: Alexandre Demers <[email protected]> Tested-by: Mike Lothian <[email protected]>
* build: Require libdrm 2.4.52 for Intel.Kenneth Graunke2014-01-201-1/+1
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* loader: ifdef libdrm specific code and includeEmil Velikov2014-01-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Mesa provides the flexibility of building without the need to have libdrm present on the system. The situation has regressed with the recent commit commit 8c2e7fd8460750543367053b1be9368cc38e1d6a Author: Emil Velikov <[email protected]> Date: Fri Jan 10 23:36:16 2014 +0000 loader: introduce the loader util lib By isolating libdrm code by #ifndef __NOT_HAVE_DRM_H we can have libdrm-less builds on across all build systems. This patch converts Android's _EGL_NO_DRM to __NOT_HAVE_DRM_H to provide consistency with the other cases within mesa, allows compilation of libloader on libdrm-less scons and conditionally links against libdrm if present under automake. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73776 BUgzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73777 Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* loader: introduce the loader util libEmil Velikov2014-01-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | All the various window system integration layers duplicate roughly the same code for figuring out device and driver name, pci-id's, etc. Which is sad. So extract it out into a loader util lib. v2 (Emil) * Separate the introduction of libloader from the code de-duplication. * Strip out non-pci devices support. * Add scons + Android build system support. * Add VISIBILITY_CFLAGS to avoid exporting the loader funcs. v3 (Emil) * PIPE_OS_ANDROID is undefined at this scope, use ANDROID * Make sure we define _EGL_NO_DRM when building only swrast Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* Use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config.Michał Górny2014-01-131-2/+2
| | | | | | | | | | | | | | This should help with cross-compiling and multilib when $CHOST-specific llvm-config is expected rather than build host default one. It will help us a bit in Gentoo where we've started using i686-pc-linux-gnu-llvm-config for 32-bit multilib LLVM. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Michał Górny <[email protected]> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73100 CC: "10.0" <[email protected]>
* configure: Disable xvmc by defaultTom Stellard2014-01-131-1/+1
| | | | | | The xvmc unit tests are failing on r300g and r600g. Reviewed-by: Vinson Lee <[email protected]>
* freedreno/a3xx: support for hw binning passRob Clark2014-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The binning pass sorts vertices into which bins/tiles they apply to. The visibility information generated during the binning pass can be used to speed up the rendering pass by filtering out vertices which do not apply to the current tile. See: https://github.com/freedreno/freedreno/wiki/Adreno-tiling#optimized-approach This brings a significant fps boost. A rough assortment of tests (supertuxkart, etracer, tremulous, glmark2 'build' test, etc) seems to yield a ~35-45% fps improvement. For now, to be conservative, the binning pass is not enabled yet by default. To enable it use: FD_MESA_DEBUG=binning So far I haven't found anything that breaks with binning enabled, but I'd like a bit more testing before I enable it as default. Signed-off-by: Rob Clark <[email protected]>
* mesa: Fix build to properly check for supported compiler flagsLauri Kasanen2013-12-201-0/+6
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72708 Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lauri Kasanen <[email protected]>
* dri3: Switch to libxshmfence version 1.1Keith Packard2013-12-201-1/+1
| | | | | | | | | | | libxshmfence v1.0 foolishly used 'int32_t *' for the fence type, which works when the fence is a linux futex. However, version 1.1 changes the exported datatype to 'struct xshmfence *' Require libxshmfence version 1.1 and switch the API around. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* configure.ac: remove -fcolor-diagnostics from LLVM flagsMarkus Trippelsdorf2013-12-181-0/+1
| | | | | | | | | When LLVM is build with Clang, "llvm-config --cxxflags" contains the -fcolor-diagnostics flag. It is not recognized by gcc and the build fails. Fix by removing the flag. Signed-off-by: Markus Trippelsdorf <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* st/xa: Add new map flagsThomas Hellstrom2013-12-171-1/+1
| | | | | | | | Replicate some of the gallium pipe transfer functionality. Also bump minor to signal availability of this feature. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* configure.ac: require libdrm_radeon 2.4.50Marek Olšák2013-12-031-1/+1
|
* egl: add HAVE_LIBDRM define, fix EGL X11 platformTapani Pälli2013-12-031-0/+5
| | | | | | | | | | | | | | | | | | | | Commit a594cec broke EGL X11 backend by adding dependency between X11 and DRM backends requiring HAVE_EGL_PLATFORM_DRM defined for X11. This patch fixes the issue by adding additional define for libdrm detection independent of which backend is being compiled. Tested by compiling Mesa with '--with-egl-platforms=x11' and running es2gears_x11 + glbenchmark2.7 successfully. v2: return true for dri2_auth if running without libdrm (Samuel) v3: check libdrm when building EGL drm platform + AM_CFLAGS fix (Emil) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72062 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Chad Versace <[email protected]> Cc: Samuel Thibault <[email protected]> Cc: [email protected]
* i965: Bump libdrm requirementIan Romanick2013-11-261-1/+1
| | | | | | | | | | drm_intel_get_reset_stats is only available in libdrm-2.4.48, and libdrm-2.4.49 contains an important bug fix in that function. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "10.0" <[email protected]>
* radeonsi: enable 2D tiling on CIKMarek Olšák2013-11-231-1/+1
| | | | | | libdrm does the DRM version check and decides if 2D tiling is used. Reviewed-and-Tested-by: Michel Dänzer <[email protected]>
* targets/dri: move linker flags out of configure into Automake.incEmil Velikov2013-11-161-2/+0
| | | | | | | | | | | | | | Previous assumption was that the same set of flags can be reused for both classic and gallium drivers. With megadriver work done the classic drivers ended up using their own (single) instance of the flags. Move these into Automake.inc and rename to indicate that those are gallium specific. Additionally silence an automake/autoconf warning "XXX is not a standard libtool library name", due to the parsing issues of the module tag. Signed-off-by: Emil Velikov <[email protected]>
* freedreno: compact a2xx and a3xx makefiles into parent onesJohannes Obermayr2013-11-161-2/+0
| | | | | | | | | Nearly everything within the three Makefile.am's is identical. Let's simplify things a little. v2: Rebase and rewrite the commit message (Emil Velikov) Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Don't require shared LLVM when building OpenCLTom Stellard2013-11-111-6/+0
| | | | | | This works now that pipe_*.so is no longer exporting LLVM symbols. Tested-by: Kai Wasserbäch <[email protected]>
* glx: conditionaly build dri3 and present loader (v3)Armin K2013-11-091-10/+34
| | | | | | | | | | | | | | | This patch makes it possible to disable DRI3 if desired. Tested with: ./configure --disable-dri3 --with-dri-drivers=i965 \ --with-gallium-drivers= --disable-vdpau --disable-egl \ --disable-gbm --disable-xvmc Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71397 Cc: 10.0 <[email protected]>
* Add DRI3+Present loaderKeith Packard2013-11-071-3/+9
| | | | | | | | | | | | Uses the __DRIimage loader interfaces. v2: Fix _XIOErrors when DRI3 isn't present (change by anholt). Apparently XCB just terminates your connection if you don't check for extensions before using them, instead of returning an error like you'd expect. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* st/xorg: Delete.Matt Turner2013-11-071-45/+11
| | | | Acked-by: Lucas Stach <[email protected]>
* xorg-nouveau: Delete.Matt Turner2013-11-071-2/+1
|
* xorg-i915: Delete.Matt Turner2013-11-071-2/+1
| | | | | Acked-by: Jakob Bornecrantz <[email protected]> Acked-by: Stéphane Marchesin <[email protected]>
* build: Build gen_matypes and matypes.h from src/mesa.Matt Turner2013-11-071-3/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* build: Change HAVE_X86_ASM to mean x86 or x86-64 asm.Matt Turner2013-11-071-1/+1
| | | | | | | I want a conditional that says generally "we have x86 assembly" in the next patch. Reviewed-by: Eric Anholt <[email protected]>
* configure.ac: Test $asm_arch directly.Matt Turner2013-11-071-3/+3
| | | | Reviewed-by: Eric Anholt <[email protected]>
* configure.ac: fix build on GNU/kFreeBSDFabio Pedretti2013-11-061-1/+1
| | | | | | | | Based on existing patch from Debian package. Debian bug: http://bugs.debian.org/524690 Reviewed-by: Andreas Boll <[email protected]>
* configure.ac: Drop no-out-of-tree notice.Matt Turner2013-11-061-4/+0
| | | | | | We do support out of tree builds now. Tested-by: Colin Walters <[email protected]>
* mesa: Build program as part of libmesa.Matt Turner2013-11-061-1/+0
|
* gallium/targets: remove vdpau-softpipeMarek Olšák2013-11-021-8/+0
| | | | Reviewed-by: Christian König <[email protected]>
* gallium/targets: remove xvmc-softpipeMarek Olšák2013-11-021-4/+0
| | | | Reviewed-by: Christian König <[email protected]>
* gallium/targets: remove r300/vdpauMarek Olšák2013-11-021-2/+1
| | | | Reviewed-by: Christian König <[email protected]>
* gallium/targets: remove r300/xvmcMarek Olšák2013-11-021-2/+1
| | | | Reviewed-by: Christian König <[email protected]>
* gallium/targets: remove radeonsi/xorgMarek Olšák2013-11-021-2/+1
| | | | Reviewed-by: Christian König <[email protected]>
* gallium/targets: remove r600/xorgMarek Olšák2013-11-021-2/+1
| | | | Reviewed-by: Christian König <[email protected]>
* automake: handle expat version pre 2.1Emil Velikov2013-10-301-3/+8
| | | | | | | | | | | | | | | | | | | Commit aec20d66d9d13e0acd6a7199b63e1383e1e9900a (automake: properly handle non-default expat installation), assumed that up-to date distributions use a recent version of expat that handles security vunerabilities CVE-2012-1147 and CVE-2012-1148. Seems like this is not always the case and they prefer to backport only the fix, rather than use the updated library. This commit adds a default case -lexpat whenever expat is not found, while properly handling expat.pc if present. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71022 Reported-By: Bryce Harrington <[email protected]> Reported-By: Vinson Lee <[email protected]> Tested-by: Bryce Harrington <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: properly handle non-default expat installationEmil Velikov2013-10-291-18/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Use PKG_CHECK_MODULE over requesting the user to setup the option at configure time. Drop unused EXPAT_INCLUDE and update all targets. NOTE: The this commit removes the --with-expat configure option. One should ensure that the expat they wish to use has expat.pc file accessible by pkg-config. v2: * Add note about the removal of --with-expat (per Tom Stellard) * Drop EXPAT_CFLAGS for targets that do not build DRI_COMMON (spotted by Matt Turner) v3: * Rebase on top of megadrivers (drop EXPAT_CFLAGS from swrast) Acked-by: Matt Turner <[email protected]> (v2) Reviewed-by: Tom Stellard <[email protected]> (v2) Signed-off-by: Emil Velikov <[email protected]> Conflicts: configure.ac src/mesa/drivers/dri/common/Makefile.am
* configure: use PKG_CONFIG variable over hardcoded pkg-configEmil Velikov2013-10-291-2/+2
| | | | | | | Already available and used in other places of configure.ac. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Remove dricore from the build.Eric Anholt2013-10-241-16/+0
| | | | | | | | | No driver uses it any more, and it's been replaced by megadrivers. v2: Remove always-on conditional for NEED_LIBPROGRAM (review by Emil) Reviewed-by: Matt Turner <[email protected]> (v1) Reviewed-by: Emil Velikov <[email protected]>
* swrast: Build the driver into the shared mesa_dri_drivers.so.Eric Anholt2013-10-241-15/+20
| | | | | | | | | | | | v2: drop dridir now that it's unused. v3: Fix linking after rebase when building just swrast from classic but a drm-using gallium driver. v4: Consistently put spaces around += in the updated Makefile.am block. v5: Set a global driverAPI variable so loaders don't have to update to createNewScreen2() (though they may want to for thread safety). Reviewed-by: Matt Turner <[email protected]> (v3) Reviewed-by: Emil Velikov <[email protected]>
* radeon: Build the driver into the shared mesa_dri_drivers.so.Eric Anholt2013-10-241-1/+1
| | | | | | | | | | | | | This required some reordering of headers to ensure that the symbol name redefines happened before any prototypes. v2: drop dridir now that it's unused. v3: Consistently put spaces around += in the updated Makefile.am blocks. v4: Set a global driverAPI variable so loaders don't have to update to createNewScreen2() (though they may want to for thread safety). Reviewed-by: Matt Turner <[email protected]> (v2) Reviewed-by: Emil Velikov <[email protected]>
* i915: Build the driver into the shared mesa_dri_drivers.so.Eric Anholt2013-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i915 has symbols for formerly-shared code that conflict with i965, so we define them away using gen-symbol-redefs.py. Options considered: - This option. Downsides: The symbols in profiling and debugging don't match the source. The symbol list may change in the future and we won't notice without manually running the tool again. - Use objcopy --localize-hidden to automatically demote our symbols to locals. This didn't work on i965 due to c++ weak symbols (which can't be localized), but could work on i915. We could do it on i915 only, but it does produce libtool warnings at link time due to libtool not knowing if the resulting .o file is safe to link (stupid libtool). Plus you end up with different symbols of the same name, which is confusing for debugging too. On the other hand, no future symbol conflicts long term. - Write our own libelf tool that handles c++ weak symbols like we want and apply it to all drivers. All the downsides of above, but applies uniformly across drivers. - Edit the files to just rename all the i915 or i965 symbols that conflict. There are on the order of 100 that have a prefix we used to share, so it would take a bit of typing. Fewest downsides, but still can have conflicts long term. Ultimately, this is the least invasive change at the moment, and we can see if the "more symbol conflicts appear later" thing is a real concern or not. Note that the ability to compile a version of i915 without INTEL_DEBUG env support is dropped. It's too useful. v2: drop dridir now that it's unused. v3: Consistently put spaces around += in the updated Makefile.am block. v4: Set a global driverAPI variable so loaders don't have to update to createNewScreen2() (though they may want to for thread safety). Reviewed-by: Matt Turner <[email protected]> (v2) Reviewed-by: Emil Velikov <[email protected]>
* nouveau: Build the driver into the shared mesa_dri_drivers.so.Eric Anholt2013-10-241-1/+1
| | | | | | | | | | | v2: drop dridir now that it's unused. v3: Consistently put spaces around += in the updated Makefile.am block. v4: Set a global driverAPI variable so loaders don't have to update to createNewScreen2() (though they may want to for thread safety). v5: Fix missed public symbol in nouveau. (caught by Emil) Reviewed-by: Matt Turner <[email protected]> (v2) Reviewed-by: Emil Velikov <[email protected]>
* i965: Build the driver into a shared mesa_dri_drivers.so .Eric Anholt2013-10-241-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we've split things such that mesa core is in libdricore, exposing the whole Mesa core interface in the global namespace, and the i965_dri.so code all links against that. Along with polluting application namespace terribly, it requires extra PLT indirections and prevents LTO. Instead, we can build all of the driver contents into the same .so with just a few symbols exposed to be referenced from the actual driver .so file, allowing LTO and reducing our exposed symbol count massively. FPS improvement on GLB2.7 with INTEL_NO_HW=1: 2.61061% +/- 1.16957% (n=50) (without LTO, just the PLT reductions from this commit) Note that the X Server requires commit 7ecfab47eb221dbb996ea6c033348b8eceaeb893 to successfully load this driver! v2: Set a global driverAPI variable so loaders don't have to update to createNewScreen2() (though they may want to for thread safety). v3: Drop AM_CPPFLAGS addition (Emil pointed out I'd missed some cflags that would be necessary, though only if we actually relied on them). v4: Fix install with DESTDIR set. Reviewed-by: Matt Turner <[email protected]> (v1) Reviewed-by: Emil Velikov <[email protected]> (v2)
* clover: Prepare the build system for ICD support.Tom Stellard2013-10-211-0/+14
| | | | Signed-off-by: Francisco Jerez <[email protected]>
* clover: Require GCC 4.7 or higher to build.Francisco Jerez2013-10-211-2/+2
| | | | Tested-by: Tom Stellard <[email protected]>
* configure.ac: drop obsolete variable HAVE_COMMON_DRIEmil Velikov2013-10-151-5/+0
| | | | | | | | | | | | | | | The original intent of the variable was to prevent adding libdrm dependency for non drm drivers (swrast). This is already handled with __NOT_HAVE_DRM_H, and with the recent merge of the dri_util and drisw_util code this variable has started causing build issues. Eg. the following will fail $ ./autogen.sh --with-dri-drivers=swrast --with-gallium-drivers= $ make Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Andreas Boll <[email protected]>
* build: remove forced -fno-rttiAlexander von Gluck IV2013-10-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | * As discussed on the mailing list, forced no-rtti breaks C++ public API's such as the Haiku C++ libGL.so * -fno-rtti *can* be still set however instead of blindly forcing -fno-rtti, we can rely on the llvm-config --cppflags output. If the system llvm is built without rtti (default), the no-rtti flag will be present in llvm-config --cppflags (which we pick up on) If llvm is built with rtti (REQUIRES_RTTI=1), then -fno-rtti is removed from llvm-config --cppflags. * We could selectively add / remove rtti from various components, however mixing rtti and non-rtti code is tricky and could introduce missing symbols. * This needs impact tested. Reviewed-by: Francisco Jerez <[email protected]>
* configure.ac: Don't check for awk, grep, nm.Matt Turner2013-10-141-12/+0
| | | | Not used since d53901c6.