summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* configure.ac: Don't check for cross compiling.Matt Turner2013-10-141-2/+0
| | | | Dead since c845140a.
* configure.ac: report an error if LLVM shared libs are disabled and CL is enabledMarek Olšák2013-10-081-2/+3
| | | | Reviewed-by: Tom Stellard <[email protected]>
* configure: set HAVE_COMMON_DRI when building only swrastEmil Velikov2013-10-031-0/+1
| | | | | | | | | | | | | | With commit cb1febb07, I have incorrectly removed HAVE_COMMON_DRI assuming that swrast does not need to build the translations for driconf options, as effectively swrast/drisw does not use them. With the incoming unification work of dri and drisw, it makes sense just to revert the offending hunk. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70057 Reported-by: Vinson Lee <[email protected]> Tested-by: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* st/glx: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-011-1/+1
| | | | | | | Move glx/{,xlib/}Makefile.am to preserve file list Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* galahad: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-011-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* noop: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-011-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* identity: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-011-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600: use NEED_RADEON_LLVM over R600_NEED_RADEON_GALLIUMEmil Velikov2013-10-011-2/+0
| | | | | | | | | libllvmradeon.la is available whenever NEED_RADEON_LLVM is set, using R600_NEED_RADEON_GALLIUM is rather ambiguous and unnecessary. Drop it in favour of NEED_RADEON_LLVM. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* gallium/targets: Make use of prebuilt libdricommon.la.Johannes Obermayr2013-10-011-1/+0
| | | | | | | | | | | | | | | libdricommon.la is available whenever a non swrast driver is built. All the classic dri drivers make use of the prebuild library but all of the gallium ones rebuild it explicitly. While we're here gallium/{llvm,soft}pipe does not require HAVE_COMMON_DRI thus do not set in during configure. v2: [Emil] Add commit message and drop HAVE_COMMON_DRI from configure.ac v3: [Emil] Rebase and resolve targets/r*/dri conflicts Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* configure.ac: Add a more informative warning when libclc.pc is not found v2Tom Stellard2013-09-271-6/+11
| | | | | | | v2: - Don't display an error message when the user doesn't ask for libclc. Reviewed-by: Matt Turner <[email protected]>
* build/radeonsi: group all targets in common subdirChristian König2013-09-251-4/+4
| | | | | | | Allows us to share more code between different targets. Signed-off-by: Christian König <[email protected]> Acked-by: Marek Olšák <[email protected]>
* build/r600: group all targets in common subdirChristian König2013-09-251-5/+5
| | | | | | | Allows us to share more code between different targets. Signed-off-by: Christian König <[email protected]> Acked-by: Marek Olšák <[email protected]>
* build/r300: group build target in common subdirChristian König2013-09-251-4/+4
| | | | | | | Allows us to share more code between different targets. Signed-off-by: Christian König <[email protected]> Acked-by: Marek Olšák <[email protected]>
* mesa: Use -Bsymbolic in the linker to locally resolve Mesa-internal symbols.Eric Anholt2013-09-231-0/+3
| | | | | | | | | | | | | Normally, LD_PRELOAD will take precedence over your own symbols, which you want for things like malloc() in libc. But we don't have any local symbols we would want overridden (like hash_table_insert(), for example!), so tell the linker to resolve them internally. This also avoids calls through the PLT. Saves almost 100k on libdricore's size, and gets us a bunch of the performance back that we had with non-dricore. Reviewed-by: Ian Romanick <[email protected]>
* Suppress clang's warnings about unused CFLAGS and CXXFLAGS.Johannes Obermayr2013-09-221-0/+6
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Move nv30, nv50 and nvc0 to nouveau.Johannes Obermayr2013-09-111-4/+1
| | | | | | | | | | | | | | | | It is planned to ship openSUSE 13.1 with -shared libs. nouveau.la, nv30.la, nv50.la and nvc0.la are currently LIBADDs in all nouveau related targets. This change makes it possible to easily build one shared libnouveau.so which is then LIBADDed. Also dlopen will be faster for one library instead of three and build time on -jX will be reduced. Whitespace fixes were requested by 'git am'. Signed-off-by: Johannes Obermayr <[email protected]> Acked-by: Christoph Bumiller <[email protected]> Acked-by: Ian Romanick <[email protected]>
* build: Delete cross-compiling macros.Kenneth Graunke2013-09-091-31/+0
| | | | | | | Now that builtin_compiler is gone, nothing uses these. Reviewed-by: Matt Turner <[email protected]> Acked-by: Paul Berry <[email protected]>
* glsl: Remove builtin_compiler from the build system.Kenneth Graunke2013-09-091-1/+0
| | | | | | | | | We don't actually use anything from builtin_function.cpp, so we don't need to generate it anymore. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Acked-by: Paul Berry <[email protected]>
* configure.ac: Bump Wayland requirement to 1.2.0Fabio Pedretti2013-08-271-1/+1
| | | | | | Since 8d29b52 wayland 1.2.0 is required. Reviewed-by: Chad Versace <[email protected]>
* Fixed and/or order mistake, resulting in compiling llvmpipe without llvm ↵Kristian Lehmann2013-08-261-2/+2
| | | | | | | | installed Cc: 9.2 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68544 Reviewed-by: Matt Turner <[email protected]>
* gallium/osmesa: Make and install an osmesa.pc.Jon Severinsson2013-08-231-0/+1
| | | | | | | | | As of "2f142d59 build: Add --enable-gallium-osmesa flag." the pkgconfig file from classic osmesa is no longer installed when building gallium osmesa, so copy it to gallium osmesa and install the copy instead. CC: "9.2" <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* build: Add --enable-gallium-osmesa flag.Matt Turner2013-08-211-6/+25
| | | | | | | | The Gallium implementation is apparently not ready for regular consumption, so as much as I hate adding more build-time options, here's another. Acked-by: Brian Paul <[email protected]>
* clover: Fix linkage of libOpenCLNiels Ole Salscheider2013-08-161-0/+4
| | | | | | | Clover needs the option component of llvm. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Niels Ole Salscheider <[email protected]>
* build: unify mesa version by using a VERSION fileEmil Velikov2013-07-291-1/+2
| | | | | | | | | | | | | | | | | | | | Rather than having to keep track of all the build systems and their respecitve definition of the mesa version, use a single top file VERSION. Every build system is responsible for reading/parsing the file and using it v2: * remove useless bulletpoint from the documentation, suggested by Matt * "Androing is Linux. Use '/' in stead of '\'", spotted by Chad V * use cleaner code to get the version in scons, suggested by Chad V v3: * ensure leading and trailing whitespace characters are stripped while parsing * android: handle GNU shell commands approapriately Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: Bump version to 9.3.0-devel.Kenneth Graunke2013-07-251-1/+1
| | | | This should have been done when making the 9.2 branch, but was missed.
* xa: bump major versionRob Clark2013-07-251-1/+1
| | | | | | | Bump major version, as the change to require explicit xa_context_flush(), the addition of the handle-type parameter to xa_surface_handle(), and change of surface to ref/unref will require a minor change in DDX.
* configure.ac: Use correct options names in AC_ARG_ENABLE.Matt Turner2013-07-221-4/+4
|
* build: Remove unused EGL_PLATFORMS.Matt Turner2013-07-221-6/+1
|
* gen_matypes: fix cross-compiling with gccMike Frysinger2013-07-181-0/+6
| | | | | | | | | | | | | | The current gen_matypes logic assumes that the host compiler will produce information that is useful for the target compiler. Unfortunately, this is not the case whenever cross-compiling. When we detect that we're cross-compiling and using GCC, use the target compiler to produce assembly from the gen_matypes.c source, then process it with a shell script to create a usable header. This is similar to how the linux kernel creates its asm-offsets.c file. Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Mike Frysinger <[email protected]>
* configure.ac: On some systems, "x86-64" is called "amd64"Jean-Sébastien Pédron2013-07-171-6/+6
| | | | | | For instance, this is the case on FreeBSD. Signed-off-by: Vinson Lee <[email protected]>
* configure.ac: make grep tests more portableJonathan Gray2013-07-171-3/+3
| | | | | | | | | | Use grep -w instead of the empty string escape sequences which are less portable. Makes the grep tests function as intended on OpenBSD. Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Vinson Lee <[email protected]> Signed-off-by: Vinson Lee <[email protected]>
* configure.ac: add OpenBSDJonathan Gray2013-07-171-3/+3
| | | | | | Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Vinson Lee <[email protected]> Signed-off-by: Vinson Lee <[email protected]>
* configure.ac: better detection of LLVM versionKlemens Baum2013-07-121-15/+26
| | | | Reviewed-by: Tom Stellard <[email protected]>
* configure: Avoid use of AC_CHECK_FILE for cross compilingJonathan Liu2013-07-121-6/+6
| | | | | | | | | The AC_CHECK_FILE macro can't be used for cross compiling as it will result in "error: cannot check for file existence when cross compiling". Replace it with the AS_IF macro. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Jonathan Liu <[email protected]>
* radeon: bump libdrm_radeon requirement for CIK supportAlex Deucher2013-07-111-1/+1
| | | | Signed-off-by: Alex Deucher <[email protected]>
* build: fix EGL build when no X11 headers are presentRoss Burton2013-07-011-0/+7
| | | | | | | | | | | | | | | eglplatform.h defaults to X11 on Unix unless told otherwise, so if we're doing a build without any X11 support tell it so that we don't try including headers that don't exist. Also set GL_PC_FLAGS so that the definition is in egl.pc, so that applications using EGL don't try to pull in X11 headers on systems where EGL was configured without X11 support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64959 Signed-off-by: Ross Burton <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* freedreno: add a3xx supportRob Clark2013-06-081-0/+1
| | | | | | | | | | | | | | | | | | | | The adreno a3xx GPU is found in newer snapdragon devices, such as the nexus4. The a3xx is GLESv3 and OpenCL capable, although that is not enabled yet in gallium. Compared to a2xx, it introduces an entirely new unified shader ISA, and re-shuffles all or nearly all of the registers. The good news is that (for the most part) the registers are more orthogonal, not combining unrelated state in a single register. And that there is a lot more flexibility, so we don't need to patch and re-emit the shader like we did on a2xx. The shader compiler is currently quite dumb, there would be a lot of room for improvement with an optimizing pass. Despite that, with the a320 in my nexus4 it seems to be ~2-3x faster compared to the a220 in my HP touchpad. Signed-off-by: Rob Clark <[email protected]>
* freedreno: prepare for a3xxRob Clark2013-06-081-0/+1
| | | | | | | | Split the parts that are specific to adreno a2xx series GPUs from the parts that will be in common with a3xx, so that a3xx support can be added more cleanly. Signed-off-by: Rob Clark <[email protected]>
* build: Unify PACKAGE_VERSION on autotools, scons and AndroidAndreas Boll2013-06-061-1/+1
| | | | | | | | | | | | | | This patch unifies mesa's PACKAGE_VERSION on autotools, scons and Android build systems. Current behaviour is: - Autotools uses 9.2.0 as PACKAGE_VERSION - Scons and Android use 9.2-devel as PACKAGE_VERSION With this patch all three build systems use 9.2.0-devel as PACKAGE_VERSION. Reviewed-by: Brian Paul <[email protected]>