summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets
Commit message (Collapse)AuthorAgeFilesLines
* targets/opencl: Add clangASTMatchers library as dependencyMichel Dänzer2019-07-011-0/+1
| | | | | | | | Fixes link failure since clang r364424 "[clang/DIVar] Emit the flag for params that have unmodified value", clangCodeGen depends on clangASTMatchers now. Reviewed-by: Dylan Baker <[email protected]>
* Revert "meson: Add support for using cmake for finding LLVM"Dylan Baker2019-06-281-5/+1
| | | | | | | | This reverts commit 5157a4276500c77e2210e853b262be1d1b30aedf. There is a meson bug that causes llvm to always be statically linked, which is obviously not what we want. I haven't had time to look into it yet, but for now let's just revert it.
* Revert "meson: try to use cmake as a finder for clang"Dylan Baker2019-06-281-27/+16
| | | | This reverts commit 0ba0c0c15c633a5a3b7a4651a743f800f30bcbf6.
* meson: try to use cmake as a finder for clangDylan Baker2019-06-271-16/+27
| | | | | | | | | | | | | Clang (like LLVM), very annoyingly refuses to provide pkg-config, and only provides cmake (unlike LLVM which at least provides llvm-config, even if llvm-config is terrible). Meson has gained the ability to use cmake to find dependencies, and can successfully find Clang. This change attempts to use cmake to find clang instead of a bunch of library searches, when paired with -Dcmake_prefix_path we can much more reliably use cmake to control which clang we're getting. This is only enabled for meson >= 0.51, which adds the required options. Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add support for using cmake for finding LLVMDylan Baker2019-06-271-1/+5
| | | | | | | | | | | | | | | | Meson has support for using cmake as a finder for some dependencies, including LLVM. Using cmake has a lot of advantages: it needs less meson maintenance to keep working (even for llvm updates); it works more sanely for cross compiles (as llvm-config is a compiled binary not a shell script). Meson 0.51.0 also has a new generic variable getter that can be used to get information from either cmake, pkg-config, or config-tools dependencies, which is needed for cmake. We continue to support using llvm-config if you don't have cmake installed, or if cmake cannot find a suitable version. Fixes: 0d59459432cf077d768164091318af8fb1612500 ("meson: Force the use of config-tool for llvm") Reviewed-by: Eric Engestrom <[email protected]>
* meson: set up a proper internal dependency for xmlconfigEric Engestrom2019-06-272-4/+4
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* d3dadapter9: Revert to old throttling limit valueAxel Davy2019-06-031-2/+4
| | | | | | | | | | | | | | | Recently PIPE_CAP_MAX_FRAMES_IN_FLIGHT was changed from 2 to 1: 20909284f204091757c050aa40cfffaf3f981b9c No driver seems to overwrite the default value. One user reports severe regressions for some games. For now, revert to the value 2 for nine. Cc: "19.1" [email protected] Signed-off-by: Axel Davy <[email protected]>
* meson: Link Gallium drivers with ld_args_build_idMike Lothian2019-05-281-1/+1
| | | | | | | | | | | Link all Gallium drivers with ld_args_build_id to prevent failures in Iris that uses GNU_BUILD_ID Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=110757 Fixes: 4756864cdc5f "iris: Start wiring up on-disk shader cache" Signed-off-by: Mike Lothian <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* radeonsi: clean up winsys creationMarek Olšák2019-05-271-11/+2
| | | | | | - unify the code - choose radeon or amdgpu based on the DRM version, not based on which one succeeds first
* meson: expose glapi through osmesaEric Engestrom2019-05-181-2/+2
| | | | | | | | | | | Suggested-by: Pierre Guillou <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109659 Fixes: f121a669c7d94d2ff672 "meson: build gallium based osmesa" Fixes: cbbd5bb889a2c271a504 "meson: build classic osmesa" Cc: Brian Paul <[email protected]> Cc: Dylan Baker <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Tested-by: Chuck Atkins <[email protected]>
* kmsro: add _dri.so to two of the kmsro drivers.Dave Airlie2019-05-091-2/+2
| | | | | | Fixes: 8cfc17bdda3 (kmsro: Add the rest of the current set of tinydrm drivers.) Reviewed-by: Eric Engestrom <[email protected]>
* mesa: android: freedreno: build libfreedreno_{drm,ir3} static libsAmit Pundir2019-05-061-0/+4
| | | | | | | | | | | | | | | | | | | | Add libfreedreno_drm/ir3 to the build Cc: Rob Clark <[email protected]> Cc: Emil Velikov <[email protected]> Cc: Amit Pundir <[email protected]> Cc: Sumit Semwal <[email protected]> Cc: Alistair Strachan <[email protected]> Cc: Greg Hartman <[email protected]> Cc: Tapani Pälli <[email protected]> Cc: Jason Ekstrand <[email protected]> Fixes: b4476138d5a ("freedreno: move drm to common location") Fixes: aa0fed10d35 ("freedreno: move ir3 to common location") Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Amit Pundir <[email protected]> [jstultz: Tweaked to add extra ir3 files from master] Signed-off-by: John Stultz <[email protected]>
* st/nine: Throttle rendering similarly for thread_submitAxel Davy2019-04-301-7/+0
| | | | | | | | | thread_submit's throttling depending on the number of internal back buffers, and wasn't affected by the driver requested throttling value. Now it is. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Control shader constant inlining with drircAxel Davy2019-04-301-0/+6
| | | | | | | Until we use async shader compilation for constant inlining, don't enable it unless user asks for it. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add drirc option to use data_internal for dynamic texturesAxel Davy2019-04-301-0/+6
| | | | | | | | | | | | | | dynamic textures seem to have predictable stride. This stride should be the same as for a ram buffer. It seems some game don't check the actual stride value, assuming it to be the expected one. Thus this workaround (protected by drirc option) is to use an intermediate ram buffer. Fixes Rayman Legends texture issues when enabled. Signed-off-by: Axel Davy <[email protected]>
* delete autotools input filesEric Engestrom2019-04-293-32/+0
| | | | | | | Leftovers from when autotools was deleted. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* delete autotools .gitignore filesEric Engestrom2019-04-291-1/+0
| | | | | | | | One special case, `src/util/xmlpool/.gitignore` is not entirely deleted, as `xmlpool.pot` still gets generated (eg. by `ninja xmlpool-pot`). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: Force '.so' extension for DRI driversJon Turney2019-04-254-0/+4
| | | | | | | | | | | | DRI driver loadable modules are always installed with install_megadriver.py with names ending with '.so', irrespective of platform. Force the name the loadable module is built with to match, so install_megadriver.py doesn't spin trying to remove non-existent symlinks. Fixes: c77acc3c "meson: remove meson-created megadrivers symlinks"
* gallium: replace drm_driver_descriptor::configuration with driconf_xmlMarek Olšák2019-04-237-53/+10
| | | | | | PIPE_CAPs are better. Reviewed-by: Kenneth Graunke <[email protected]>
* gallium: replace DRM_CONF_SHARE_FD with PIPE_CAP_DMABUFMarek Olšák2019-04-238-76/+1
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* gallium: replace DRM_CONF_THROTTLE with PIPE_CAP_MAX_FRAMES_IN_FLIGHTMarek Olšák2019-04-238-56/+3
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* Delete autotoolsDylan Baker2019-04-1511-1197/+0
| | | | | | | | | | Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Marek Olšák <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Matt Turner <[email protected]>
* kmsro: Extend to include armada-drmLubomir Rintel2019-04-112-0/+2
| | | | | | | | | | | | This allows using the Marvell Armada display controllers (with the armada drm modesetting driver) along with the render-only drivers, such as Etnaviv on an OLPC XO-1.75 laptop. v2: - Add to Android.mk too Signed-off-by: Lubomir Rintel <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* kmsro: Add platform support for exynos and sun4iRob Herring2019-04-112-0/+4
| | | | | | | | | v2: - add Android.mk change Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Qiang Yu <[email protected]>
* gallium: add lima driverQiang Yu2019-04-112-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v2: - use renamed util_dynarray_grow_cap - use DEBUG_GET_ONCE_FLAGS_OPTION for debug flags - remove DRM_FORMAT_MOD_ARM_AGTB_MODE0 usage - compute min/max index in driver v3: - fix plbu framebuffer state calculation - fix color_16pc assemble - use nir_lower_all_source_mods for lowering neg/abs/sat - use float arrary for static GPU data - add disassemble comment for static shader code - use drm_find_modifier v4: - use lima_nir_lower_uniform_to_scalar v5: - remove nir_opt_global_to_local when rebase Cc: Rob Clark <[email protected]> Cc: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Anholt <[email protected]> Signed-off-by: Andreas Baierl <[email protected]> Signed-off-by: Arno Messiaen <[email protected]> Signed-off-by: Connor Abbott <[email protected]> Signed-off-by: Erico Nunes <[email protected]> Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Koen Kooi <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: marmeladema <[email protected]> Signed-off-by: Paweł Chmiel <[email protected]> Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Rohan Garg <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Qiang Yu <[email protected]>
* Partially revert "gallium: fix autotools build of pipe_msm.la"Jan Vesely2019-04-101-1/+2
| | | | | | | | | | | | This partially reverts commit 356ec7a21960d77db282f67af577dcdb46966b5a. There are symbols needed by libglsl missing, so we might as well skip the entire library. Fixes: 356ec7a21960d77db282f67af577dcdb46966b5a Signed-off-by: Jan Vesely <[email protected]> Acked-by: Dieter Nützel <[email protected]> Tested-by: Dieter Nützel <[email protected]> Tested-by: Vinson Lee <[email protected]>
* meson: strip rpath from megadriversEric Engestrom2019-04-014-0/+10
| | | | | | | | | | More specifically, use the library file that has been post-processed by Meson when creating the hardlinks. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=108766 Fixes: 3218056e0eb375eeda47 "meson: Build i965 and dri stack" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* gallium: Fix autotools build with libxatracker.la.Vinson Lee2019-03-291-4/+2
| | | | | | | | | | | CXXLD libxatracker.la /usr/bin/ld: ../../../../src/gallium/auxiliary/.libs/libgallium.a(tgsi_to_nir.o): in function `ttn_finalize_nir': src/gallium/auxiliary/nir/tgsi_to_nir.c:2111: undefined reference to `gl_nir_lower_samplers_as_deref' /usr/bin/ld: src/gallium/auxiliary/nir/tgsi_to_nir.c:2113: undefined reference to `gl_nir_lower_samplers' Fixes: 9a834447d652 ("tgsi_to_nir: Produce optimized NIR for a given pipe_screen.") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109929 Signed-off-by: Vinson Lee <[email protected]>
* gallium: fix autotools build of pipe_msm.laTimur Kristóf2019-03-291-4/+2
| | | | | | Signed-off-by: Vinson Lee <[email protected]> Fixes: 9a834447d652 ("tgsi_to_nir: Produce optimized NIR for a given pipe_screen.") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109929
* android: static link with libexpat with Android O+Kishore Kadiyala2019-03-251-1/+9
| | | | | | | | | | | | | In Android O, MESA needs to statically link libexpat so that it's in same VNDK namespace. v2: apply change also to anv driver (Tapani) v3: use += in anv change (Eric Engestrom) Change-Id: I82b0be5c817c21e734dfdf5bfb6a9aa1d414ab33 Signed-off-by: Kishore Kadiyala <[email protected]> Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* Revert "d3dadapter9: Support software renderer on any DRI device"Axel Davy2019-03-091-20/+8
| | | | | | | | This reverts commit 0d0847659385e298badd6ef6ca4d0a9e537ae288. It makes gitlab's travis fail. Revert until patch is fixed. Signed-off-by: Axel Davy <[email protected]>
* d3dadapter9: Support software renderer on any DRI devicePatrick Rudolph2019-03-091-8/+20
| | | | | | | | | | | | If D3D_ALWAYS_SOFTWARE is set for debugging purposes, run on any DRI enabled platform. Instead of probing for a compatible gallium driver (which might fail if there's none) always use the KMS DRI software renderer. Allows to run nine on i915 when D3D_ALWAYS_SOFTWARE=1. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* android: make libbacktrace optional on USE_LIBBACKTRACETapani Pälli2019-02-271-1/+4
| | | | | | | | | | | | Otherwise with VNDK enabled we fail linking: src/gallium/targets/dri/Android.mk: error: gallium_dri (native:vendor) should not link to libbacktrace.vendor (native:vndk_private) Option makes it possible to use libbacktrace only when VNDK is not enabled. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* d3d: meson: do not prefix user provided d3d-drivers-pathSergii Romantsov2019-02-251-1/+1
| | | | | | | | | | | | | | | | | The user can select the location where there d3d drivers are installed by the d3d-drivers-path meson option. By default path will be $prefix/$libdir/d3d. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. Based on logic of Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Kenneth Graunke <[email protected]> CC: Emil Velikov <[email protected]> Signed-off-by: Sergii Romantsov <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: ensure that xmlpool_options.h is generated for gallium targets that ↵David Shao2019-02-245-5/+5
| | | | | | | | | | | need it Fixes: 68076b87474e7959c161 "meson: build gallium vdpau state tracker" Fixes: 22a817af8a89eb3c762f "meson: build gallium xvmc state tracker" Fixes: 5a785d51a6d68ec676ce "meson: build gallium va state tracker" Fixes: 0ba909f0f111824223bc "meson: build gallium xa state tracker" Fixes: 1d36dc674d528b93bec3 "meson: build gallium omx state tracker" Reviewed-by: Eric Engestrom <[email protected]>
* iris: fix build with gallium nineAndre Heider2019-02-211-2/+2
| | | | Signed-off-by: Andre Heider <[email protected]>
* iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs.Kenneth Graunke2019-02-212-3/+4
| | | | | | | | | | | | | | | This commit introduces a new Gallium driver for Intel Gen8+ GPUs, named 'iris_dri.so' after the hardware. Developed by: - Kenneth Graunke (overall driver) - Dave Airlie (shaders, conditional render, overflow query, Gen8 port) - Chris Wilson (fencing, pinned memory, ...) - Jordan Justen (compute shaders) - Jason Ekstrand (image load store) - Caio Marcelo de Oliveira Filho (tessellation control passthrough) - Rafael Antognolli (auxiliary buffer fixes) - The rest of the i965 contributors and the Mesa community
* kmsro: Add the rest of the current set of tinydrm drivers.Eric Anholt2019-02-202-5/+19
| | | | | | | | | | | While I haven't tested them all, given that they're all using the same allocation paths and modifiers in the kernel they should be fine to use in the same way. v2: Rebase on other kmsro changes. v3: Skip repeated '[with_gallium_kmsro,' in the meson build. Acked-by: Alyssa Rosenzweig <[email protected]>
* drm-uapi: use local files, not system libdrmEric Engestrom2019-02-141-1/+1
| | | | | | | | | There was an issue recently caused by the system header being included by mistake, so let's just get rid of this include path and always explicitly #include "drm-uapi/FOO.h" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* kmsro: Move DRM entrypoints to shared blockAlyssa Rosenzweig2019-02-071-10/+8
| | | | | | | | | | | | | As kmsro allows an essentially mix-and-match hodgepodge of display drivers and renderonly GPUs, it doesn't make sense to couple the display driver entrypoint definition with the driver. Instead, we move *all* kmsro entrypoints to a shared kmsro block at the end (avoiding clutter and distraction since this list may snowball in the future). v2: Alphabetize driver list. Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* panfrost: Initial stub for Panfrost driverAlyssa Rosenzweig2019-02-052-1/+14
| | | | | | | | | | | | | This patch adds an initial stub for the Gallium driver, containing simple screen functions and the majority of the driver headers but no actual functionality. It further adds the winsys glue for linking in this stub driver via kmsro on Rockchip/Amlogic boards. Signed-off-by: Alyssa Rosenzweig <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Rob Clark <[email protected]> Acked-by: Eric Anholt <[email protected]> Acked-by: Emil Velikov <[email protected]>
* Switch imx to kmsro and remove the imx winsysRob Herring2019-01-282-3/+2
| | | | | | | The kmsro winsys is equivalent to the imx winsys, so we can switch to it and remove the imx one. Signed-off-by: Rob Herring <[email protected]>
* kmsro: Extend to include hx8357d.Eric Anholt2019-01-282-0/+2
| | | | | | | | | | | | This allows vc4 to initialize on the Adafruit PiTFT 3.5" touchscreen with the hx8357d tinydrm driver v2: Whitespace fix noted by Eric Engestrom, update commit message for the driver being merged. v3: Rebase on Rob Herring's pipe-loader changes. Acked-by: Eric Engestrom <[email protected]> (v1) Acked-by: Emil Velikov <[email protected]> (v1)
* pl111: Rename the pl111 driver to "kmsro".Eric Anholt2019-01-283-4/+4
| | | | | | | | | | | | The vc4 driver can do prime sharing to many different KMS-only devices, such as the various tinydrm drivers for SPI-attached displays. Rename the driver away from "pl111" to represent what it will actually support: various sorts of KMS displays with the renderonly layer used to attach a GPU. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Acked-by: Emil Velikov <[email protected]>
* freedreno: add renderonly scanoutJonathan Marek2019-01-261-1/+1
| | | | | | | | | | This allows creating a fd_screen with a renderonly object which will be used to allocated scanout resources. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Eric Anholt <[email protected]> [slight tweak to fix uninitialized 'prsc' in debug print] Signed-off-by: Rob Clark <[email protected]>
* meson/vdpau: add missing soversionEric Engestrom2019-01-251-1/+2
| | | | | | | | | | | | | | | This mirrors what autotools does in src/gallium/state_trackers/vdpau/Makefile.am and src/gallium/targets/vdpau/Makefile.am: VDPAU_MAJOR = 1 VDPAU_MINOR = 0 libvdpau_gallium_la_LDFLAGS = -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) Reported-by: Igor Gnatenko <[email protected]> Fixes: 68076b87474e7959c161 "meson: build gallium vdpau state tracker" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* autotools: Remove tegra vdpau driverDylan Baker2019-01-081-2/+0
| | | | | | | | | | | This has never functioned and probably wont ever function, due to the way gallium media state trackers are architected and the tegra video decoder is architected. Cc: Thierry Reding <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Fixes: 1755f608f5201e0a23f00cc3ea1b01edd07eb6ef ("tegra: Initial support")
* pipe-loader: meson: reference correct libraryEmil Velikov2018-12-131-1/+1
| | | | | | | | The library is called libgalliumvl_stub - note singular. Fixes: 42ea0631f10 ("meson: build clover") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* d3dadapter9: use snprintf(..., "%s", ...) instead of strncpyAndre Heider2018-12-012-13/+22
| | | | | | | | Fixes -Wstringop-truncation compiler warnings. See f836d799f9066adf58f36 "intel/decoder: use snprintf(..., "%s", ...) instead of strncpy" Signed-off-by: Andre Heider <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* freedreno: Fix autotools build.Vinson Lee2018-11-281-0/+2
| | | | | | | | | | | | | | | | | | Fix build error. CXXLD pipe_msm.la ../../../../src/gallium/drivers/freedreno/.libs/libfreedreno.a(freedreno_batch.o): In function `batch_init': src/gallium/drivers/freedreno/freedreno_batch.c:54: undefined reference to `fd_device_version' src/gallium/drivers/freedreno/freedreno_batch.c:59: undefined reference to `fd_submit_new' src/gallium/drivers/freedreno/freedreno_batch.c:61: undefined reference to `fd_submit_new_ringbuffer' src/gallium/drivers/freedreno/freedreno_batch.c:64: undefined reference to `fd_submit_new_ringbuffer' src/gallium/drivers/freedreno/freedreno_batch.c:66: undefined reference to `fd_submit_new_ringbuffer' src/gallium/drivers/freedreno/freedreno_batch.c:70: undefined reference to `fd_submit_new_ringbuffer' Fixes: b4476138d5ad ("freedreno: move drm to common location") Fixes: aa0fed10d357 ("freedreno: move ir3 to common location") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Rob Clark <[email protected]>