[Mesa-dev] [PATCH 0/9] Lima mesa driver
Rob Clark
robdclark at gmail.com
Sun Mar 17 14:20:20 UTC 2019
Any chance you could submit a gitlab MR? Replying with comments
inline to the driver patch is a bit more than gmail can handle..
but quick comments:
In lima_pack_pp_frame_reg() maybe the swizzle field in 'struct
util_format_description' is a better way to determine swap_channels?
Not sure how many formats mali can render two, but I hope it is
eventually more than two.. Maybe eventually you just want a formats
table mapping pipe_format, to corresponding hw state for tex/fb/vbo.
(Have a look at fd[3456]_format.c.. maybe a similar idea is useful to
you?)
Alyssa's drm_find_modifier() helper can make is_modifier_ok() go away.
re: lima_screen_parse_env(), you might find
DEBUG_GET_ONCE_FLAGS_OPTION() / struct debug_named_value useful?
And for framebuffer (render target), pipe_surface's
u.tex.level/first_layer aren't necessarily zero. Maybe I'm
overlooking it, but I don't see where you're adding the offset within
the resource to the requested layer/level. (I guess you'd hit that
during mipmap generation, at least if relying on u_blitter for mipmap
gen)
BR,
-R
On Fri, Mar 15, 2019 at 9:30 PM Qiang Yu <yuq825 at gmail.com> wrote:
>
> 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list