[PATCH 0/3] gallium driver for Vivante GPUs
Christian Gmeiner
christian.gmeiner at gmail.com
Wed Nov 30 07:26:10 UTC 2016
As the original patchstack is now about 300 patches, I have choosen to
squash the patches together into three different parts.
- renderonly library
A lightweight library to add basic infrastructure for renderonly
GPUs. With this library it is possible to run wayland or and other
kms egl apps.
- etnaviv gallium driver
glxgears renders so its time to get this driver mainline.
- imx gallium driver
Special dump driver for the imx-drm kms driver.
The renderonly library approach is a temporary workaround until 'gbm2'
is ready. I am aware that not everybody is happy about it but it helps
to increase the possible use cases like wayland and kms egl apps. Also
keep in mind that this library was only made for the embedded use case
and will not work with hybrid GPUs etc. If there are fundamental problems
with this library I will drop it and etnaviv will only work under X
(with armada-ddx from unstable-devel branch).
Some (older) results from piglit and deqp can be found here:
https://christian-gmeiner.info/piglit
https://christian-gmeiner.info/deqp
All individual patches can be found here:
https://github.com/etnaviv/mesa/tree/for_mainline_v1
The squased one can be found here:
https://github.com/etnaviv/mesa/tree/for_mainline_v1_squashed
As this work is a collaborative effort of Lucas Stack, Philipp Zabel,
Rob Herring, Russell King, Wladimir J. van der Laan and myself the
etnaviv gallium patch has a fictive author, but our signoff.
Happy reviewing!
Christian
PS: I hope I got all Signed-off's right - if not I am quite sorry and
will fix it in v2 or before pushing.
PPS: As not everybody is happy about the renderonly library and as I
am the only author I did not used the fictive author for the other
two patches.
Christian Gmeiner (2):
gallium: add renderonly library
imx: gallium driver for imx-drm scanout driver
The etnaviv authors (1):
etnaviv: gallium driver for Vivante GPUs
configure.ac | 21 +
src/gallium/Automake.inc | 5 +
src/gallium/Makefile.am | 8 +
src/gallium/auxiliary/Makefile.am | 10 +
src/gallium/auxiliary/Makefile.sources | 4 +
.../auxiliary/pipe-loader/pipe_loader_drm.c | 10 +
src/gallium/auxiliary/renderonly/renderonly.c | 199 ++
src/gallium/auxiliary/renderonly/renderonly.h | 81 +
src/gallium/auxiliary/target-helpers/drm_helper.h | 45 +
.../auxiliary/target-helpers/drm_helper_public.h | 6 +
src/gallium/drivers/etnaviv/.gitignore | 1 +
src/gallium/drivers/etnaviv/Automake.inc | 11 +
src/gallium/drivers/etnaviv/Makefile.am | 44 +
src/gallium/drivers/etnaviv/Makefile.sources | 26 +
src/gallium/drivers/etnaviv/etnaviv_asm.c | 107 +
src/gallium/drivers/etnaviv/etnaviv_asm.h | 133 +
src/gallium/drivers/etnaviv/etnaviv_blend.c | 109 +
src/gallium/drivers/etnaviv/etnaviv_blend.h | 52 +
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 640 +++++
src/gallium/drivers/etnaviv/etnaviv_clear_blit.h | 48 +
src/gallium/drivers/etnaviv/etnaviv_compiler.c | 2564 ++++++++++++++++++++
src/gallium/drivers/etnaviv/etnaviv_compiler.h | 120 +
.../drivers/etnaviv/etnaviv_compiler_cmdline.c | 146 ++
src/gallium/drivers/etnaviv/etnaviv_context.c | 323 +++
src/gallium/drivers/etnaviv/etnaviv_context.h | 194 ++
src/gallium/drivers/etnaviv/etnaviv_debug.h | 79 +
src/gallium/drivers/etnaviv/etnaviv_disasm.c | 612 +++++
src/gallium/drivers/etnaviv/etnaviv_disasm.h | 40 +
src/gallium/drivers/etnaviv/etnaviv_emit.c | 770 ++++++
src/gallium/drivers/etnaviv/etnaviv_emit.h | 123 +
src/gallium/drivers/etnaviv/etnaviv_fence.c | 87 +
src/gallium/drivers/etnaviv/etnaviv_fence.h | 39 +
src/gallium/drivers/etnaviv/etnaviv_format.c | 268 ++
src/gallium/drivers/etnaviv/etnaviv_format.h | 47 +
src/gallium/drivers/etnaviv/etnaviv_internal.h | 259 ++
src/gallium/drivers/etnaviv/etnaviv_query.c | 120 +
src/gallium/drivers/etnaviv/etnaviv_query.h | 64 +
src/gallium/drivers/etnaviv/etnaviv_query_sw.c | 123 +
src/gallium/drivers/etnaviv/etnaviv_query_sw.h | 47 +
src/gallium/drivers/etnaviv/etnaviv_rasterizer.c | 81 +
src/gallium/drivers/etnaviv/etnaviv_rasterizer.h | 57 +
src/gallium/drivers/etnaviv/etnaviv_resource.c | 438 ++++
src/gallium/drivers/etnaviv/etnaviv_resource.h | 148 ++
src/gallium/drivers/etnaviv/etnaviv_rs.c | 127 +
src/gallium/drivers/etnaviv/etnaviv_rs.h | 86 +
src/gallium/drivers/etnaviv/etnaviv_screen.c | 804 ++++++
src/gallium/drivers/etnaviv/etnaviv_screen.h | 94 +
src/gallium/drivers/etnaviv/etnaviv_shader.c | 285 +++
src/gallium/drivers/etnaviv/etnaviv_shader.h | 45 +
src/gallium/drivers/etnaviv/etnaviv_state.c | 664 +++++
src/gallium/drivers/etnaviv/etnaviv_state.h | 52 +
src/gallium/drivers/etnaviv/etnaviv_surface.c | 152 ++
src/gallium/drivers/etnaviv/etnaviv_surface.h | 55 +
src/gallium/drivers/etnaviv/etnaviv_texture.c | 338 +++
src/gallium/drivers/etnaviv/etnaviv_texture.h | 75 +
src/gallium/drivers/etnaviv/etnaviv_tiling.c | 96 +
src/gallium/drivers/etnaviv/etnaviv_tiling.h | 56 +
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 355 +++
src/gallium/drivers/etnaviv/etnaviv_transfer.h | 35 +
src/gallium/drivers/etnaviv/etnaviv_translate.h | 516 ++++
src/gallium/drivers/etnaviv/etnaviv_uniforms.c | 118 +
src/gallium/drivers/etnaviv/etnaviv_uniforms.h | 45 +
src/gallium/drivers/etnaviv/etnaviv_util.h | 108 +
src/gallium/drivers/etnaviv/etnaviv_zsa.c | 123 +
src/gallium/drivers/etnaviv/etnaviv_zsa.h | 52 +
src/gallium/drivers/etnaviv/hw/cmdstream.xml.h | 270 +++
src/gallium/drivers/etnaviv/hw/common.xml.h | 320 +++
src/gallium/drivers/etnaviv/hw/isa.xml.h | 239 ++
src/gallium/drivers/etnaviv/hw/state.xml.h | 397 +++
src/gallium/drivers/etnaviv/hw/state_2d.xml.h | 1497 ++++++++++++
src/gallium/drivers/etnaviv/hw/state_3d.xml.h | 1231 ++++++++++
src/gallium/drivers/etnaviv/hw/state_hi.xml.h | 465 ++++
src/gallium/drivers/etnaviv/hw/state_vg.xml.h | 205 ++
src/gallium/drivers/imx/Automake.inc | 9 +
src/gallium/drivers/imx/Makefile.am | 9 +
src/gallium/winsys/etnaviv/drm/Makefile.am | 32 +
.../winsys/etnaviv/drm/etnaviv_drm_public.h | 42 +
.../winsys/etnaviv/drm/etnaviv_drm_winsys.c | 184 ++
src/gallium/winsys/imx/drm/Makefile.am | 33 +
src/gallium/winsys/imx/drm/Makefile.sources | 3 +
src/gallium/winsys/imx/drm/imx_drm_public.h | 31 +
src/gallium/winsys/imx/drm/imx_drm_winsys.c | 41 +
82 files changed, 17598 insertions(+)
create mode 100644 src/gallium/auxiliary/renderonly/renderonly.c
create mode 100644 src/gallium/auxiliary/renderonly/renderonly.h
create mode 100644 src/gallium/drivers/etnaviv/.gitignore
create mode 100644 src/gallium/drivers/etnaviv/Automake.inc
create mode 100644 src/gallium/drivers/etnaviv/Makefile.am
create mode 100644 src/gallium/drivers/etnaviv/Makefile.sources
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_asm.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_asm.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_blend.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_blend.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_clear_blit.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_compiler.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_compiler.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_compiler_cmdline.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_context.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_context.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_debug.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_disasm.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_disasm.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_emit.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_emit.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_fence.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_fence.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_format.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_format.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_internal.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_query.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_query.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_query_sw.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_query_sw.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_rasterizer.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_resource.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_resource.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_rs.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_rs.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_screen.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_screen.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_shader.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_shader.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_state.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_state.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_surface.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_surface.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_texture.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_texture.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_tiling.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_tiling.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_transfer.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_transfer.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_translate.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_uniforms.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_uniforms.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_util.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_zsa.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_zsa.h
create mode 100644 src/gallium/drivers/etnaviv/hw/cmdstream.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/common.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/isa.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/state.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/state_2d.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/state_3d.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/state_hi.xml.h
create mode 100644 src/gallium/drivers/etnaviv/hw/state_vg.xml.h
create mode 100644 src/gallium/drivers/imx/Automake.inc
create mode 100644 src/gallium/drivers/imx/Makefile.am
create mode 100644 src/gallium/winsys/etnaviv/drm/Makefile.am
create mode 100644 src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h
create mode 100644 src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c
create mode 100644 src/gallium/winsys/imx/drm/Makefile.am
create mode 100644 src/gallium/winsys/imx/drm/Makefile.sources
create mode 100644 src/gallium/winsys/imx/drm/imx_drm_public.h
create mode 100644 src/gallium/winsys/imx/drm/imx_drm_winsys.c
--
2.7.4
More information about the dri-devel
mailing list