summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets
Commit message (Collapse)AuthorAgeFilesLines
* egl-static: Fix missing radeon_surface.h includes.José Fonseca2014-04-111-0/+16
| | | | | | | | | | Fixes fatal error: radeon_surface.h: No such file or directory when libdrm is not present, or non-Linux OSes. Trivial.
* gallium/radeon: fix missing winsys include in pipe-loader.Knut Andre Tidemann2014-04-114-1/+4
| | | | | | | | | | | The commit 3b0b44f7def0acb4f7a7aef086c0bece321418a6 introduced a build error: error: dereferencing pointer to incomplete type This patch fixes this issue in all the affected files. Reviewed-by: Tom Stellard <[email protected]>
* winsys/radeon: fix a race condition in initialization of radeon_winsys::screenMarek Olšák2014-04-107-111/+18
| | | | | | | | Create the screen in the winsys while the mutex is locked. This also results in a nice code cleanup! Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Christian König <[email protected]>
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-057-7/+7
| | | | | | | | | | | | | | | | OpenBSD does not have DT_NEEDED entries for libc by design, over concerns how the symbols would be referenced after changing the major version of the library. So avoid -no-undefined checks on OpenBSD as they will fail. v2: don't include the -no-undefined libtool option in the variable and change -Wl,--no-undefined references in Automake.inc as well. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76856 Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/dri: move common libraries to GALLIUM_DRI_LIB_DEPSEmil Velikov2014-04-059-18/+0
| | | | Signed-off-by: Emil Velikov <[email protected]>
* targets/xvmc: use GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-052-2/+0
| | | | | | | | The targets do not require expat or selinux. Use GALLIUM_COMMON_LIB_DEPS which provides the core requirements for each gallium target. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* r600/omx: drop -lstdc++ hackEmil Velikov2014-04-051-2/+1
| | | | | | | | | The build system will use g++ to link the static library due to the dummy.cpp source(s). Thus one does not need the explicit link against stdc++. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: introduce GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-054-21/+5
| | | | | | | | | Rather than copying the core four dependencies all over gallium, introduce the above variable to avoid all the duplication. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848 Tested-by: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: ask the linker to do garbage collectionEmil Velikov2014-03-317-0/+7
| | | | | | | | | | | | | | By doing GC the linker removes all the symbols that are not referenced and/or used by the final library. This results in a saving of ~100K up-to ~600K per (stripped) binary (classic vs gallium drivers). If interested one can ask the compiler to print the sections that are removed using -Wl,--print-gc-sections. v2: Check if ld supports the flag before using it. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]> (v1)
* automake: add -Wl,--no-undefined to all librariesEmil Velikov2014-03-316-5/+21
| | | | | | | | | ... apart from the dri drivers. With this final change we can build mesa without fear that the resulting libraries will have unresolved symbols. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gallium/targets: add missing library dependenciesEmil Velikov2014-03-312-2/+10
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* pipe-loader: reorder PIPE_LIBSEmil Velikov2014-03-311-2/+2
| | | | | | | Reorder -lm, -lrt, -lpthreads and -ldl to be consistent with the rest of mesa. Signed-off-by: Emil Velikov <[email protected]>
* pipe-loader: use PTHREAD_LIBS over -lpthreadEmil Velikov2014-03-311-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* automake: consistently use -no-undefinedEmil Velikov2014-03-311-0/+1
| | | | | | | | | | | | | Set the flag for all but the dri targets. They have missing glapi symbols which are required for the normal operation with the X server. Jon, I fear that you'll need to carry the "no-undefined" hunk locally when building the dri drivers under cygwin. Cc: Jon TURNEY <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/egl-static: move the common LDFLAGS into AM_LDFLAGSEmil Velikov2014-03-311-6/+13
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/omx: do not link against the trace driverEmil Velikov2014-03-312-2/+0
| | | | | | | | Unused due to the missing GALLIUM_TRACE define. Requested-by: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* gallium/targets: explicitly include a dummy.cpp and remove all the LINK mayhemEmil Velikov2014-03-3114-75/+14
| | | | | | | | | | | | | | | Explicitly setting the linker variable was required for old and broken build toolchains. At this point this should no longer be needed, and setting the sources lists will trigger generation of the correct LINK variables. Explicitly include dummy.cpp to use g++ to link the static library which in most cases is based upon C++ code. v2: Reword commit message. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gallium/targets: move LLVM_LIBS handling inside Automake.incEmil Velikov2014-03-3116-49/+2
| | | | Signed-off-by: Emil Velikov <[email protected]>
* gallium/targets: fold LLVM_LDFLAGS inside Automake.incEmil Velikov2014-03-3115-15/+0
| | | | Signed-off-by: Emil Velikov <[email protected]>
* targets/omx: use GALLIUM_OMX_LINKER_FLAGSEmil Velikov2014-03-312-14/+6
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/omx: introduce GALLIUM_OMX_LIB_DEPSEmil Velikov2014-03-312-8/+2
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/pipe-loader: move LLVM_LIBS handling inside PIPE_LIBSEmil Velikov2014-03-311-23/+11
| | | | | | | | This lets us have only one if HAVE_MESA_LLVM block, rather than one for each driver. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/pipe-loader: include dummy.cpp irrespective of HAVE_MESA_LLVMEmil Velikov2014-03-311-5/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/pipe-loader: compact duplicating LDFLAGSEmil Velikov2014-03-311-18/+17
| | | | | | | | Every library uses the same libtool/linker flags. Compact those into AM_LDFLAGS and append the version script to it. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* pipe-loader/swrast: add soft/llvmpipe definesJoakim Sindholt2014-03-311-0/+5
| | | | | | | | | Or it compiles them in, but pretends they don't exist v2: Rebase (Emil) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/xa: drop libudev references from automake buildEmil Velikov2014-03-311-2/+0
| | | | | | | | Mesa does _not_ link against libudev. Additionally the only place that deals with it is the loader, thus we can drop the CFLAGS. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* haiku: Fix build through scons corrections and viewport fixesAlexander von Gluck IV2014-03-241-3/+9
| | | | | | | | | | * Add HAVE_PTHREAD, we do have pthread support wrappers now for non-native Haiku threaded applications. * Viewport changed behavior recently breaking the build. We fix this by looking at the gl_context ViewportArray (Thanks Brian for the idea) Acked-by: Brian Paul <[email protected]>
* targets/dri-ilo: make the driver installableChia-I Wu2014-03-161-4/+3
| | | | | | | | | | | | | | install-gallium-links.mk fails to create the compat link for ilo_dri.so because it looks for dri_LTLIBRARIES instead of noinst_LTLIBRARIES. Fix this by switching to dri_LTLIBRARIES (and make the driver installable). Since pci_id_driver_map.h and the DDX both tell libGL.so to look for "i965", ilo_dri.so will never be loaded even enabled and installed. The change should not create any more confusion. Signed-off-by: Chia-I Wu <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* automake: allow only shared buildsEmil Velikov2014-03-111-4/+0
| | | | | | | | | | | | | | | | | | Static and shared builds were possible in the good old days of static makefiles. Currently the build system does not distinguish nor does anything special when one requests a static build. Print a warning message for the packager that static builds are not supported and continue building shared libs. Currently only Debian and derivatives use static build, and they use it for building a Xlib powered libGL. This patch will only change the warning message they are seeing but the binaries produced will be identical. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]>
* automake: do not use symbols names for static glapi.laEmil Velikov2014-03-111-4/+4
| | | | | | | | | | | | In the cases where one links against the static glapi.la there is no need to create temporary variables only to explicitly link agaist it. Instead use SHARED_GLAPI_LIB to explicitly indicate when one is building and linking with the shared glapi provider. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]>
* gallium/targets: use install-gallium-targets.mkEmil Velikov2014-03-114-37/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]>
* gallium/targets: drop link generation for non DRI targetsEmil Velikov2014-03-114-24/+0
| | | | | | | | | | | | | All three (xvmc and omx) do not have an alternative loading similar to the dri modules. Thus one needs to explicitly install them in order to use/test them. v2: - Keep vdpau targets, as an equivalent of LIBGL_DRIVERS_PATH is being worked on. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]>
* targets/vdpau: use install-gallium-links.mkEmil Velikov2014-03-113-15/+3
| | | | | | | Drop the duplication across all vdpau targets. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* targets/dri: use install-gallium-links.mkEmil Velikov2014-03-119-47/+9
| | | | | | | Drop the duplication across all dri targets. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]>
* fix vdpau interop when using -Bsymbolic-functions in ldflagsMaarten Lankhorst2014-03-109-7/+25
| | | | | | | | | | | Explicitly add radeon_drm_winsys_create and nouveau_drm_screen_create to the dynamic list. This will ensure vdpau interop still works even when the user links with -Bsymbolic-functions in hardened builds. Signed-off-by: Maarten Lankhorst <[email protected]> Tested-by: Rachel Greenham <[email protected]> Reported-by: Peter Frühberger <[email protected]> Reviewed-by: Christian König <[email protected]>
* libgl-xlib: add -Isrc/gallium/winsys flagBrian Paul2014-02-251-0/+1
| | | | | | So that sw/xlib/xlib_sw_winsys.h can be found. Fixes a build break. Reviewed-by: Emil Velikov <[email protected]>
* targets/opencl: resolve undefined symbols at link timeEmil Velikov2014-02-241-0/+1
| | | | | | | | Current automake build does not try to resolve undefined symbols thus we could end up with a broken library. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* gallium/targets: resolve undefined reference to pipe_loader_sw_probe_driEmil Velikov2014-02-243-0/+15
| | | | | | | | | | | | | With the introduction of the pipe_loader_sw_probe_dri helper we require the sw/dri winsys during linking stage despite it being unused by any of the targets. This will cause a minor increase in the resulting library which will be cleaned up via linker options with upcoming patches. v2: Link with libswdri.la only when available. Reported-and-tested-by: Tom Stellard <[email protected]> (v1) Signed-off-by: Emil Velikov <[email protected]>
* pipe-loader: wrap pipe_loader_sw_probe_xlib within HAVE_PIPE_LOADER_XLIBEmil Velikov2014-02-243-0/+21
| | | | | | | | | | | | | | | | | | | The above function implies using the the xlib winsys, which has additional library dependencies that should not be forced. Make the software xlib pipe loader optional thus avoid all the dependency hell. A user that wishes to use the particular pipe-loader would need to set the following within configure.ac. enable_gallium_xlib_loader=yes v2: - Wrap sw/xlib/xlib_sw_winsys.h to handle compilation on systems lacking X11 headers. Spotted by Christian Prochaska. Tested-by: Tom Stellard <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75356 Signed-off-by: Emil Velikov <[email protected]>
* targets/gbm: exit gracefully if pipe_loader_drm_probe_fd is not availableEmil Velikov2014-02-241-3/+4
| | | | | | | | | | When one builds without gallium_drm_loader, the above function will not be available, thus we'll segfault in gallium_screen_create due to memory access violation. Tested-by: Tom Stellard <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75335 Signed-off-by: Emil Velikov <[email protected]>
* libgl-xlib: Fix xlib_sw_winsys.h include path.Vinson Lee2014-02-211-1/+1
| | | | | | | | | | | | | This patch fixes this SCons build error introduced with commit 4f37e52f374b8b1d7177634dc09ab71e30e1779d. Compiling src/gallium/targets/libgl-xlib/xlib.c ... src/gallium/targets/libgl-xlib/xlib.c:35:42: fatal error: state_tracker/xlib_sw_winsys.h: No such file or directory #include "state_tracker/xlib_sw_winsys.h" ^ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75347 Signed-off-by: Vinson Lee <[email protected]>
* winsys/xlib: move xlib_create_sw_winsys within the winsysEmil Velikov2014-02-222-1/+3
| | | | | | v2: Rebase on top of vl_winsys_xsp.c removal Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> (v1)
* targets/pipe-loader: link pipe-nouveau against libdrmEmil Velikov2014-02-221-0/+1
| | | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* targets/vdpau: Don't link unused librariesKusanagi Kouichi2014-02-173-3/+0
| | | | | | libvdpau, libselinux and libexpat are not used. Signed-off-by: Kusanagi Kouichi <[email protected]>
* targets/vdpau: Always use c++ to linkKusanagi Kouichi2014-02-171-5/+1
| | | | | | | | | | | If built without llvm, the following error occurs with mplayer: Failed to open VDPAU backend .../libvdpau_r600.so: undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE [vo/vdpau] Error when calling vdp_device_create_x11: 1 Cc: <[email protected]> Signed-off-by: Kusanagi Kouichi <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* pipe-loader: add pipe loader for freedreno/msmRob Clark2014-02-162-0/+38
| | | | Signed-off-by: Rob Clark <[email protected]>
* st/xa: use pipe-loader to get screenRob Clark2014-02-164-50/+30
| | | | | | This lets multiple gallium drivers use XA. Signed-off-by: Rob Clark <[email protected]>
* pipe-loader: split out "client" versionRob Clark2014-02-162-4/+4
| | | | | | | | Build two versions of pipe-loader, with only the client version linking in x11 client side dependencies. This will allow the XA state tracker to use pipe-loader. Signed-off-by: Rob Clark <[email protected]>
* pipe-loader: Add auth_x parameter to pipe_loader_drm_probe_fd()Tom Stellard2014-02-131-1/+1
| | | | | The caller can use this boolean parameter to tell the pipe-loader to authenticate with the X server when probing a file descriptor.
* nouveau: create only 1 shared screen between vdpau and openglMaarten Lankhorst2014-02-122-0/+7
| | | | | | | | This fixes bug 73200 "vdpau-GL interop fails due to different screen objects" in the same way radeon does. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Emil Velikov <[email protected]>