broadcom: Add VC5 NIR compiler.
authorEric Anholt <eric@anholt.net>
Fri, 3 Feb 2017 18:24:14 +0000 (10:24 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 10 Oct 2017 18:42:04 +0000 (11:42 -0700)
commitade416d02369cc0942d53ad3cce601d66344f9c3
treef9824bfb74dc9ef33b78dc67295768fdd07a513a
parentf71364f29787d0f822474ed970c5f28bede49abb
broadcom: Add VC5 NIR compiler.

This is a pretty straightforward fork of VC4's NIR compiler to VC5.  The
condition codes, registers, and I/O have all changed, making the backend
hard to share, though their heritage is still recognizable.

v2: Move to src/broadcom/compiler to match intel's layout, rename more
    "vc5" to "v3d", rename QIR to VIR ("V3D IR") to avoid symbol conflicts
    with vc4, use new v3d_debug header, add compiler init/free functions,
    do texture swizzling in NIR to allow optimization.
17 files changed:
src/broadcom/Makefile.am
src/broadcom/Makefile.sources
src/broadcom/Makefile.vc5.am
src/broadcom/compiler/nir_to_vir.c [new file with mode: 0644]
src/broadcom/compiler/qpu_schedule.c [new file with mode: 0644]
src/broadcom/compiler/qpu_validate.c [new file with mode: 0644]
src/broadcom/compiler/v3d_compiler.c [new file with mode: 0644]
src/broadcom/compiler/v3d_compiler.h [new file with mode: 0644]
src/broadcom/compiler/v3d_nir_lower_io.c [new file with mode: 0644]
src/broadcom/compiler/vir.c [new file with mode: 0644]
src/broadcom/compiler/vir_dump.c [new file with mode: 0644]
src/broadcom/compiler/vir_live_variables.c [new file with mode: 0644]
src/broadcom/compiler/vir_lower_uniforms.c [new file with mode: 0644]
src/broadcom/compiler/vir_opt_copy_propagate.c [new file with mode: 0644]
src/broadcom/compiler/vir_opt_dead_code.c [new file with mode: 0644]
src/broadcom/compiler/vir_register_allocate.c [new file with mode: 0644]
src/broadcom/compiler/vir_to_qpu.c [new file with mode: 0644]