[Mesa-dev] [PATCH 0/5] NVIDIA Tegra support
Thierry Reding
thierry.reding at gmail.com
Wed Feb 21 15:30:54 UTC 2018
From: Thierry Reding <treding at nvidia.com>
This series of patches implements initial support for Tegra. The first
two patches import DRM UAPI from v4.16-rc1 that provide framebuffer
modifiers that can be used to specify buffers shared between Nouveau
and the Tegra DRM driver.
Patches 3 and 4 add support for framebuffer modifiers to Nouveau and
patch 5 build on top of those to provide initial Tegra support in Mesa.
The current patches allow running common use-cases such as Wayland,
kmscube, etc.
Some people have been using earlier versions of these patches to run a
completely open-source graphics stack on various Tegra210 devices. I've
Cc'ed some of them so that they can provide feedback.
This series is also available in a git repository here:
https://cgit.freedesktop.org/~tagr/mesa #master
though that also contains the Nouveau syncfd patches that are still work
in progress and which require new kernel/userspace ABI. The patches here
work on top of a vanilla recent (v4.16-rc1) Linux kernel.
Thierry
Thierry Reding (5):
drm/fourcc: Fix fourcc_mod_code() definition
drm/tegra: Sanitize format modifiers
nouveau/nvc0: Extract common tile mode macro
nouveau: Add framebuffer modifier support
tegra: Initial support
configure.ac | 11 +-
include/drm-uapi/drm_fourcc.h | 38 +-
include/drm-uapi/tegra_drm.h | 225 ++++
meson.build | 7 +-
src/gallium/Makefile.am | 5 +
.../auxiliary/pipe-loader/pipe_loader_drm.c | 7 +-
src/gallium/auxiliary/target-helpers/drm_helper.h | 23 +
.../auxiliary/target-helpers/drm_helper_public.h | 3 +
src/gallium/drivers/nouveau/Android.mk | 3 +
src/gallium/drivers/nouveau/Makefile.am | 1 +
src/gallium/drivers/nouveau/nouveau_buffer.c | 3 +-
src/gallium/drivers/nouveau/nouveau_buffer.h | 3 +-
src/gallium/drivers/nouveau/nouveau_screen.c | 14 +
src/gallium/drivers/nouveau/nv30/nv30_resource.c | 6 +-
src/gallium/drivers/nouveau/nv50/nv50_resource.c | 5 +-
src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 8 +-
src/gallium/drivers/nouveau/nvc0/nvc0_resource.c | 80 +-
src/gallium/drivers/nouveau/nvc0/nvc0_resource.h | 20 +-
src/gallium/drivers/tegra/Automake.inc | 11 +
src/gallium/drivers/tegra/Makefile.am | 18 +
src/gallium/drivers/tegra/Makefile.sources | 3 +
src/gallium/drivers/tegra/meson.build | 41 +
src/gallium/drivers/tegra/tegra_context.c | 1294 ++++++++++++++++++++
src/gallium/drivers/tegra/tegra_context.h | 81 ++
src/gallium/drivers/tegra/tegra_resource.h | 76 ++
src/gallium/drivers/tegra/tegra_screen.c | 674 ++++++++++
src/gallium/drivers/tegra/tegra_screen.h | 45 +
src/gallium/meson.build | 6 +
src/gallium/targets/dri/Makefile.am | 2 +
src/gallium/targets/dri/meson.build | 4 +-
src/gallium/targets/dri/target.c | 4 +
src/gallium/targets/vdpau/Makefile.am | 2 +
src/gallium/winsys/tegra/drm/Makefile.am | 11 +
src/gallium/winsys/tegra/drm/Makefile.sources | 2 +
src/gallium/winsys/tegra/drm/meson.build | 33 +
src/gallium/winsys/tegra/drm/tegra_drm_public.h | 31 +
src/gallium/winsys/tegra/drm/tegra_drm_winsys.c | 33 +
37 files changed, 2797 insertions(+), 36 deletions(-)
create mode 100644 include/drm-uapi/tegra_drm.h
create mode 100644 src/gallium/drivers/tegra/Automake.inc
create mode 100644 src/gallium/drivers/tegra/Makefile.am
create mode 100644 src/gallium/drivers/tegra/Makefile.sources
create mode 100644 src/gallium/drivers/tegra/meson.build
create mode 100644 src/gallium/drivers/tegra/tegra_context.c
create mode 100644 src/gallium/drivers/tegra/tegra_context.h
create mode 100644 src/gallium/drivers/tegra/tegra_resource.h
create mode 100644 src/gallium/drivers/tegra/tegra_screen.c
create mode 100644 src/gallium/drivers/tegra/tegra_screen.h
create mode 100644 src/gallium/winsys/tegra/drm/Makefile.am
create mode 100644 src/gallium/winsys/tegra/drm/Makefile.sources
create mode 100644 src/gallium/winsys/tegra/drm/meson.build
create mode 100644 src/gallium/winsys/tegra/drm/tegra_drm_public.h
create mode 100644 src/gallium/winsys/tegra/drm/tegra_drm_winsys.c
--
2.16.2
More information about the mesa-dev
mailing list