[Mesa-dev] [PATCH v2 0/3] gallium driver for Vivante GPUs
Christian Gmeiner
christian.gmeiner at gmail.com
Fri Dec 23 22:04:48 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_v2
The squased one can be found here:
https://github.com/etnaviv/mesa/tree/for_mainline_v2_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.
Changes from V1 -> V2:
- reworked renderonly library
- added missing build integration
Happy Christmas!
Christian
PS: Patch 2 will not make it to ml as it is too big - please look it up
at github!
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 | 175 ++
src/gallium/auxiliary/renderonly/renderonly.h | 109 +
src/gallium/auxiliary/target-helpers/drm_helper.h | 46 +
.../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 | 812 +++++++
src/gallium/drivers/etnaviv/etnaviv_screen.h | 95 +
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_3d.xml.h | 1231 ++++++++++
src/gallium/drivers/imx/Automake.inc | 9 +
src/gallium/drivers/imx/Makefile.am | 9 +
src/gallium/targets/dri/Makefile.am | 3 +
src/gallium/targets/dri/target.c | 19 +
src/gallium/winsys/etnaviv/drm/Makefile.am | 32 +
.../winsys/etnaviv/drm/etnaviv_drm_public.h | 39 +
.../winsys/etnaviv/drm/etnaviv_drm_winsys.c | 161 ++
src/gallium/winsys/imx/drm/Makefile.am | 34 +
src/gallium/winsys/imx/drm/Makefile.sources | 3 +
src/gallium/winsys/imx/drm/imx_drm_public.h | 34 +
src/gallium/winsys/imx/drm/imx_drm_winsys.c | 50 +
81 files changed, 15454 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_3d.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.9.3
More information about the mesa-dev
mailing list