summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/pipe-loader
Commit message (Collapse)AuthorAgeFilesLines
* gallium: annotate sw_driver_descriptor instance as const dataEmil Velikov2016-10-141-1/+1
| | | | | | | Already treated and handled as such. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* gallium: remove unused drm_driver_descriptor::driver_nameEmil Velikov2016-10-148-8/+8
| | | | | | | | | | | | Likely unused since day 1, although I've only checked back until the st/dri unification with commit 29ca7d2c948 ("st/dri: merge dri/drm and dri/sw backends") Based on the comment, referencing drmOpenByName it's not something we want to bring back. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* gallium/swr: allow swr use as a swrast dri driverTim Rowley2016-04-151-5/+14
| | | | | Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nir: move to compiler/Emil Velikov2016-01-261-1/+1
| | | | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Jose Fonseca <jfonseca@vmware.com>
* pipe-loader: rework the sw backendEmil Velikov2015-11-213-2/+39
| | | | | | | | | | | | Move the winsys into the pipe-target, similar to the hardware pipe-driver. v2: - move int declaration outside of loop (Brian) - fold the teardown into a goto + separate function. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Rob Clark <robclark@freedesktop.org>
* glsl: (mostly) remove libglsl_utilRob Clark2015-10-161-1/+0
| | | | | | | | | | | Now that NIR does not depend on glsl, we can (mostly[*]) get rid of the libglsl_util hack. [*] glsl_compiler is the one remaining user of libglsl_util Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Rob Clark <robclark@freedesktop.org>
* winsys/amdgpu: add a new winsys for the new kernel driverMarek Olšák2015-08-142-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v2: - lots of changes according to Emil Velikov's comments - implemented radeon_winsys::read_registers v3: - a lot of new work, many of them adapt to libdrm interface changes Squashed patches: winsys/amdgpu: implement radeon_winsys context support winsys/amdgpu: add reference counting for contexts winsys/amdgpu: add userptr support winsys/amdgpu: allocate IBs like normal buffers winsys/amdgpu: add IBs to the buffer list, adapt to interface changes winsys/amdgpu: don't use KMS handles as reloc hash keys winsys/amdgpu: sync buffer accesses to different rings winsys/amdgpu: use dependencies instead of waiting for last fence v2 gallium/radeon: unify buffer_wait and buffer_is_busy in the winsys interface (amdgpu part) winsys/amdgpu: track fences per ring and be thread-safe winsys/amdgpu: simplify waiting on a variable in amdgpu_fence_wait gallium/radeon: allow the winsys to choose the IB size (amdgpu part) winsys/amdgpu: switch to new amdgpu_cs_query_fence_status interface winsys/amdgpu: handle fence and dependencies merge winsys/amdgpu follow libdrm change to move user fence into UMD winsys/amdgpu: use amdgpu_bo_va_op for va map/unmap v2 winsys/amdgpu: use the new tiling flags winsys/amdgpu: switch to new GTT_USWC definition winsys/amdgpu: expose amdgpu_cs_query_reset_state to drivers winsys/amdgpu: fix valgrind warnings winsys/amdgpu: don't use VRAM with APUs that don't have much of it winsys/amdgpu: require LLVM 3.6.1 for VI because of bug fixes there winsys/amdgpu: remove amdgpu_winsys::num_cpus winsys/amdgpu: align BO size to page size winsys/amdgpu: reduce BO cache timeout winsys/amdgpu: remove useless flushing and waiting in amdgpu_bo_set_tiling winsys/amdgpu: use amdgpu_device_handle as a unique device ID instead of fd winsys/amdgpu: use safer access to amdgpu_fence_wait::signalled winsys/amdgpu: allow maximum IB size of 4 MB winsys/amdgpu: add ip_instance into amdgpu_fence gallium/radeon: add RING_COMPUTE instead of RADEON_FLUSH_COMPUTE winsys/amdgpu: set the ring type at CS initilization winsys/amdgpu: query the GART page size from the kernel winsys/amdgpu: correctly wait for shared buffers to become idle winsys/amdgpu: set the amdgpu_cs_fence structure only once at fence creation winsys/amdgpu: add a specific error message for cs_submit -> -ENOMEM winsys/amdgpu: check num_active_ioctls before calling amdgpu_bo_wait_for_idle winsys/amdgpu: clear user fence BO after allocating it winsys/amdgpu: fix user fences winsys/amdgpu: make amdgpu_winsys_create public winsys/amdgpu: remove thread offloading winsys/amdgpu: flatten the amdgpu_cs_context structure and simplify more v4: require libdrm 2.4.63
* pipe-loader: add libnir and libglsl_util to the linkEmil Velikov2015-06-121-0/+2
| | | | | | | | | Based on commit 101142c4010(xa: support for drivers which use NIR) Cc: Rob Clark <robclark@freedesktop.org> Cc: "10.6" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90466 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* winsys/radeon: move radeon_winsys.h to drivers/radeonMarek Olšák2015-04-293-3/+3
|
* i915g: Implement EGL_EXT_image_dma_buf_importStéphane Marchesin2015-04-011-1/+24
| | | | | | | This adds all the plumbing to get EGL_EXT_image_dma_buf_import in i915g. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
* galahad: remove driverEmil Velikov2015-03-211-3/+1
| | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Matt Turner <mattst88@gmail.com>
* pipe-loader: Fix build with dri drivers enabled, and vl state trackers disabledTom Stellard2015-02-271-1/+5
| | | | | | | | | | | | | | | | | Configure arguments: ./configure --disable-dri3 --disable-xvmc --enable-opencl --with-gallium-drivers=r300,r600,radeonsi --with-egl-platforms=drm Build error: make[3]: *** No rule to make target `../../../../src/gallium/auxiliary/libgalliumvlwinsys.la', needed by `pipe_r300.la'. Stop. Cc: "10.5" <mesa-stable@lists.freedestkop.org> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* auxiliary/vl: bring back the VL code for the dri targetsEmil Velikov2015-02-121-0/+1
| | | | | | | | | | | | | | | | | With commit c642e87d9f4(auxiliary/vl: rework the build of the VL code) we split out the VL code into a separate static library that was meant to be used by the VL targets alone - va, vdpau, xvmc. The commit failed to consider the way we handle vdpau-gl interop and broke it. Bring back the functionality by keeping the vl <> vl_stub separation as requrested by Christian. v2: Update the omx target as well. Update mesa-stable email address. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86837 Cc: "10.5" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Tested-by: Andy Furniss <adf.lists@gmail.com>
* auxiliary/vl: rework the build of the VL codeEmil Velikov2014-11-261-2/+12
| | | | | | | | | | | | | | | | | | | Rather than shoving all the VL code for non-VL targets, increasing their size, just split it out and use it when needed. This gives us the side effect of building vl_winsys_dri.c once, dropping a few automake warnings, and reducing the size of the dri modules as below text data bss dec hex filename 5850573 187549 1977928 8016050 7a50b2 before/nouveau_dri.so 5508486 187100 391240 6086826 5ce0aa after/nouveau_dri.so The above data is for a nouveau + swrast + kms_swrast 'megadriver'. v2: Do not include the vl sources in the auxiliary library. v3: Rebase. Add nine. Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* targets: bundle all files in the tarballEmil Velikov2014-11-161-0/+2
| | | | | | | | | We were missing a few files - The version scripts - Android & scons build scripts - A few headers. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* ilo: add drm_configuration for the pipe-targetNick Sarnie2014-11-041-1/+22
| | | | Allows the driver to advertise DMA-BUF and throttling.
* ilo: Build pipe-loader for iloNick Sarnie2014-10-142-0/+40
| | | | | | | Trivial patch to create the pipe loader for ilo. All the code was already there. Signed-off-by: Nick Sarnie <commendsarnex@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* mesa: Move register_allocate.c to util.Eric Anholt2014-09-231-1/+0
| | | | | | | | | | | | | The r300 gallium driver is using it outside of the Mesa tree, and I wanted to do so for vc4 as well. Rather than make the multiple-definitions problem even more complicated, just move it to more-shared code. v2: Don't forget to delete the symlink in r300 (review by Matt). Delete more r300-helper references (review by Emil) Don't prefix util/ header inclusion with "util/" (review by Emil) Reviewed-by: Matt Turner <mattst88@gmail.com> (v1) Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v1)
* freedreno: add DRM_CONF_SHARE_FDRob Clark2014-09-211-1/+24
| | | | | | | | And config query and DRM_CONF_SHARE_FD to both mega-driver and traditional build configs, so that EGL_EXT_image_dma_buf_import works. Signed-off-by: Rob Clark <robclark@freedesktop.org>
* gallium: Move sRGB <-> RGB handling to libmesautilJason Ekstrand2014-08-041-1/+1
| | | | | Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* util: Gather some common macrosJason Ekstrand2014-08-041-0/+1
| | | | | | | | | | This gathers macros that have been included across components into util so that the include chain can be more vertical. In particular, this makes util stand on its own without any dependence whatsoever on the rest of mesa. Signed-off-by: "Jason Ekstrand" <jason.ekstrand@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* targets/pipe-loader: add driver specific drm_configurationEmil Velikov2014-06-195-5/+120
| | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* automake: correctly append the version-scriptEmil Velikov2014-05-251-3/+5
| | | | | | | | | | Turns out that the AC conditional did not include the the version-scripts as expected. Rather it truncated the remaining linker flags. Cc: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Fix build for darwinJon TURNEY2014-05-231-0/+2
| | | | | | | | | | | | | | | | | | | Fix build for darwin, when ./configured --disable-driglx-direct - darwin ld doesn't support -Bsymbolic or --version-script, so check if ld supports those options before using them - define GLX_ALIAS_UNSUPPORTED as config/darwin used to, as aliasing of non-weak symbols isn't supported - default to -with-dri-drivers=swrast v2: Use -Wl,-Bsymbolic, as before, not -Bsymbolic Test that ld --version-script works, rather than just looking for it in ld --help Don't use -Wl,--no-undefined on darwin, either Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* gallium/radeon: link in libradeon.la at target levelEmil Velikov2014-05-151-0/+2
| | | | | | | | | | | | It makes more sense to link the core and common parts of the driver as the target is build. Additionally this will help us drop duplicating symbols for targets that static link mulitple pipe-drivers. Only egl-static needs that currently with more to come. To simplify things a bit add HAVE_GALLIUM_RADEON_COMMON variable. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* targets/pipe-loader: cleanup version-scriptEmil Velikov2014-05-023-5/+9
| | | | | | | | | | | Drop the version/name tag from the script as it was never meant to be there. Add swrast_create_screen as it is used when loading swrast. Rename the file to pipe.sym. v2: Rebase on top of the LD_NO_UNDEFINED changes. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
* targets/pipe-loader: drop driver_descriptor symbol from swrastEmil Velikov2014-05-022-4/+2
| | | | | | | | | The symbol is used for hardware only drivers. For swrast the loader uses swrast_create_screen. Add VISIBILITY_CFLAGS while we're here. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
* gallium/radeon: fix missing winsys include in pipe-loader.Knut Andre Tidemann2014-04-113-1/+3
| | | | | | | | | | | 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 <thomas.stellard@amd.com>
* winsys/radeon: fix a race condition in initialization of radeon_winsys::screenMarek Olšák2014-04-103-36/+6
| | | | | | | | Create the screen in the winsys while the mutex is locked. This also results in a nice code cleanup! Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
* 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 <jsg@jsg.id.au> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* automake: introduce GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-051-4/+1
| | | | | | | | | 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 <vlee@freedesktop.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* 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 <emil.l.velikov@gmail.com> Acked-by: Matt Turner <mattst88@gmail.com> (v1)
* automake: add -Wl,--no-undefined to all librariesEmil Velikov2014-03-311-0/+1
| | | | | | | | | ... 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 <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* 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 <emil.l.velikov@gmail.com>
* pipe-loader: use PTHREAD_LIBS over -lpthreadEmil Velikov2014-03-311-1/+1
| | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* 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 <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* targets/pipe-loader: include dummy.cpp irrespective of HAVE_MESA_LLVMEmil Velikov2014-03-311-5/+4
| | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* 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 <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* 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 <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* targets/pipe-loader: link pipe-nouveau against libdrmEmil Velikov2014-02-221-0/+1
| | | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
* pipe-loader: add pipe loader for freedreno/msmRob Clark2014-02-162-0/+38
| | | | Signed-off-by: Rob Clark <robclark@freedesktop.org>
* radeonsi: Apply si_* file naming scheme.Andreas Hartmetz2014-01-141-1/+1
| | | | Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* pipe-loader: Fix llvmpipe.la pathMichel Dänzer2013-12-041-1/+1
| | | | | | Fixes make[3]: *** No rule to make target `.../src/gallium/drivers/softpipe/libllvmpipe.la', needed by `pipe_swrast.la'. Stop.
* pipe-loader: build llvmpipe on top of softpipeEmil Velikov2013-12-031-10/+7
| | | | | | | | One can select if they want to fallback to softpipe. Current approach makes this not possible, whereas other targets (dri-swrast) handle this approapriately. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* gallium: Pass version scripts to linker using --version-script=Tom Stellard2013-11-182-2/+2
| | | | | | This fixes build failures with the gold linker. CC: "10.0" <mesa-stable@lists.freedesktop.org>
* pipe-loader: Only export necessary symbols v3Tom Stellard2013-11-112-0/+5
| | | | | | | | | | | | This makes it possible to use clover with statically linked LLVM. v2: - Inline LINKER_SCRIPT variable v3: Kai Wasserbäch - Fix out out-of-tree-builds Tested-by: Kai Wasserbäch <kai@dev.carbon-project.or>
* Move nv30, nv50 and nvc0 to nouveau.Johannes Obermayr2013-09-111-3/+0
| | | | | | | | | | | | | | | | 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 <johannesobermayr@gmx.de> Acked-by: Christoph Bumiller <christoph.bumiller@speed.at> Acked-by: Ian Romanick <ian.d.romanick@intel.com>
* build: Get rid of GALLIUM_MAKE_DIRSMatt Turner2013-04-151-5/+1
| | | | | | Tested-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-and-Tested-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* Clean up .gitignore filesMatt Turner2013-01-101-1/+0
|
* targets/pipe-loader: Convert to automakeMatt Turner2013-01-103-179/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <johannesobermayr@gmx.de> - Fix some undefined symbols. v3: Johannes Obermayr <johannesobermayr@gmx.de> - Install pipe_* to $(libdir)/gallium-pipe. v4: Johannes Obermayr <johannesobermayr@gmx.de> - Build it only once on --enable-gallium-gbm / --enable-opencl.