gallium: add lima driver
authorQiang Yu <yuq825@gmail.com>
Tue, 12 Mar 2019 19:49:26 +0000 (13:49 -0600)
committerQiang Yu <yuq825@gmail.com>
Thu, 11 Apr 2019 01:57:53 +0000 (09:57 +0800)
commit92d7ca4b1cdfe1ffc80748fa7eedf927f3c664f0
treed96651839bae0342e65b9cd414e56759a9a25cea
parent64eaf60ca739704f71bd312c0f4039d287258216
gallium: add lima driver

v2:
- use renamed util_dynarray_grow_cap
- use DEBUG_GET_ONCE_FLAGS_OPTION for debug flags
- remove DRM_FORMAT_MOD_ARM_AGTB_MODE0 usage
- compute min/max index in driver

v3:
- fix plbu framebuffer state calculation
- fix color_16pc assemble
- use nir_lower_all_source_mods for lowering neg/abs/sat
- use float arrary for static GPU data
- add disassemble comment for static shader code
- use drm_find_modifier

v4:
- use lima_nir_lower_uniform_to_scalar

v5:
- remove nir_opt_global_to_local when rebase

Cc: Rob Clark <robdclark@gmail.com>
Cc: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Signed-off-by: Arno Messiaen <arnomessiaen@gmail.com>
Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: marmeladema <xademax@gmail.com>
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rohan Garg <rohan@garg.io>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
60 files changed:
meson.build
meson_options.txt
src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
src/gallium/auxiliary/target-helpers/drm_helper.h
src/gallium/auxiliary/target-helpers/drm_helper_public.h
src/gallium/drivers/lima/ir/gp/codegen.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/codegen.h [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/disasm.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/gpir.h [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/instr.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/lower.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/nir.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/node.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/physical_regalloc.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/reduce_scheduler.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/scheduler.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/gp/value_regalloc.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/lima_ir.h [new file with mode: 0644]
src/gallium/drivers/lima/ir/lima_nir_lower_uniform_to_scalar.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/codegen.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/codegen.h [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/disasm.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/instr.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/lower.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/nir.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/node.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/node_to_instr.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/ppir.h [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/regalloc.c [new file with mode: 0644]
src/gallium/drivers/lima/ir/pp/scheduler.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_bo.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_bo.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_context.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_context.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_draw.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_fence.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_fence.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_program.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_program.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_query.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_resource.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_resource.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_screen.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_screen.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_state.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_submit.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_submit.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_texture.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_texture.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_tiling.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_tiling.h [new file with mode: 0644]
src/gallium/drivers/lima/lima_util.c [new file with mode: 0644]
src/gallium/drivers/lima/lima_util.h [new file with mode: 0644]
src/gallium/drivers/lima/meson.build [new file with mode: 0644]
src/gallium/meson.build
src/gallium/targets/dri/meson.build
src/gallium/targets/dri/target.c
src/gallium/winsys/lima/drm/lima_drm_public.h [new file with mode: 0644]
src/gallium/winsys/lima/drm/lima_drm_winsys.c [new file with mode: 0644]
src/gallium/winsys/lima/drm/meson.build [new file with mode: 0644]