summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* mesa: guard better when building with sse4.1 optimisationsEmil Velikov2014-08-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | When the compiler is not capable/does not accept -msse4.1 while the target has the instruction set we'll blow up as _mesa_streaming_load_memcpy is going to be undefined. To make sure that never happens, wrap the runtime cpu check+caller in an ifdef thus do not compile that hunk of the code. Fix the android build by enabling the optimisation and adding the define where applicable. v2: autoconf conditionals end with "fi" rather than endif. v3: Wrap the definition and call to intel_miptree_{un,}map_movntdqa in if defined(USE_SSE41). Spotted by Matt. Cc: Matt Turner <[email protected]> Cc: Adrian Negreanu <[email protected]> Cc: "10.1 10.2" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: compact gallium/target/Makefile into gallium/MakefileEmil Velikov2014-08-131-1/+0
| | | | | | | | | | Yet another makefile less to worry about. v2: Add state_trackers and targets on a single SUBDIRS line. Requested by Matt. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: merge gallium/state_trackers/Makefile into gallium/MakefileEmil Velikov2014-08-131-1/+0
| | | | | | | | | | One makefile less, with the potential of further compacting the automake build. v2: Rebase on top of vc4 changes. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: compact gallium/drivers and gallium/winsys makefilesEmil Velikov2014-08-131-2/+1
| | | | | | | | | | | | Rather than having two separate almost empty and identical makefiles, compact them thus improving the configure and build time. Additionally this makes the automake build symmetrical to the scons and android one. v2: Rebase on top of vc4, compact drivers + winsys on a single line. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* configure.ac: drop enable_dri check in gallium_gbmEmil Velikov2014-08-121-4/+0
| | | | | | | A while back we've mandated that gbm requires enable_dri, thus this check is no longer required. Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: bail out if building gallium_gbm without gallium_eglEmil Velikov2014-08-121-0/+4
| | | | | | | | The former is the only user of the latter. As such building gbm without egl makes little to no sense. Cc: "10.2" <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* configure: Fix --enable-XX-bit flags by moving LT_INIT where it shouldAlexandre Demers2014-08-121-3/+8
| | | | | | | | | | | | | | Moving LT_INIT after setting completely (AM_)C(XX)FLAGS and LDFLAGS. LT_INIT needs them as they are expected to be used all along the compilation when the macro runs its tests to determine among other things the host type. For info, see http://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50754 Signed-off-by: Alexandre Demers <[email protected]> Tested-by: Tapani Palli <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Do not require llvm on x32Maarten Lankhorst2014-08-111-0/+1
| | | | | Cc: "10.2" <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]>
* configure.ac: Use LIBS rather than LDFLAGS to add -ldl to dladdr checkJon TURNEY2014-08-091-3/+4
| | | | | | | | | | | | | ec8ebff "Check for dladdr()" erroneously uses LDFLAGS rather than LIBS to add -ldl to the dladdr check. Replace the workaround in 39a4cc4 of explicitly checking in libdl, with a more correct approach of using LIBS. Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Tested-by: Pali Rohár <[email protected]> Cc: "10.2" <[email protected]>
* vc4: Initial skeleton driver import.Eric Anholt2014-08-081-1/+20
| | | | | | | | | | | | | | | | | | | This mostly just takes every draw call and turns it into a sequence of commands that clear the FBO and draw a single shaded triangle to it, regardless of the actual input vertices or shaders. I copied the initial driver skeleton mostly from freedreno, and I've preserved Rob Clark's copyright for those. I also based my initial hardcoded shaders and command lists on Scott Mansell (phire)'s "hackdriver" project, though the bit patterns of the shaders emitted end up being different. v2: Rebase on gallium megadrivers changes. v3: Rebase on PIPE_SHADER_CAP_MAX_CONSTS change. v4: Rely on simpenrose actually being installed when building for simulation. v5: Add more header duplicate-include guards. v6: Apply Emil's review (protection against vc4 sim and ilo at the same time, and dropping the dricommon drm bits) and fix a copyright header (thanks, Roland)
* configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIBPali Rohár2014-08-081-4/+3
| | | | | | | | | | | | | Use both macros as in some cases using AC_CHECK_FUNCS alone may fail. Thus HAVE_DLADDR will not be defined, and as a result most of the code in megadriver_stub.c will not be compiled. Breaking the backwards compatibility between older libGL/xserver(s) and DRI megadrivers. Cc: Jon TURNEY <[email protected]> Cc: "10.2" <[email protected]> [Emil Velikov] Commit message. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* util: remove ralloc_testEmil Velikov2014-08-081-1/+0
| | | | | | | | | The tests in an empty stub, which we're currently building twice. If anyone is interested in expanding it (adding actual tests) they can always bring it back. Suggested-by: Kenneth Graunke <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* util: Move the open-addressing linear-probing hash_table to src/util.Kenneth Graunke2014-08-041-2/+2
| | | | | | | | | | | | | | | | | This hash table is used in core Mesa, the GLSL compiler, and the i965 driver, which makes it a good candidate for the new src/util module. It's much faster than program/hash_table.[ch] (see commit 6991c2922f5 for data), and José's u_hash_table.c has a comment saying Gallium should probably consider switching to a linear probing hash table at some point. So this seems like the best candidate for a shared data structure. Signed-off-by: Kenneth Graunke <[email protected]> v2 (Jason Ekstrand): Pick up another hash_table use and patch up scons Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* util: Move ralloc to a new src/util directory.Kenneth Graunke2014-08-041-1/+3
| | | | | | | | | | | | | | | | | | For a long time, we've wanted a place to put utility code which isn't directly tied to Mesa or Gallium internals. This patch creates a new src/util directory for exactly that purpose, and builds the contents as libmesautil.la. ralloc seemed like a good first candidate. These days, it's directly used by mesa/main, i965, i915, and r300g, so keeping it in src/glsl didn't make much sense. Signed-off-by: Kenneth Graunke <[email protected]> v2 (Jason Ekstrand): More realloc uses and some scons fixes Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* Remove XA state tracker support for RadeonMarek Olšák2014-08-031-3/+3
| | | | | | | We don't support this type of X acceleration and we never did. Other drivers might want to do the same thing. Reviewed-by: Emil Velikov <[email protected]>
* gallium: Add a dumb drm/kms winsys backed swrast providerGiovanni Campagna2014-07-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | Add a new winsys and target that can be used with a dri2 state tracker and loader instead of drisw. This allows to use gbm as a dri2/image loader and avoid the extra copy from the backbuffer to the shadow frontbuffer. The new driver is called "kms_swrast", and is loaded by gbm as a fallback, because it is only useful with the gbm platform (as no buffer sharing is possible) To force select the driver set the environment variable GBM_ALWAYS_SOFTWARE [Emil Velikov] - Rebase on top of gallium megadriver. - s/text/test/ in configure.ac (Spotted by Andreas Pokorny). - Add scons support for winsys/sw/kms-dri and fix the build. - Provide separate DriverAPI, due to different InitScreen hook. Signed-off-by: Emil Velikov <[email protected]>
* configure: Don't override user -g or -O options for debug buildsIan Romanick2014-07-291-2/+12
| | | | | | | | | | | | | | | | | | Principle of least surprise: --enable-debug should enable debugging. Ages ago, Mesa's build system only added -g in dri-debug builds (yay for the static Makefiles). If you forgot to change it (or wrap the build with custom scripts), you would often be disappointed when trying to gdb Mesa bugs. New developers, that may not yet have custom scripts, will have this same issue. I think we should enable experienced developers to do what they want, and make things easier for new developers. I already pass '-ggdb3 -O1' or '-ggdb3 -Og' for CFLAGS, and I don't want configure to change them for me. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* configure.ac: require libdrm_radeon 2.4.56 because of the Hawaii fix thereMarek Olšák2014-07-291-1/+1
|
* freedreno/a3xx: enable/disable wa's based on patch-levelRob Clark2014-07-251-1/+1
| | | | | | | | It seems like for the most part, different behaviors, workarounds, etc, should be conditional on GPU patch revision (ie. a320.0 vs a320.2) rather than GPU id (a320 vs a330). Signed-off-by: Rob Clark <[email protected]>
* configure.ac: Add LLVM patch version to error message.Vinson Lee2014-07-181-1/+1
| | | | | Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* configure.ac: require LLVM 3.4.2 for radeonMarek Olšák2014-07-181-2/+3
| | | | | | Needed by ARB_draw_indirect. Reviewed-by: Michel Dänzer <[email protected]>
* configure: Cygwin requires _XOPEN_SOURCE >= 700 to prototype strndup()Jon TURNEY2014-07-111-1/+1
| | | | | | | Adjust definition of _XOPEN_SOURCE appropriately for use of strndup() added with commit da3a47d6 Signed-off-by: Jon TURNEY <[email protected]>
* targets/dri-swrast: Convert to static/shared pipe-driverEmil Velikov2014-07-101-2/+1
| | | | | | | | | | | | | Convert the final dri target to the single DRI (megadriver) library. Cleanup all the automake leftovers from the conversion stage and update the scons build. v2: Link in llvmpipe, when applicable. Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* st/dri: merge dri/drm and dri/sw backendsEmil Velikov2014-07-101-2/+0
| | | | | | | | | | | | | | Move the driver_name to dri2/drisw and remove all the SPLIT_TAGETS mayhem. In the next step we'll unify the dri and dri-swrast targets, completing the gallium DRI megadriver. v2: Remove leftover st/dri Makefiles from CONFIG_FILES. Spotted by Thomas Helland. Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* configure: Don't special case Cygwin to use gnu99, define _XOPEN_SOURCE insteadJon TURNEY2014-07-081-9/+2
| | | | | | | | | | | | | | Revert "build: Build on Cygwin with gnu99 instead of c99." and define _XOPEN_SOURCE appropriately. This reverts commit 53e36d333c9b619c1a5fe9a8d2d08665654b0234. Since Cygwin 1.7.18 (April 2013), it's headers correctly prototype strtoll() when using -std=c99, and correctly prototype strdup() when _XOPEN_SOURCE is defined appropriately, so this workaround is no longer needed. Signed-off-by: Jon TURNEY <[email protected]> Cc: Vinson Lee <[email protected]>
* targets/dri-vmwgfx: Convert to static/shared pipe-driversEmil Velikov2014-07-021-2/+1
| | | | | | | | | | | | | | | Convert the final hardware driver to a single dri provider which includes all the pipe-drivers. Update the scons build and drop the unused vmw_powf.c. Cc: José Fonseca <[email protected]> Cc: Brian Paul <[email protected]> Cc: Jakob Bornecrantz <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* targets/dri-ilo: Convert to static/shared pipe-driverEmil Velikov2014-07-021-2/+1
| | | | | | | | Cc: Chia-I Wu <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* targets/dri-i915: Convert to static/shared pipe-driversEmil Velikov2014-07-021-2/+1
| | | | | | | | | | | | | v2: - Drop inclusion of the winsys wrapper and softpipe/llvmpipe. - Remove old Makefile.am, target.c. - Correctly append i915 to the megadrivers list. Cc: Stephane Marchesin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* targets/dri-freedreno: Convert to static/shared pipe-driversEmil Velikov2014-07-021-2/+1
| | | | | | | | | | Now we don't need a second dri module when using kgsl :) Cc: Rob Clark <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* targets/(r300|r600|radeonsi)/dri: Convert to static/shared pipe-driversEmil Velikov2014-07-021-6/+3
| | | | | | | | | | | | | | | | Related to previous commit, merge the separate dri targets to a single one. This is essentially all the buildsystem mayhem required for megaradeon. Cc: Marek Olšák <[email protected]> Cc: Michel Dänzer <[email protected]> Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]> Acked-by: Christian König <[email protected]>
* targets/dri-nouveau: Convert to static/shared pipe-driversEmil Velikov2014-07-021-2/+3
| | | | | | | | | | | | | | | Similiar to other targets, we'd like to convert all the separate targets into a single one, thus we'll minimize the duplication and overall size of mesa. The conversion per API basis, with the drivers available either statically or shared. Currently the former is the default. v2: Correctly append the version script to the linker flags. Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* targets/dri-swrast: use drm aware dricommon when building more than swrastEmil Velikov2014-07-021-9/+9
| | | | | | | Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
* configure.ac: (trivial) Fixing a typoAlexandre Demers2014-06-301-1/+1
| | | | | Signed-off-by: Alexandre Demers <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* targets/egl-static: use inline_drm_helper and Automake.inc helpersEmil Velikov2014-06-301-0/+1
| | | | | | | | | | | | | Update all three build systems, and add freedreno to the android build. Pending future work on the ST we can convert egl-static to provide either static or dynamic access to the pipe-drivers. There is no functional change with this patch. v2: Don't add freedreno to android build, drop the wrapper winsys. Cc: Chia-I Wu <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* targets/xa: provide alternative(static) xa targetEmil Velikov2014-06-301-8/+8
| | | | | | | | | | | | | | | | Now we can build the xa target (libxatracker) with either static pipe-drivers or shared ones. Currently we default to static. - Remove the unused CFLAGS/CPPFLAGS. - Use GALLIUM_TARGET_CFLAGS where applicable. v2: Update the printout messages at configure. v3: Drop inclusion of the wrapper winsys and softpipe/llvmpipe. Cc: Jakob Bornecrantz <[email protected]> Cc: Rob Clark <[email protected]> Cc: Thomas Hellstrom <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* targets/radeonsi/omx: convert to static/shared pipe-driversEmil Velikov2014-06-261-2/+1
| | | | | | | | | | | | | | | | | | | The radeonsi counterpart of previous commit - now libomx-radeonsi is built into the libomx-mesa library. Providing a single library per API. v2: Include the radeon winsys only when there is a user for it. v3: Correcly include the winsys. Now with extra brown bag :\ Note: Make sure to rebuild the .omxregister file, by executing $ omxregister-bellagio This patch concludes the unification. Now libomx-mesa will be used for all hardware - r600, radeonsi and nouveau. Cc: Leo Liu <[email protected]> Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/r600/omx: convert to static/shared pipe-driversEmil Velikov2014-06-261-2/+1
| | | | | | | | | | | | | | | | | | | | | The r600 counterpart of previous commit - now the libomx-r600 is built into the libomx-mesa library. Providing a single library per API. v2: Include the radeon winsys only when there is a user for it. v3: Correcly include the winsys. Now with extra brown bag :\ Note: Make sure to rebuild the .omxregister file, by executing $ omxregister-bellagio If you have more than one omx library (libomx-radeonsi, libomx-r600), make sure to temporary move the unused one. By the end of the series there will be only one library that will be used for all hardware - r600, radeonsi and nouveau. Cc: Leo Liu <[email protected]> Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/omx-nouveau: convert to static/shared pipe-driversEmil Velikov2014-06-261-2/+3
| | | | | | | | | | | | | | | | | | | Similar to the vdpau/xvmc targets, we're going to convert the multiple target libraries into a single one. The library can be built with the relevant pipe-drivers statically linked in, or loaded as shared modules. Currently we default to static. Note: Make sure to rebuild the .omxregister file, by executing $ omxregister-bellagio If you have more than one omx library (libomx-radeonsi, libomx-r600), make sure to temporary move the unused one. By the end of the series there will be only one library that will be used for all hardware - r600, radeonsi and nouveau. Signed-off-by: Emil Velikov <[email protected]>
* targets/r600/xvmc: convert to static/shared pipe-driversEmil Velikov2014-06-221-2/+1
| | | | | | | | | | | The r600 equivalent of previous commit. v2: Correctly include the radeon winsys/radeon_common. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com>
* targets/xvmc-nouveau: convert to static/shared pipe-driversEmil Velikov2014-06-221-2/+3
| | | | | | | | | | | | | Similar to vdpau targets, we're going to convert the individual target libraries into a single one. The library can be built with the relevant pipe-drivers statically linked in, or loaded as shared modules. Currently we default to static. Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com>
* targets/radeonsi/vdpau: convert to static/shared pipe-driversEmil Velikov2014-06-221-2/+1
| | | | | | | | | | | | | | Similar to previous commits, this allows us to minimise some of the duplication by compacting all vdpau targets into a single library. v2: Include the radeon winsys only when there is a user for it. v3: Correcly include the winsys. Now with extra brown bag :\ Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com>
* targets/r600/vdpau: convert to static/shared pipe-driversEmil Velikov2014-06-221-2/+1
| | | | | | | | | | | | | | Similar to previous commit, this allows us to minimise some of the duplication by compacting all vdpau targets into a single library. v2: Include the radeon winsys only when there is a user for it. v3: Correcly include the winsys. Now with extra brown bag :\ Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com>
* targets/vdpau-nouveau: convert to static/shared pipe-driversEmil Velikov2014-06-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | Create a single library (for the vdpau api) thus reducing the overall size of mesa. Current commit converts vdpau-nouveau, with upcomming commits handling the rest. The library can be built with the relevant pipe-drivers statically linked in, or loaded as shared modules. Currently we default to static. Add SPLIT_TARGETS to guard the other VL targets. Note: symlink handling is rather ugly and will need an update to work with BSD and other non-linux platforms. v2: Split the conversion into per-target basis. Cc: Maarten Lankhorst <[email protected]> Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com>
* configure: add HAVE_GALLIUM_STATIC_TARGETSEmil Velikov2014-06-191-0/+4
| | | | | | | | | | | Will be used to control the linking mode of pipe-drivers in gallium targets. Keep this hardcoded to static, as the pipe-drivers bare an unstable interface which we do not want to expose to the normal user. Signed-off-by: Emil Velikov <[email protected]>
* automake: stop building i915-sw and drop explicit linking to softpipeEmil Velikov2014-06-191-9/+2
| | | | | | | Unused and possibly broken. Will be completely removed in upcomming commits. Signed-off-by: Emil Velikov <[email protected]>
* configure: correctly autodetect xvmc/vdpau/omxEmil Velikov2014-06-121-1/+1
| | | | | | | | | | | | | Commit e62b7d38a1d (configure: autodetect video state-trackers when non swrast driver is present) added a check that caused the autodetection to be omitted when we have the swrast gallium driver. Whereas it should have skipped the VL targets when only swrast was selected. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79907 Cc: "10.2" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* configure.ac: Simplify DUSE_EXTERNAL_DXTN_LIB logic.Matt Turner2014-06-111-9/+3
| | | | | Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Alphabetize AC_CONFIG_FILES.Matt Turner2014-06-111-7/+7
| | | | | | | This isn't supposed to be difficult. Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Remove single quotes to fix syntax highlighting.Matt Turner2014-06-111-2/+2
| | | | | | | Please stop adding them. Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure: Only check for OpenCL without LLVM when the latter is certainMichel Dänzer2014-06-101-4/+4
| | | | | | | | | | | LLVM is enabled by default for some architectures, but the test was failing before that. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Cc: "10.1 10.2" <[email protected]>