summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/opencl
Commit message (Collapse)AuthorAgeFilesLines
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-051-1/+1
| | | | | | | | | | | | | | | | 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]>
* automake: ask the linker to do garbage collectionEmil Velikov2014-03-311-0/+1
| | | | | | | | | | | | | | 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-311-1/+3
| | | | | | | | | ... 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: explicitly include a dummy.cpp and remove all the LINK mayhemEmil Velikov2014-03-311-2/+1
| | | | | | | | | | | | | | | 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: use install-gallium-targets.mkEmil Velikov2014-03-111-5/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[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-241-0/+5
| | | | | | | | | | | | | 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-241-0/+7
| | | | | | | | | | | | | | | | | | | 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]>
* pipe-loader: split out "client" versionRob Clark2014-02-161-2/+2
| | | | | | | | 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]>
* opencl: do not link against libudevEmil Velikov2014-02-111-1/+1
| | | | | | | Previously the linking was required due to dependency of udev in the pipe-loader. Now this is no longer the case, as we dlopen the library. Signed-off-by: Emil Velikov <[email protected]>
* clover: Implement support for the ICD extension.Francisco Jerez2013-10-212-0/+6
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Prepare the build system for ICD support.Tom Stellard2013-10-211-8/+7
| | | | Signed-off-by: Francisco Jerez <[email protected]>
* build: Remove libpipe_loader.la from GALLIUM_PIPE_LOADER_LIBS.Matt Turner2013-04-301-0/+1
| | | | | | Tested-by: Tom Stellard <[email protected]> Tested-by: Aaron Watry <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* build: Remove libws_null.la from GALLIUM_PIPE_LOADER_LIBS.Matt Turner2013-04-301-0/+1
| | | | | | Tested-by: Tom Stellard <[email protected]> Tested-by: Aaron Watry <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* build: Build pipe-loader before gallium testsMatt Turner2013-04-151-3/+0
| | | | | | | | | And don't build it from other Makefiles. That's awful, and breaks distclean. Tested-by: Emil Velikov <[email protected]> Reviewed-and-Tested-by: Andreas Boll <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* pipe-loader: Fix out of source buildNiels Ole Salscheider2013-04-101-2/+2
| | | | Signed-off-by: Niels Ole Salscheider <[email protected]>
* clover: Fix build with LLVM 3.3 v2Tom Stellard2013-02-281-1/+1
| | | | | | | | v2: - Fix order that the clang libraries are passed to the linker to avoid missing symbol errors. Acked-by: Francisco Jerez <[email protected]>
* Revert "Revert "targets/opencl: Link against libgallium.la instead of ↵Tom Stellard2013-01-241-3/+1
| | | | | | | | | libgallium.a"" This reverts commit 7824ab807050c03c6df01c44774914dcbef88248. Now that we force linking with LLVM shared libs when building clover, we can link against libgallium.la with no problems.
* Revert "targets/opencl: Link against libgallium.la instead of libgallium.a"Tom Stellard2013-01-151-1/+3
| | | | | | | | | | | | | | | This reverts commit 4148a29ed83d1d85bff3d4e40e847128011c3f20. This is a work-around for bug: https://bugs.freedesktop.org/show_bug.cgi?id=59334 We really should be linking against libgallium.la instead of libgallium.a, but until we can figure why linking against libgallium.la causes runtime failures in clover we will continue to link against libgallium.a Acked-by: Andreas Boll <[email protected]> Tested-by: Aaron Watry <[email protected]>
* Remove hacks for static MakefilesMatt Turner2013-01-131-4/+0
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* targets/opencl: Link against libgallium.la instead of libgallium.aTom Stellard2013-01-111-1/+1
|
* Clean up .gitignore filesMatt Turner2013-01-101-1/+0
|
* targets/pipe-loader: Convert to automakeMatt Turner2013-01-101-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ linking (controlled by the nodist_EXTRA idiom) is needed unconditionally for: nouveau (uses C++ in the driver) r300 (since LLVM is always required) radeonsi (since LLVM is always required) swrast (if builting LLVM pipe) and conditionally (depends whether LLVM is enabled) for i915 r600 vmwgfx and never needed for swrast (softpipe). Unfortunately, automake seems to *always* link with C++ if nodist_EXTRA is specified, even inside a false conditional. Not sure if this is a bug, but it does seem to be weird behavior. v2: Johannes Obermayr <[email protected]> - Fix some undefined symbols. v3: Johannes Obermayr <[email protected]> - Install pipe_* to $(libdir)/gallium-pipe. v4: Johannes Obermayr <[email protected]> - Build it only once on --enable-gallium-gbm / --enable-opencl.
* clover: Don't link against libclangRewriteTom Stellard2012-10-111-1/+0
| | | | | | | This library does not exist in LLVM 3.2 and libOpenCL.so links fine without it on LLVM 3.1 Reviewed-by: Francisco Jerez <[email protected]>
* clover: Fix build with LLVM libs installed to non-standard directoriesAlexey Shvetsov2012-06-151-0/+1
| | | | | | Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Tom Stellard <[email protected]>
* clover: Link to the necessary LLVM and Clang libsTom Stellard2012-06-011-1/+17
|
* Add .gitignore files for recently-added gallium projectsPaul Berry2012-05-151-0/+1
| | | | | | | This patch adds .gitignore files to ignore the makefiles generated by the gallium pipe loader and the clover OpenCL state tracker. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Import OpenCL state tracker.Francisco Jerez2012-05-111-0/+36