Some fixes, missing instructions, etc for llvm backend. Comparing to non-llvm backend, it still fails 9 tests for me on evergreen.
Also you can find these patches in my github mesa repo, r600_llvm branch: https://github.com/VadimGirlin/mesa.git radeon/llvm: use bitcasts for integers radeon/llvm: use integer comparison for IF radeon/llvm: fix ABS_i32 instruction lowering radeon/llvm: add support for v4i32 radeon/llvm: fix live-in handling for inputs radeon/llvm: add support for VertexID, InstanceID radeon/llvm: add support for TXQ/TXF/DDX/DDY instructions radeon/llvm: add support for AHSR/LSHR/LSHL instructions radeon/llvm: add missing cases for BREAK/CONTINUE radeon/llvm: add support for some ALU instructions radeon/llvm: add support for CUBE ALU instruction radeon/llvm: add suport for cube textures src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 2 - src/gallium/drivers/r600/r600_llvm.c | 64 +-- src/gallium/drivers/radeon/AMDGPUGenInstrEnums.pl | 2 +- src/gallium/drivers/radeon/AMDGPUIntrinsics.td | 11 +- .../drivers/radeon/AMDGPULowerInstructions.cpp | 9 +- .../radeon/AMDGPULowerShaderInstructions.cpp | 3 + src/gallium/drivers/radeon/AMDGPUUtil.cpp | 16 + src/gallium/drivers/radeon/AMDGPUUtil.h | 1 + src/gallium/drivers/radeon/R600CodeEmitter.cpp | 60 ++- src/gallium/drivers/radeon/R600GenRegisterInfo.pl | 2 +- src/gallium/drivers/radeon/R600ISelLowering.cpp | 4 + src/gallium/drivers/radeon/R600InstrInfo.cpp | 12 + src/gallium/drivers/radeon/R600InstrInfo.h | 1 + src/gallium/drivers/radeon/R600Instructions.td | 113 ++++- .../drivers/radeon/R600LowerInstructions.cpp | 4 +- src/gallium/drivers/radeon/radeon_llvm.h | 38 ++ .../drivers/radeon/radeon_setup_tgsi_llvm.c | 433 +++++++++++++++++++- 17 files changed, 698 insertions(+), 77 deletions(-) -- 1.7.10.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev