[Mesa-dev] [PATCH 0/2] Initial Panfrost driver
Alyssa Rosenzweig
alyssa at rosenzweig.io
Wed Jan 30 05:43:42 UTC 2019
Panfrost is a community-led, free software driver for Mali Midgard and
Bifrost GPUs. This patchset contains the initial changes for upstreaming
the driver. On the command stream side, for now only a stub and winsys
integration is included; the full driver is pending on kernel changes.
As for shaders, the complete Midgard toolchain is included (assembler,
disassembler, compiler), which provides immediate utility via the
standalone interface.
Panfrost is _not_ ready for general use yet; please do not misinterpret
this upstreaming as anything more than what's necessary to ease
rebasing. These patches **do not include the actual command stream
driver**, accounting for several thousand lines of code, which as always
can be found at https://gitlab.freedesktop.org/panfrost/mesa. As our
kernel driver matures, this code will be submitted as well.
Alyssa Rosenzweig (2):
panfrost: Initial stub for Panfrost driver
panfrost: Implement Midgard shader toolchain
meson.build | 7 +-
meson_options.txt | 2 +-
.../auxiliary/pipe-loader/pipe_loader_drm.c | 5 +
.../auxiliary/target-helpers/drm_helper.h | 23 +
.../target-helpers/drm_helper_public.h | 3 +
src/gallium/drivers/panfrost/.editorconfig | 3 +
.../drivers/panfrost/include/meson.build | 0
.../drivers/panfrost/include/panfrost-job.h | 1481 +++++++
.../drivers/panfrost/include/panfrost-misc.h | 47 +
src/gallium/drivers/panfrost/meson.build | 92 +
.../drivers/panfrost/midgard/assemble.py | 643 +++
.../drivers/panfrost/midgard/cmdline.c | 145 +
.../drivers/panfrost/midgard/cppwrap.cpp | 9 +
.../drivers/panfrost/midgard/disassemble.c | 986 +++++
.../drivers/panfrost/midgard/disassemble.h | 2 +
.../drivers/panfrost/midgard/helpers.h | 236 ++
.../drivers/panfrost/midgard/midgard-parse.h | 70 +
.../drivers/panfrost/midgard/midgard.h | 473 +++
.../panfrost/midgard/midgard_compile.c | 3621 +++++++++++++++++
.../panfrost/midgard/midgard_compile.h | 80 +
.../drivers/panfrost/midgard/midgard_nir.h | 5 +
.../panfrost/midgard/midgard_nir_algebraic.py | 71 +
src/gallium/drivers/panfrost/pan_allocate.h | 123 +
src/gallium/drivers/panfrost/pan_context.h | 362 ++
src/gallium/drivers/panfrost/pan_public.h | 41 +
src/gallium/drivers/panfrost/pan_resource.h | 85 +
src/gallium/drivers/panfrost/pan_screen.c | 702 ++++
src/gallium/drivers/panfrost/pan_screen.h | 88 +
src/gallium/meson.build | 6 +
src/gallium/targets/dri/meson.build | 5 +-
src/gallium/targets/dri/target.c | 10 +
.../winsys/kmsro/drm/kmsro_drm_winsys.c | 25 +
src/gallium/winsys/kmsro/drm/meson.build | 3 +
src/gallium/winsys/panfrost/drm/Android.mk | 33 +
src/gallium/winsys/panfrost/drm/Makefile.am | 33 +
.../winsys/panfrost/drm/Makefile.sources | 3 +
src/gallium/winsys/panfrost/drm/meson.build | 29 +
.../winsys/panfrost/drm/panfrost_drm_public.h | 36 +
.../winsys/panfrost/drm/panfrost_drm_winsys.c | 42 +
39 files changed, 9625 insertions(+), 5 deletions(-)
create mode 100644 src/gallium/drivers/panfrost/.editorconfig
create mode 100644 src/gallium/drivers/panfrost/include/meson.build
create mode 100644 src/gallium/drivers/panfrost/include/panfrost-job.h
create mode 100644 src/gallium/drivers/panfrost/include/panfrost-misc.h
create mode 100644 src/gallium/drivers/panfrost/meson.build
create mode 100644 src/gallium/drivers/panfrost/midgard/assemble.py
create mode 100644 src/gallium/drivers/panfrost/midgard/cmdline.c
create mode 100644 src/gallium/drivers/panfrost/midgard/cppwrap.cpp
create mode 100644 src/gallium/drivers/panfrost/midgard/disassemble.c
create mode 100644 src/gallium/drivers/panfrost/midgard/disassemble.h
create mode 100644 src/gallium/drivers/panfrost/midgard/helpers.h
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard-parse.h
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard.h
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard_compile.c
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard_compile.h
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard_nir.h
create mode 100644 src/gallium/drivers/panfrost/midgard/midgard_nir_algebraic.py
create mode 100644 src/gallium/drivers/panfrost/pan_allocate.h
create mode 100644 src/gallium/drivers/panfrost/pan_context.h
create mode 100644 src/gallium/drivers/panfrost/pan_public.h
create mode 100644 src/gallium/drivers/panfrost/pan_resource.h
create mode 100644 src/gallium/drivers/panfrost/pan_screen.c
create mode 100644 src/gallium/drivers/panfrost/pan_screen.h
create mode 100644 src/gallium/winsys/panfrost/drm/Android.mk
create mode 100644 src/gallium/winsys/panfrost/drm/Makefile.am
create mode 100644 src/gallium/winsys/panfrost/drm/Makefile.sources
create mode 100644 src/gallium/winsys/panfrost/drm/meson.build
create mode 100644 src/gallium/winsys/panfrost/drm/panfrost_drm_public.h
create mode 100644 src/gallium/winsys/panfrost/drm/panfrost_drm_winsys.c
--
2.20.1
More information about the mesa-dev
mailing list