[Mesa-dev] [PATCH v2 0/3] gallium driver for Vivante GPUs

Christian Gmeiner christian.gmeiner at gmail.com
Sat Jan 7 17:52:46 UTC 2017


Gentle ping for RB for the whole series.

--
Christian Gmeiner, MSc

https://www.youtube.com/user/AloryOFFICIAL
https://soundcloud.com/christian-gmeiner


2016-12-23 23:04 GMT+01:00 Christian Gmeiner <christian.gmeiner at gmail.com>:
> 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