path: root/src/gallium/targets
AgeCommit message (Collapse)AuthorFilesLines
3 dayslavapipe: Use the correct ICD path on Win32Jason Ekstrand1-6/+11
Acked-by: Mike Blumenkrantz <> Part-of: <>
5 daysmeson: Support d3d12 as a video-supporting driverSil Vilerino2-4/+6
Reviewed-by: Jesse Natalie <> Part-of: <>
5 daysgallium/vl: Add software winsys and offscreen winsysSil Vilerino2-8/+19
Acked-by: Jesse Natalie <> Part-of: <>
5 daysmeson: add build-id to pipe librariesDave Airlie1-1/+1
Without this the cache setup was crashing with CL and the dynamic pipe libraries. Reported and debugged on irc by consolers Cc: mesa-stable Acked-by: Karol Herbst <> Part-of: <>
2022-05-04wgl: don't auto-load zink before software driversMike Blumenkrantz1-1/+1
as in glx/egl, zink+lavapipe should only load if explicitly selected Reviewed-by: Jesse Natalie <> Part-of: <>
2022-04-28d3d12: Add a unit test for context reset recoveryJesse Natalie1-0/+68
Reviewed-by: Bill Kristiansen <> Part-of: <>
2022-04-22wgl: add zink to the list of auto-loaded driversSidney Just1-0/+3
it's a legitimate driver! Reviewed-by: Jesse Natalie <> Part-of: <>
2022-04-19win32: Fixes 32 bits visual studio module definition files by add script ↵Yonggang Luo17-1557/+892 Getting opengl32*.def consistence with Windows SDK. Getting osmesa.mingw.def's gl* functions consistence with Windows SDK. stw_* functions are cdecl, not stdcall, so there is no need mangling the symbol. Fixes egl.def for x86 d3d10sw: Move the place of d3d10_sw.def to Fixes vulkan_lvp.def for x86 Fixes #5552 Remove stdcall-fixup Signed-off-by: Yonggang Luo <> Reviewed-by: Jesse Natalie <> Part-of: <>
2022-04-17gallium/winsys: move {amdgpu,radeon_drm}_public.h contents into radeon_winsys.hMarek Olšák2-2/+0
header file simplification Reviewed-by: Pierre-Eric Pelloux-Prayer <> Reviewed-by: Mihai Preda <> Part-of: <>
2022-04-17gallium: move radeon_winsys.h into gallium/include/winsys/Marek Olšák2-2/+2
it's used by 3 different drivers, so it shouldn't be in radeonsi Reviewed-by: Pierre-Eric Pelloux-Prayer <> Reviewed-by: Mihai Preda <> Part-of: <>
2022-04-17gallium: move drivers/radeon/* into drivers/radeonsi/Marek Olšák2-2/+2
this is only used by radeonsi Reviewed-by: Pierre-Eric Pelloux-Prayer <> Reviewed-by: Mihai Preda <> Part-of: <>
2022-04-07zink: it's kopperin' timeMike Blumenkrantz1-1/+1
Reviewed-by: Adam Jackson <> Part-of: <>
2022-04-07gallium: Learn about kopperAdam Jackson2-3/+9
Reviewed-by: Mike Blumenkrantz <> Part-of: <>
2022-03-31dri: Remove the megadriver compat stubAdam Jackson2-166/+1
This is for compatibility with loaders that don't know about __DRI_DRIVER_GET_EXTENSIONS. xserver has supported that since 1.15.0, which is almost nine years old now. While we're about it, fix a comment in that used to be about megadrivers to reflect reality. Reviewed-by: Emma Anholt <> Part-of: <>
2022-03-31dri: Remove the globalDriverAPI hacksAdam Jackson1-3/+0
We now know that we always have access to the appropriate driver extensions, so we can get the right __DriverAPIRec from the vtable. Reviewed-by: Emma Anholt <> Part-of: <>
2022-03-31dri: Implement __DRI_DRIVER_VTABLEAdam Jackson1-1/+1
We're going to switch to using this instead of doing all these weird globalDriverAPI hacks, which are fragile and weird. Reviewed-by: Emma Anholt <> Part-of: <>
2022-03-25pipe-loader: Try loading freedreno for virtgpu deviceRob Clark2-2/+4
Freedreno will check if the virtgpu supports the pass-thru context, and if not will bail, falling back to virgl. TODO this requires that virgl is also enabled in the mesa build, even if it is not needed.. maybe there is a better way to handle this? Signed-off-by: Rob Clark <> Reviewed-by: Emma Anholt <> Part-of: <>
2022-03-21gallium/opencl: set OCL_ICD_FILENAMES with devenvDylan Baker1-0/+8
So that `meson devenv` also sets up OpenCL. Reviewed-by: Emma Anholt <> Part-of: <>
2022-02-04meson: add LIBGL_DRIVERS_PATH to the devenvDylan Baker1-0/+18
This allows using built dri OpenGL drivers with the `meson devenv` command Reviewed-by: Adam Jackson <> Part-of: <>
2022-02-04meson: add support for `meson devenv` with vulkanDylan Baker1-0/+18
Meson devenv is a feature added in meson 0.58 (thus the features is version guarded) that allows creating a shell environment with environment variables automatically setup for running the project inside the build dir. Some variables (such as LD_LIBRARY_PATH and PATH) are set automatically, others must be added by the project. For vulkan is is relativley simple, we create a new, uninstalled, icd file for each driver and set the VK_ICD_FILENAMES variable appropriately. This can be used with: ```sh meson devenv -C $builddir ``` then, vulkan applications will automatically use the uninstall vulkan driver, no need to install. Reviewed-by: Adam Jackson <> Part-of: <>
2022-01-13kmsro: Add komeda DPUCarsten Haitzler2-0/+2
Arm Komeda (Mali) display units do exist on a few SoC's. This is the first time that I've seen Mesa brought up "in anger" on one of these, thus it has no such knowledge of these DPUs. This adds that to the kmsro set like a lot of other fairly standard split GPU/DPU devices. Signed-off-by: Carsten Haitzler <> Part-of: <>
2022-01-04kmsro: Add 'rcar-du' driver supportBiju Das2-0/+2
rcar-du is used by Renesas R-Car and RZ/G SOCs. Driver is available in the mainline kernel [1] [1] Suggested-by: Daniel Stone <> Signed-off-by: Show Liu <> Signed-off-by: Biju Das <> Reviewed-by: Christian Gmeiner <> Reviewed-by: Alyssa Rosenzweig <> Part-of: <>
2021-12-08treewide: drop mtypes/macros includes from mainDave Airlie1-1/+0
These aren't required in lots of places, so remove them. Reviewed-by: Jason Ekstrand <> Part-of: <>
2021-12-06fixup! gallium/swr: Remove driver sourceDylan Baker1-1/+1
Part-of: <>
2021-12-06gallium/swr: Remove common code and build optionsJan Zielinski5-30/+6
This commit removes all OpenSWR references from common Mesa code and build system. Reviewed-by: Dylan Baker <> Part-of: <>
2021-12-03mesa: move common/dri into galliumDylan Baker3-4/+170
There are no other consumers, so we can just move this into gallium and out of mesa. Reviewed-by: Emma Anholt <> Acked-by: Jason Ekstrand <> Acked-by: Kenneth Graunke <> Reviewed-by: Adam Jackson <> Part-of: <>
2021-12-03mesa: Merge libmesa_gallium and libmesa_commonDylan Baker6-6/+6
Since we don't have libmesa_classic anymore, we don't nee to split these, and can save a target/ar invocation by not having two targets. Plus it's just conceptually simpler Reviewed-by: Emma Anholt <> Acked-by: Jason Ekstrand <> Acked-by: Kenneth Graunke <> Reviewed-by: Adam Jackson <> Part-of: <>
2021-10-16meson: use gtest protocol for gtest based tests when possibleDylan Baker2-1/+3
With the `gtest` protocol meson will add some extra arguments to the test to generate better junit results, which may be useful. This protocol is only available in meson 0.55.0+, so keep using the default `exitcode` protocol for meson older than that. Reviewed-by: Caio Marcelo de Oliveira Filho <> Part-of: <>
2021-09-30meson: extract libversion checks from clc & cloverLionel Landwerlin1-8/+0
The src/microsoft/clc/ was assuming to be run only on Windows. That's about to change. Signed-off-by: Lionel Landwerlin <> Reviewed-by: Jesse Natalie <> Reviewed-by: Dylan Baker <> Part-of: <>
2021-09-21wgl: fix 32 bits mingw exportsMichel Zou4-4/+395
closes #5349 Reviewed-by: Jesse Natalie <> Reviewed-by: Jose Fonseca <> Part-of: <>
2021-09-15wgl: Add stw_* DLL exports for EGL supportJesse Natalie1-0/+12
Reviewed-by: Charmaine Lee <> Reviewed By: Bill Kristiansen <> Acked-by: Roland Scheidegger <> Part-of: <>
2021-09-15wgl: Use HWND instead of HDC as primary framebuffer handleJesse Natalie2-4/+4
EGL's native window is an HWND, so this removes the need to GetDC from the creation path there. Reviewed-by: Charmaine Lee <> Reviewed By: Bill Kristiansen <> Acked-by: Roland Scheidegger <> Part-of: <>
2021-09-08wgl: Refactor drivers to a libgallium_wgl.dllJesse Natalie4-20/+93
I'd like to support EGL on Windows, using the same architecture as Linux. On Linux, is a "megadriver," containing the Mesa Gallium state tracker, plus the actual driver implementations. Now, on Windows, libgallium_wgl.dll is a proper OpenGL ICD, and OpenGL32.dll is just a stub DLL which implements the wgl* APIs in terms of that ICD. This is the more "architecturally clean" way to share the state tracker between EGL and WGL. Reviewed By: Bill Kristiansen <> Reviewed-by: Charmaine Lee >> Part-of: <>
2021-09-08wgl: Make overridden entrypoints local to stw_ext_contextJesse Natalie1-19/+2
Reviewed By: Bill Kristiansen <> Reviewed-by: Charmaine Lee >> Part-of: <>
2021-09-08wgl: Move wgl* non-extension definitions to libgl-gdiJesse Natalie3-1/+483
Reviewed By: Bill Kristiansen <> Reviewed-by: Charmaine Lee >> Part-of: <>
2021-09-08wgl: Move opengl32.def to target instead of frontendJesse Natalie2-1/+389
Reviewed By: Bill Kristiansen <> Reviewed-by: Charmaine Lee >> Part-of: <>
2021-09-08wgl: Fix unit test when using shared glapiJesse Natalie1-0/+6
Reviewed By: Bill Kristiansen <> Reviewed-by: Charmaine Lee >> Part-of: <>
2021-09-03osmesa: Add a unit test for resizing buffers.Emma Anholt1-0/+23
This should cover both the former use-after-free of the old pixel buffer when moving the context to a new pixel buffer, and also successful moving to a different-sized pixel buffer. Reviewed-by: Adam Jackson <> Part-of: <>
2021-08-10wgl: Add a driver name for driconfJesse Natalie2-2/+19
Reviewed-by: Emil Velikov <> Reviewed-by: Charmaine Lee <> Reviewed-by: Neha Bhende <> Part-of: <>
2021-08-02driconfig: Add support for device specific configRob Clark1-1/+1
Add support for driconf overrides on a per-device level, for cases where we don't want to override behavior for all devices supported by a particular driver. Signed-off-by: Rob Clark <> Reviewed-by: Emil Velikov <> Part-of: <>
2021-07-26kmsro: Add 'kirin' driver supportRoman Stratiienko2-0/+2
Kirin is used by hisilicon SOCs (Hikey boards, etc.) Driver is available in the mainline kernel [1] [1]: Signed-off-by: Roman Stratiienko <> Reviewed-by: Alyssa Rosenzweig <> Part-of: <>
2021-07-23targets/graw-xlib: Add missing dep_x11Alyssa Rosenzweig1-1/+1
Required to build Mesa on macOS with -Dbuild-tests=true -Dglx=gallium-xlib Without this change, the build fails with In file included from ../src/gallium/targets/graw-xlib/graw_xlib.c:8: ../src/gallium/include/frontend/xlibsw_api.h:5:10: fatal error: 'X11/Xlib.h' file not found #include <X11/Xlib.h> With `brew sh` X11 is found but linking fails due to `llvm-ar` missing in the path. That issue appears to be unrelated to this missing dependency. X11 is installed via XQuartz, so Homebrew should not be required. Signed-off-by: Alyssa Rosenzweig <> Reviewed-by: Emma Anholt <> Cc: mesa-stable Part-of: <>
2021-07-12kmsro: Add mali-dpMichael Walle2-0/+2
The NXP LS1028A SoC includes a mali-dp display controller and a vivante GPU. This allows using the Etnaviv driver on this SoC. Signed-off-by: Michael Walle <> Reviewed-by: Christian Gmeiner <> Part-of: <>
2021-07-08android: Drop the build systemJason Ekstrand1-111/+0 files haven't really been supported by Mesa devs for a long time. Most of us have been willing to update Makefile.sources if we remember and sometimes we try to blind code some for a new generator. However, the reality is that it breaks regularly and ends up being maintained by the Android community. To address this problem another approach was implemented in !10183 utilizing the maintained meson build system. The old files are no longer required. This commit was created with the following commands: git rm **/ git rm **/Android.*.mk git rm **/Makefile.sources git rm Closes: Acked-by: Roman Stratiienko <> Part-of: <>
2021-07-03crocus: Add pipe loader driverZoltán Böszörményi2-0/+6
Signed-off-by: Zoltán Böszörményi <> Reviewed-by: Dave Airlie <> Part-of: <>
2021-07-01gallium/sw: add sw_vk bit to avoid having to futz with env vars for lavapipeDave Airlie1-2/+2
lavapipe really only currently works with llvmpipe, and likely for the forseeable future. Reviewed-By: Mike Blumenkrantz <> Part-of: <>
2021-06-24libgl-gdi: add missing includeErik Faye-Lund1-0/+1
Without this, I get the following error if I try to compile Zink without any other drivers: src/gallium/targets/libgl-gdi/libgl_gdi.c(210): error C2037: left of 'flush_frontbuffer' specifies undefined struct/union 'pipe_screen' Fixes: fdfe4a4d307 ("libgl-gdi: add zink support") Reviewed-by: Jesse Natalie <> Acked-by: Mike Blumenkrantz <> Part-of: <>
2021-06-18nine: add zink to the build targetMike Blumenkrantz1-1/+1
Reviewed-by: Axel Davy <> Part-of: <>
2021-06-14crocus: initial gallium driver for Intel gfx 4-7Dave Airlie3-2/+7
This is a gallium driver for the Intel gfx 4-7 GPUs. It was initially cloned from the iris driver by Ilia Mirkin, then I ported over large reams of code from i965 until it worked. Acked-by: Jason Ekstrand <> Part-of: <>
2021-06-04gallium/dri: Guard DRI driver global variables on MacOS if Zink is enabled.Duncan Hopkins1-1/+1
Protect the DRI galliumdrm_driver_api and galliumdrm_driver_extensions variables from __APPLE__ builds, as DRI2 cannot be enabled. Reviewed-by: Erik Faye-Lund <> Part-of: <>