[Mesa-dev] [RFC 0/2] Add renderonly gpu support
Christian Gmeiner
christian.gmeiner at gmail.com
Sun Oct 11 08:09:20 PDT 2015
This patch set introduces a more generic renderonly driver library based on
"[RFC] tegra: Initial support" [0] from Thierry Reding.
I am re-using almost all of the existing code and extended it with a
struct renderonly_ops, which defines the wanted behavior for the
target hardware.
There are two different usage patterns, which are supported.
1) Set a required tiling on the scanout buffer (tegra)
2) Use an intermediate buffer and blit to dumb buffer (imx)
The setup of struct renderonly_ops happens in winsys. So it is possible
to support different configurations for different versions of an IP core,
which are using the same KMS driver.
I really hope to get some feedback as the bare metal EGL use case is important
as not everyone runs a compositor, which understands rendernodes.
This patch set was successfully tested on tegra and imx-drm (etnaviv based)
and runs kmscube.
The patch set is available directly via git:
https://github.com/austriancoder/mesa.git branch renderonly-rfc-1
[0] http://lists.freedesktop.org/archives/mesa-dev/2014-November/071521.html
Christian Gmeiner (2):
gallium: add renderonly driver
gallium: add tegra support
configure.ac | 20 +-
src/gallium/Makefile.am | 6 +
.../auxiliary/target-helpers/inline_drm_helper.h | 29 +
src/gallium/drivers/renderonly/Makefile.am | 11 +
src/gallium/drivers/renderonly/Makefile.sources | 4 +
.../drivers/renderonly/renderonly_context.c | 721 +++++++++++++++++++++
.../drivers/renderonly/renderonly_context.h | 80 +++
.../drivers/renderonly/renderonly_resource.c | 296 +++++++++
.../drivers/renderonly/renderonly_resource.h | 101 +++
src/gallium/drivers/renderonly/renderonly_screen.c | 178 +++++
src/gallium/drivers/renderonly/renderonly_screen.h | 55 ++
src/gallium/drivers/tegra/Automake.inc | 10 +
src/gallium/drivers/tegra/Makefile.am | 9 +
src/gallium/targets/dri/Makefile.am | 2 +
src/gallium/winsys/tegra/drm/Android.mk | 34 +
src/gallium/winsys/tegra/drm/Makefile.am | 33 +
src/gallium/winsys/tegra/drm/Makefile.sources | 3 +
src/gallium/winsys/tegra/drm/tegra_drm_public.h | 31 +
src/gallium/winsys/tegra/drm/tegra_drm_winsys.c | 51 ++
19 files changed, 1673 insertions(+), 1 deletion(-)
create mode 100644 src/gallium/drivers/renderonly/Makefile.am
create mode 100644 src/gallium/drivers/renderonly/Makefile.sources
create mode 100644 src/gallium/drivers/renderonly/renderonly_context.c
create mode 100644 src/gallium/drivers/renderonly/renderonly_context.h
create mode 100644 src/gallium/drivers/renderonly/renderonly_resource.c
create mode 100644 src/gallium/drivers/renderonly/renderonly_resource.h
create mode 100644 src/gallium/drivers/renderonly/renderonly_screen.c
create mode 100644 src/gallium/drivers/renderonly/renderonly_screen.h
create mode 100644 src/gallium/drivers/tegra/Automake.inc
create mode 100644 src/gallium/drivers/tegra/Makefile.am
create mode 100644 src/gallium/winsys/tegra/drm/Android.mk
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/tegra_drm_public.h
create mode 100644 src/gallium/winsys/tegra/drm/tegra_drm_winsys.c
--
2.4.3
More information about the mesa-dev
mailing list