On Sun, Mar 17, 2019 at 10:20 PM Rob Clark <robdcl...@gmail.com> wrote: > > Any chance you could submit a gitlab MR? Replying with comments > inline to the driver patch is a bit more than gmail can handle..
OK, I've created one: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/465 > > 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?) In fact we haven't do more investigate on other formats, have a table is better, but we can fill in it for only a few formats now. > > 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) lima does not support mipmap generation yet, will add that when we implement the mipmap generation. Thanks, Qiang > > > BR, > -R > > > On Fri, Mar 15, 2019 at 9:30 PM Qiang Yu <yuq...@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@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev