r600/sfn: rewrite NIR backend
This is a rewite of the NIR backend. it adds some optimization and a scheduler. v2: - replace some magic numbers by constants - make sure constructor is always used with new - use default initialization in more places (changes suggested by Filip Gawin) Signed-off-by:Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Filip Gawin <filip@gawin.net> Part-of: <mesa/mesa!17076>
- src/gallium/drivers/r600/meson.build 62 additions, 57 deletionssrc/gallium/drivers/r600/meson.build
- src/gallium/drivers/r600/r600_asm.c 2 additions, 2 deletionssrc/gallium/drivers/r600/r600_asm.c
- src/gallium/drivers/r600/r600_asm.h 2 additions, 0 deletionssrc/gallium/drivers/r600/r600_asm.h
- src/gallium/drivers/r600/r600_pipe.c 8 additions, 5 deletionssrc/gallium/drivers/r600/r600_pipe.c
- src/gallium/drivers/r600/sfn/sfn_alu_defines.cpp 73 additions, 53 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_defines.cpp
- src/gallium/drivers/r600/sfn/sfn_alu_defines.h 100 additions, 3 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_defines.h
- src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp 329 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_readport_validation.cpp
- src/gallium/drivers/r600/sfn/sfn_alu_readport_validation.h 41 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_readport_validation.h
- src/gallium/drivers/r600/sfn/sfn_assembler.cpp 795 additions, 831 deletionssrc/gallium/drivers/r600/sfn/sfn_assembler.cpp
- src/gallium/drivers/r600/sfn/sfn_assembler.h 26 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_assembler.h
- src/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.h 0 additions, 4 deletionssrc/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.h
- src/gallium/drivers/r600/sfn/sfn_debug.cpp 4 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_debug.cpp
- src/gallium/drivers/r600/sfn/sfn_debug.h 5 additions, 1 deletionsrc/gallium/drivers/r600/sfn/sfn_debug.h
- src/gallium/drivers/r600/sfn/sfn_defines.h 3 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_defines.h
- src/gallium/drivers/r600/sfn/sfn_docu.txt 18 additions, 29 deletionssrc/gallium/drivers/r600/sfn/sfn_docu.txt
- src/gallium/drivers/r600/sfn/sfn_emitaluinstruction.cpp 0 additions, 1046 deletionssrc/gallium/drivers/r600/sfn/sfn_emitaluinstruction.cpp
- src/gallium/drivers/r600/sfn/sfn_emitaluinstruction.h 0 additions, 116 deletionssrc/gallium/drivers/r600/sfn/sfn_emitaluinstruction.h
- src/gallium/drivers/r600/sfn/sfn_emitinstruction.cpp 0 additions, 169 deletionssrc/gallium/drivers/r600/sfn/sfn_emitinstruction.cpp
- src/gallium/drivers/r600/sfn/sfn_emitinstruction.h 0 additions, 102 deletionssrc/gallium/drivers/r600/sfn/sfn_emitinstruction.h
- src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp 0 additions, 741 deletionssrc/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp