panfrost: Implement Midgard shader toolchain
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Wed, 30 Jan 2019 01:11:31 +0000 (01:11 +0000)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Tue, 5 Feb 2019 01:26:28 +0000 (01:26 +0000)
commite67e0726372ab65f410411e607701be4673ff6ef
tree039d895a9740c272b45aafd3e0c87914ca733262
parent61d3ae6e0bde93c5601278d1a60c44be655a7cb5
panfrost: Implement Midgard shader toolchain

This patch implements the free Midgard shader toolchain: the assembler,
the disassembler, and the NIR-based compiler. The assembler is a
standalone inaccessible Python script for reference purposes. The
disassembler and the compiler are implemented in C, accessible via the
standalone `midgard_compiler` binary. Later patches will use these
interfaces from the driver for online compilation.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Eric Anholt <eric@anholt.net>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
13 files changed:
src/gallium/drivers/panfrost/meson.build
src/gallium/drivers/panfrost/midgard/assemble.py [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/cmdline.c [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/cppwrap.cpp [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/disassemble.c [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/disassemble.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/helpers.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard-parse.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard_compile.c [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard_compile.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard_nir.h [new file with mode: 0644]
src/gallium/drivers/panfrost/midgard/midgard_nir_algebraic.py [new file with mode: 0644]