r600/sfn: Add a basic nir shader backend
This commit adds support for vertex and fragment shaders from NIR, and support for most TEX and ALU instructions. Thanks Dave Airlied for adding support for a number of ALU instructions. v2: fix compilation with gcc-6 v3: rebase: use mesa/core glsl_type_size function Signed-off-by:Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!3225>
- src/gallium/drivers/r600/Makefile.sources 50 additions, 2 deletionssrc/gallium/drivers/r600/Makefile.sources
- src/gallium/drivers/r600/meson.build 50 additions, 4 deletionssrc/gallium/drivers/r600/meson.build
- src/gallium/drivers/r600/sfn/sfn_alu_defines.cpp 325 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_defines.cpp
- src/gallium/drivers/r600/sfn/sfn_alu_defines.h 377 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_alu_defines.h
- src/gallium/drivers/r600/sfn/sfn_callstack.cpp 111 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_callstack.cpp
- src/gallium/drivers/r600/sfn/sfn_callstack.h 47 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_callstack.h
- src/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.cpp 195 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.cpp
- src/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.h 69 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_conditionaljumptracker.h
- src/gallium/drivers/r600/sfn/sfn_debug.cpp 139 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_debug.cpp
- src/gallium/drivers/r600/sfn/sfn_debug.h 121 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_debug.h
- src/gallium/drivers/r600/sfn/sfn_defines.h 318 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_defines.h
- src/gallium/drivers/r600/sfn/sfn_emitaluinstruction.cpp 1301 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emitaluinstruction.cpp
- src/gallium/drivers/r600/sfn/sfn_emitaluinstruction.h 116 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emitaluinstruction.h
- src/gallium/drivers/r600/sfn/sfn_emitinstruction.cpp 157 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emitinstruction.cpp
- src/gallium/drivers/r600/sfn/sfn_emitinstruction.h 96 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emitinstruction.h
- src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp 974 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp
- src/gallium/drivers/r600/sfn/sfn_emittexinstruction.h 104 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_emittexinstruction.h
- src/gallium/drivers/r600/sfn/sfn_instruction_alu.cpp 152 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_instruction_alu.cpp
- src/gallium/drivers/r600/sfn/sfn_instruction_alu.h 138 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_instruction_alu.h
- src/gallium/drivers/r600/sfn/sfn_instruction_base.cpp 60 additions, 0 deletionssrc/gallium/drivers/r600/sfn/sfn_instruction_base.cpp