Mesa Gallium3D driver for ARM Mali 400/450 GPUs. Lima is still in development and not ready for daily usage, but can run some simple tests like kmscube and glamrk2, and some single full screen application like kodi-gbm.
Mesa related EGL/GLX_EXT_buffer_age and EGL_KHR_partial_update changes are not in this patch series because the solution has not been settle down yet. All lima commits are squashed. For whole history of this driver's development, see: https://gitlab.freedesktop.org/lima/mesa/commits/lima-18.3 https://gitlab.freedesktop.org/lima/mesa/commits/lima-18.1 Kernel driver is ready to be merged: https://patchwork.kernel.org/patch/10845911/ This patch series also depends on a kernel patch which is under review now: https://patchwork.kernel.org/patch/10852619/ Erico Nunes (1): gallium: add a cap to force compute minmax indices Qiang Yu (6): gallium/u_math: add ushort_to_float/float_to_ushort nir: add load uniform lower to scalar u_dynarray: add util_dynarray_enlarge drm-uapi: drm_fourcc.h add ARM GPU modifier drm-uapi: add lima_drm.h gallium: add lima driver Rob Herring (2): kmsro: Add lima renderonly support kmsro: Add platform support for exynos and sun4i include/drm-uapi/drm_fourcc.h | 31 +- include/drm-uapi/lima_drm.h | 169 ++ meson.build | 7 +- meson_options.txt | 2 +- src/compiler/nir/nir_intrinsics.py | 4 +- src/compiler/nir/nir_lower_io.c | 2 +- src/compiler/nir/nir_lower_io_to_scalar.c | 41 +- .../auxiliary/pipe-loader/pipe_loader_drm.c | 5 + .../auxiliary/target-helpers/drm_helper.h | 23 + .../target-helpers/drm_helper_public.h | 3 + src/gallium/auxiliary/util/u_screen.c | 3 + src/gallium/drivers/lima/ir/gp/codegen.c | 619 +++++++ src/gallium/drivers/lima/ir/gp/codegen.h | 166 ++ src/gallium/drivers/lima/ir/gp/disasm.c | 568 ++++++ src/gallium/drivers/lima/ir/gp/gpir.h | 392 ++++ src/gallium/drivers/lima/ir/gp/instr.c | 488 +++++ src/gallium/drivers/lima/ir/gp/lower.c | 529 ++++++ src/gallium/drivers/lima/ir/gp/nir.c | 420 +++++ src/gallium/drivers/lima/ir/gp/node.c | 492 +++++ .../drivers/lima/ir/gp/physical_regalloc.c | 135 ++ .../drivers/lima/ir/gp/reduce_scheduler.c | 220 +++ src/gallium/drivers/lima/ir/gp/scheduler.c | 809 ++++++++ .../drivers/lima/ir/gp/value_regalloc.c | 170 ++ src/gallium/drivers/lima/ir/lima_ir.h | 65 + src/gallium/drivers/lima/ir/pp/codegen.c | 669 +++++++ src/gallium/drivers/lima/ir/pp/codegen.h | 359 ++++ src/gallium/drivers/lima/ir/pp/disasm.c | 776 ++++++++ src/gallium/drivers/lima/ir/pp/instr.c | 311 ++++ src/gallium/drivers/lima/ir/pp/lower.c | 483 +++++ src/gallium/drivers/lima/ir/pp/nir.c | 497 +++++ src/gallium/drivers/lima/ir/pp/node.c | 432 +++++ .../drivers/lima/ir/pp/node_to_instr.c | 401 ++++ src/gallium/drivers/lima/ir/pp/ppir.h | 515 ++++++ src/gallium/drivers/lima/ir/pp/regalloc.c | 757 ++++++++ src/gallium/drivers/lima/ir/pp/scheduler.c | 197 ++ src/gallium/drivers/lima/lima_bo.c | 337 ++++ src/gallium/drivers/lima/lima_bo.h | 66 + src/gallium/drivers/lima/lima_context.c | 262 +++ src/gallium/drivers/lima/lima_context.h | 291 +++ src/gallium/drivers/lima/lima_draw.c | 1636 +++++++++++++++++ src/gallium/drivers/lima/lima_fence.c | 120 ++ src/gallium/drivers/lima/lima_fence.h | 36 + src/gallium/drivers/lima/lima_program.c | 311 ++++ src/gallium/drivers/lima/lima_program.h | 35 + src/gallium/drivers/lima/lima_query.c | 96 + src/gallium/drivers/lima/lima_resource.c | 610 ++++++ src/gallium/drivers/lima/lima_resource.h | 86 + src/gallium/drivers/lima/lima_screen.c | 554 ++++++ src/gallium/drivers/lima/lima_screen.h | 88 + src/gallium/drivers/lima/lima_state.c | 516 ++++++ src/gallium/drivers/lima/lima_submit.c | 184 ++ src/gallium/drivers/lima/lima_submit.h | 43 + src/gallium/drivers/lima/lima_texture.c | 278 +++ src/gallium/drivers/lima/lima_texture.h | 35 + src/gallium/drivers/lima/lima_tiling.c | 184 ++ src/gallium/drivers/lima/lima_tiling.h | 44 + src/gallium/drivers/lima/lima_util.c | 80 + src/gallium/drivers/lima/lima_util.h | 37 + src/gallium/drivers/lima/meson.build | 87 + src/gallium/include/pipe/p_defines.h | 1 + src/gallium/meson.build | 6 + src/gallium/targets/dri/meson.build | 7 +- src/gallium/targets/dri/target.c | 5 + .../winsys/kmsro/drm/kmsro_drm_winsys.c | 11 + src/gallium/winsys/kmsro/drm/meson.build | 3 + src/gallium/winsys/lima/drm/lima_drm_public.h | 35 + src/gallium/winsys/lima/drm/lima_drm_winsys.c | 124 ++ src/gallium/winsys/lima/drm/meson.build | 29 + src/mesa/state_tracker/st_draw.c | 5 +- src/util/u_dynarray.h | 19 +- src/util/u_math.h | 31 + 71 files changed, 17035 insertions(+), 17 deletions(-) create mode 100644 include/drm-uapi/lima_drm.h create mode 100644 src/gallium/drivers/lima/ir/gp/codegen.c create mode 100644 src/gallium/drivers/lima/ir/gp/codegen.h create mode 100644 src/gallium/drivers/lima/ir/gp/disasm.c create mode 100644 src/gallium/drivers/lima/ir/gp/gpir.h create mode 100644 src/gallium/drivers/lima/ir/gp/instr.c create mode 100644 src/gallium/drivers/lima/ir/gp/lower.c create mode 100644 src/gallium/drivers/lima/ir/gp/nir.c create mode 100644 src/gallium/drivers/lima/ir/gp/node.c create mode 100644 src/gallium/drivers/lima/ir/gp/physical_regalloc.c create mode 100644 src/gallium/drivers/lima/ir/gp/reduce_scheduler.c create mode 100644 src/gallium/drivers/lima/ir/gp/scheduler.c create mode 100644 src/gallium/drivers/lima/ir/gp/value_regalloc.c create mode 100644 src/gallium/drivers/lima/ir/lima_ir.h create mode 100644 src/gallium/drivers/lima/ir/pp/codegen.c create mode 100644 src/gallium/drivers/lima/ir/pp/codegen.h create mode 100644 src/gallium/drivers/lima/ir/pp/disasm.c create mode 100644 src/gallium/drivers/lima/ir/pp/instr.c create mode 100644 src/gallium/drivers/lima/ir/pp/lower.c create mode 100644 src/gallium/drivers/lima/ir/pp/nir.c create mode 100644 src/gallium/drivers/lima/ir/pp/node.c create mode 100644 src/gallium/drivers/lima/ir/pp/node_to_instr.c create mode 100644 src/gallium/drivers/lima/ir/pp/ppir.h create mode 100644 src/gallium/drivers/lima/ir/pp/regalloc.c create mode 100644 src/gallium/drivers/lima/ir/pp/scheduler.c create mode 100644 src/gallium/drivers/lima/lima_bo.c create mode 100644 src/gallium/drivers/lima/lima_bo.h create mode 100644 src/gallium/drivers/lima/lima_context.c create mode 100644 src/gallium/drivers/lima/lima_context.h create mode 100644 src/gallium/drivers/lima/lima_draw.c create mode 100644 src/gallium/drivers/lima/lima_fence.c create mode 100644 src/gallium/drivers/lima/lima_fence.h create mode 100644 src/gallium/drivers/lima/lima_program.c create mode 100644 src/gallium/drivers/lima/lima_program.h create mode 100644 src/gallium/drivers/lima/lima_query.c create mode 100644 src/gallium/drivers/lima/lima_resource.c create mode 100644 src/gallium/drivers/lima/lima_resource.h create mode 100644 src/gallium/drivers/lima/lima_screen.c create mode 100644 src/gallium/drivers/lima/lima_screen.h create mode 100644 src/gallium/drivers/lima/lima_state.c create mode 100644 src/gallium/drivers/lima/lima_submit.c create mode 100644 src/gallium/drivers/lima/lima_submit.h create mode 100644 src/gallium/drivers/lima/lima_texture.c create mode 100644 src/gallium/drivers/lima/lima_texture.h create mode 100644 src/gallium/drivers/lima/lima_tiling.c create mode 100644 src/gallium/drivers/lima/lima_tiling.h create mode 100644 src/gallium/drivers/lima/lima_util.c create mode 100644 src/gallium/drivers/lima/lima_util.h create mode 100644 src/gallium/drivers/lima/meson.build create mode 100644 src/gallium/winsys/lima/drm/lima_drm_public.h create mode 100644 src/gallium/winsys/lima/drm/lima_drm_winsys.c create mode 100644 src/gallium/winsys/lima/drm/meson.build -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev