Hi, The following patches add a new TGSI->LLVM interface to Gallium and adapt lp_bld_tgsi_soa.c to use the new interface. You can also find an updated version of the r600g LLVM backend that uses this interface here:
git://people.freedesktop.org/~tstellar/mesa r600g-llvm-shader-Jan15-2012 Just a quick overview of the interface, implementors can: + Write functions for converting TGSI loads and stores to LLVM IR (lp_build_tgsi_context::emit_fetch_functions[TGSI_FILE_COUNT], lp_build_tgsi_context::emit_store) + Define "Opcode Actions (struct lp_build_opcode_action)" for generating LLVM IR from TGSI opcodes. Most TGSI opcodes have default "Opcode Actions" defined, so the implementor can reuse them or write his or her own. + Optionally define functions (lp_build_tgsi_context::emit_prologue, lp_build_tgsi_context:emit_epilogue) for inserting LLVM IR at the beginning or end of programs. Looking forward to questions and comments. Thanks, Tom Stellard _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev