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. ---
Contents trimmed due to patch size. Full series at: https://github.com/anholt/mesa/commits/vc5 src/broadcom/Makefile.am | 2 + src/broadcom/Makefile.sources | 13 + src/broadcom/Makefile.vc5.am | 1 + src/broadcom/nir/nir_to_qir.c | 2079 +++++++++++++++++++++++++++++ src/broadcom/nir/qir.c | 644 +++++++++ src/broadcom/nir/qir_dump.c | 334 +++++ src/broadcom/nir/qir_live_variables.c | 340 +++++ src/broadcom/nir/qir_lower_uniforms.c | 209 +++ src/broadcom/nir/qir_opt_copy_propagate.c | 233 ++++ src/broadcom/nir/qir_opt_dead_code.c | 162 +++ src/broadcom/nir/qir_register_allocate.c | 253 ++++ src/broadcom/nir/qir_to_qpu.c | 357 +++++ src/broadcom/nir/qpu_schedule.c | 1362 +++++++++++++++++++ src/broadcom/nir/qpu_validate.c | 208 +++ src/broadcom/nir/vc5_compiler.c | 43 + src/broadcom/nir/vc5_compiler.h | 858 ++++++++++++ src/broadcom/nir/vc5_nir_lower_io.c | 181 +++ 17 files changed, 7279 insertions(+) create mode 100644 src/broadcom/nir/nir_to_qir.c create mode 100644 src/broadcom/nir/qir.c create mode 100644 src/broadcom/nir/qir_dump.c create mode 100644 src/broadcom/nir/qir_live_variables.c create mode 100644 src/broadcom/nir/qir_lower_uniforms.c create mode 100644 src/broadcom/nir/qir_opt_copy_propagate.c create mode 100644 src/broadcom/nir/qir_opt_dead_code.c create mode 100644 src/broadcom/nir/qir_register_allocate.c create mode 100644 src/broadcom/nir/qir_to_qpu.c create mode 100644 src/broadcom/nir/qpu_schedule.c create mode 100644 src/broadcom/nir/qpu_validate.c create mode 100644 src/broadcom/nir/vc5_compiler.c create mode 100644 src/broadcom/nir/vc5_compiler.h create mode 100644 src/broadcom/nir/vc5_nir_lower_io.c _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev