summaryrefslogtreecommitdiff
path: root/src/gallium/targets
AgeCommit message (Collapse)AuthorFilesLines
2 dayspipe-loader: plumb a flag for implicit driver load through screen creationMike Blumenkrantz1-2/+2
Acked-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139>
2024-04-04glx/egl: fix LIBGL_KOPPER_DISABLEMike Blumenkrantz1-5/+1
when set, this disables the use of vk swapchains and lets the dri frontend manage buffers like any other driver also document some kopper env vars Acked-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28137>
2024-04-02meson: add VK_DRIVER_FILES to devenv, alongside the old VK_ICD_FILENAMESEric Engestrom1-0/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516>
2024-03-20rusticl: set OCL_ICD_VENDORS as directory, not fileMary Strodl1-1/+1
Looks like `OCL_ICD_VENDORS` is meant to be a directory containing `.icd` files, but we were giving it a path to a driver. This meant that rusticl wouldn't get picked up when using devenv. Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28231>
2024-03-18apple: Extended Apple feature support using GLX_USE_APPLE.duncan.hopkins1-1/+1
On MacOS/Apple/Dawin you can only get MESA to forward the GL funtions to the systems OpenGL.framework or run SWRast directly. There is no way to use a gallium driver, even if they have been compiled. The two gallium drivers of interest are SWRast and Zink, as the rest are hardware drivers and not relavent on MacOS. The code changes add a new define GLX_USE_APPLE. This is used in combination with the existing GLX_USE_APPLEGL. GLX_USE_APPLEGL calls the systems OpenGL.framework, Apple's OpenGL. GLX_USE_APPLE calls the non-system OpenGL code, i.e. Gallium, hence the subtle naming difference. Apple systems are still used, just not the GL ones. When GLX_USE_APPLE is defined the code will use the DRI/gallium driver sub-system so SWRast and Zink can selected at runtime on MacOS. This also allows Zink to be run on MacOS, once it is fixed up. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28205>
2024-03-13nine: convert licenses block to SPDXDavid Heidelberg4-75/+7
Convert licensing information using ISO/IEC 5962:2021 to SPDX format. Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com> Reviewed-by: lorn10 <kle@bluewin.ch> Signed-off-by: David Heidelberg <david@ixit.cz> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27971>
2024-03-01meson,windows: Use relative paths in Vulkan ICD manifest filesLuca Bacci1-1/+1
See https://github.com/msys2/MINGW-packages/issues/16065 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27468>
2024-03-01panfrost: Add the gallium glue to get panfrost loaded when panthor is detectedBob Beckett2-1/+2
Needed if we don't want to force users to pass GALLIUM_DRIVER=panfrost. Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358>
2024-02-29gallium: add a nboxes param to flush_frontbufferMike Blumenkrantz1-1/+1
this allows conveying damage regions through the sw presentation interface Acked-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703>
2024-02-25Add Xilinx ZynqMP KMSRO entrypointSean Anderson2-0/+2
Add support for the Xilinx ZynqMP DPSub display driver, used with the onboard Mali-400 GPU. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27370>
2024-02-23gallium: Add Renesas rzg2l-du DRM entry pointBiju Das2-0/+2
RZ/{G2L,G2LC,V2L} SoCs implements an ARM Mali-G31[1]. Add an entry point for Renesas rzg2l-du DRM vendor, so mesa can be used with it. [1] https://lore.kernel.org/all/20211208104026.421-3-biju.das.jz@bp.renesas.com/ Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27763>
2024-02-09targets/va: override LIBVA_DRIVERS_PATH in devenvErik Faye-Lund1-0/+2
This is really the right thing to do; it makes libva pick up the driver we just built in a meson devenv. Not doing so can be kinda fatal; otherwise we can end up loading different gallium-drivers for OpenGL and VA-API, which can end up being pretty fatal. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27514>
2024-02-05d3d10umd: Rename d3d10sw target to d3d10umdMax R7-0/+0
Other drivers such as virgl are planned to be added to d3d10... target. As it is not a purely software driver d3d10sw target is renamed to d3d10umd target to reflect that. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27416>
2024-02-05d3d10umd, meson: Allow naming d3d10umd DLLsMax R5-20/+20
For graphics drivers on windows it is beneficial to have usermode DLLs names matching driver overall name, example being vm3dum_10.dll and nvwgf2um.dll for d3d10 usermode drivers from VMWare and Nvidia. To implement that new meson option `gallium-d3d10-dll-name` that names the resulting d3d10umd target DLL is introduced. Additionaly, to avoid confusion `gallium-dll-name` is renamed to `gallium-wgl-dll-name` as it corresponds to the name used in wgl target. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27416>
2024-02-01gallium: refactor to use DETECT_OS_ANDROIDYiwei Zhang1-1/+3
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374>
2024-01-31winsys/gdi: Custom acquisition of hDCMax R3-3/+18
In d3d10umd it is required to pass D3DKMT_PRESENT in context_private of flush_frontbuffer, but wgl passes HDC in it. To accomidate this when gdi_sw_winsys is created functions that acquire and release hdc from context_private are passed. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333>
2024-01-26gallium: Add ssd130x to the list of kmsro driversJavier Martinez Canillas2-0/+2
Add an entry point for the ssd130x modesetting driver, to expose a _dri.so and allow Solomon panels to display the contents rendered by a GPU driver. Suggested-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27135>
2024-01-24teflon: Initial commitTomeu Vizoso168-0/+2883
Teflon is a Gallium frontend that TensorFlow Lite can load to delegate the execution of operations in a neural network model. See docs for more. Acked-by: Christian Gmeiner <cgmeiner@igalia.com> Acked-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714>
2024-01-11lavapipe: fix devenv icd filenameMike Blumenkrantz1-1/+1
fixes #10408 cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26985>
2023-12-18libgl-gdi: Update wgl test to set debug flags needed for testsJesse Natalie1-0/+2
Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18libgl-gdi: Update wgl test to use a 32bit framebufferJesse Natalie1-1/+1
Otherwise, the d3d12 driver doesn't use a DXGI swapchain Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-11-28gallium: add sti DRM entry pointRaphaël Gallais-Pou2-0/+2
stih418-b2264 implements an ARM Mali 400 GPU[1]. Add an entry point for sti DRM vendor, so mesa can be used with it. [1]: https://lore.kernel.org/lkml/20230727215141.53910-14-avolmat@me.com Signed-off-by: Raphaël Gallais-Pou <rgallaispou@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26189>
2023-11-19gallium: Do not create pipe-loader version scripts for disabled driversJanne Grunau1-17/+19
They are not going to be used without shared library to build. Fixes: 667de678a06 ("gallium: Fix undefined symbols in version scripts") Signed-off-by: Janne Grunau <j@jannau.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26273>
2023-11-19gallium: Fix i915 pipe-loader buildJanne Grunau1-2/+1
'i915' was missing from the list of drivers for the 'driver_descriptor' descriptor symbol. Rather than maintaining a second list of drivers add the 'driver_descriptor' symbol for all drivers except swrast. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10171 Fixes: 667de678a06 ("gallium: Fix undefined symbols in version scripts") Signed-off-by: Janne Grunau <j@jannau.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26273>
2023-11-18gallium: Avoid empty version scripts in pipe-loaderJanne Grunau1-4/+6
Meson produces version scripts with an empty global node for disabled drivers. This is reported as syntax error by the linker. The root cause of the problem is that the version scripts are accumulated in the out of foreach `pipe_loader_link_args` variable although they should be only used once for their driver specific loader library. Fixes build errors when some of the drivers are disabled like on arm64 which disables i915 due to missing dependencies. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10166 Fixes: 667de678a06 ("gallium: Fix undefined symbols in version scripts") Signed-off-by: Janne Grunau <j@jannau.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26268>
2023-11-17gallium: Fix undefined symbols in version scriptsViolet Purcell12-47/+72
Currently, multiple version scripts unconditionally use symbols from gallium drivers that may not be enabled, which causes linking to fail with --no-undefined-version (as is default in LLD 17), and can cause issues with LTO. This commit adds logic to generate version scripts based on the enabled gallium drivers, ensuring only defined symbols are used. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8003 Signed-off-by: Violet Purcell <vimproved@inventati.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25551>
2023-11-09gallium: Add udl (DisplayLink) to the list of kmsro driversDave Stevenson2-0/+2
The udl is a simple render only driver, so configure it appropriately in gallium. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129>
2023-11-09gallium: Add more TinyDRM drivers to the list of kmsro driversDave Stevenson2-0/+8
As a follow-up to 8cfc17bdda31 ("kmsro: Add the rest of the current set of tinydrm drivers.") and 0a42d5b98bc3 ("kmsro: add _dri.so to two of the kmsro drivers.") add even more TinyDRM drivers that have been added to the kernel but not to gallium. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129>
2023-11-02dri: added build dependencies for systems using non-standard prefixed X11 libs.duncan.hopkins1-1/+1
To get MacOS to build, some extra dependencies need to be added to a couple of build targets. This mainly shows up when not installing the dependencies in the default prefix locations. On MacOS, this happens when using a custom build of brew to install the dependencies to 'odd' locations. Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25992>
2023-10-17kmsro: try to use only compatible render-capable devicesLeandro Ribeiro1-1/+1
Since commit "pipe-loader: add pipe_loader_get_compatible_render_capable_device_fd()", we have a function to query a render-only driver that is available and is compatible with the KMS-only device. So start to use it, instead of selecting whatever render-only driver is available to use. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24825>
2023-10-14pipe-loader: allow to load multiple zink devicesKarol Herbst1-1/+1
Rusticl needs to be able to create a zink_screen on all renderer nodes. This adds the infrastructure of doing so. Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
2023-10-14rusticl: enable zinkKarol Herbst1-0/+1
Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
2023-10-10dri: Remove __driDriverExtensions leftoversRoman Stratiienko1-1/+0
Android-14/clang-17 throws an error with it: ld.lld: error: version script assignment of 'global' to symbol '__driDriverExtensions' failed: symbol not defined Fixes: d43e6a9a497f ("dri: Remove the megadriver compat stub") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25587>
2023-09-11meson: support installation tagsAlba Mendez6-0/+6
the only thing missing is to tag custom install targets, namely: - ICDs (vulkan, glvnd, OpenCL, VA-API, VDPAU) - Vulkan layers - custom install script for megadrivers - drirc file Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24911>
2023-09-05rusticl: enable asahiKarol Herbst1-0/+1
Signed-off-by: Karol Herbst <git@karolherbst.de> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052>
2023-09-04kmsro: Add hdlcd DPUCarsten Haitzler2-0/+2
Arm hdlcd display units do exist on Juno SoC's. This is the first time Mesa has had to deal with panfrost working on these SoC's, thus have to add hdlcd support. Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25027>
2023-08-16meson: Rename dri-vdpau.dyn to dri.dynFeng Jiang4-6/+6
File 'src/gallium/targets/dri-vdpau.dyn' is now shared by multiple targets and not just VDPAU, so renamed it to 'dri.dyn' as suggested by Marek Olšák. Related link: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23177#note_2030493 Suggested-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24569>
2023-08-10meson: fix indentationEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24603>
2023-08-08meson: Export winsys function symbols for target vaFeng Jiang1-0/+4
Export winsys function symbols of target va, even if the user links with '-Bsymbolic-functions'. It refers target vdpau, which commit is: 8c136b53b79e90b9e8f30f891b8bef112fee375d ("fix vdpau interop when using -Bsymbolic-functions in ldflags") Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23177>
2023-08-02util/meson: Getting mesa util core to be self containedYonggang Luo1-1/+1
Guard util to be standalone by move subdir('util') just behind subdir('android_stub') texcompress_rgtc_tmp.h is not a standard c header, do not treat it as source Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>
2023-07-28virgl: link VA driver with build-idAlex Denes1-2/+2
Without a build-id the virgl VAAPI driver segfaults trying to access the NULL returned by the build-id header retriever used for disk caches Fixes: d6db4d2e081 ("virgl: Add simple disk cache") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19885>
2023-06-27util: include "util/compiler.h" instead of "pipe/p_compiler.h"Yonggang Luo1-1/+1
And pipe/p_compiler.h are removed as it not used any more Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: David Heidelberg <david.heidelberg@collabora.com> Acked-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23577>
2023-06-27treewide: Replace the usage of TRUE/FALSE with true/falseYonggang Luo4-20/+20
this is a separate patch as it's won't affect the code style Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: David Heidelberg <david.heidelberg@collabora.com> Acked-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23577>
2023-06-27treewide: replace usage of boolean to boolYonggang Luo1-4/+4
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: David Heidelberg <david.heidelberg@collabora.com> Acked-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23577>
2023-06-22rusticl: stop linking with libgalliumvlKarol Herbst1-1/+0
it's not needed. Signed-off-by: Karol Herbst <git@karolherbst.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778>
2023-06-22rusticl: specify which symbols to exportKarol Herbst2-0/+18
Drops release binary size from 31MB to 29MB Signed-off-by: Karol Herbst <git@karolherbst.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778>
2023-06-22rusticl: add ld_args_gc_sectionsKarol Herbst1-1/+4
This drops release file size from 33MB to 31MB on my system. Signed-off-by: Karol Herbst <git@karolherbst.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778>
2023-06-20compiler: Move spirv into a module of its ownCaio Oliveira1-0/+1
For historical reasons, nir and vtn were compiled together, and a bunch of vtn specific targets were defined in src/compiler/meson.build. Now that we can, make src/compiler/spirv produce an internal library that depends on NIR, and is used by the drivers/tools. Also move the vtn specific targets into that directory's meson.build. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23668>
2023-06-09rusticl: compile r600 driverGert Wollny1-0/+1
To really use the driver it still needs to be enabled with export RUSTICL_ENABLE=r600 Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20252>
2023-05-12meson/vaon12: fix driver file name for mingw buildDmitry Rogozhkin1-0/+1
This fixes vaon12 driver file name to be consistent with libva expectation - vaon12_drv_video.dll - without lib prefix. Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22995>