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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev