This set implements code generation of geometry shaders in the LLVM paths. There are some cleanups that will follow (e.g. changing the input array to handle lp_native vectors and not TGSI_NUM_CHANNELS) but all the simple examples are working and as far as I can tell there's no regressions in the common code so we can push it now.
Zack Rusin (6): graw/gs: add missing max output vertices to all tests draw/llvm: Remove unused gs_constants from jit_context draw/gs: Abstract the portions of GS that are tgsi specific draw/gs: Fetch more than one primitive per invocation gallium/llvm: implement geometry shaders in the llvm paths gallivm: implement breakc and implicit primitive flushing src/gallium/auxiliary/draw/draw_context.c | 17 +- src/gallium/auxiliary/draw/draw_context.h | 5 + src/gallium/auxiliary/draw/draw_gs.c | 585 +++++++++++++++----- src/gallium/auxiliary/draw/draw_gs.h | 41 +- src/gallium/auxiliary/draw/draw_llvm.c | 584 +++++++++++++++++-- src/gallium/auxiliary/draw/draw_llvm.h | 176 +++++- .../draw/draw_pt_fetch_shade_pipeline_llvm.c | 77 ++- src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 33 +- src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c | 1 + src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 209 ++++++- src/gallium/drivers/llvmpipe/lp_state_fs.c | 4 +- src/gallium/tests/graw/geometry-shader/add-mix.txt | 1 + src/gallium/tests/graw/geometry-shader/add.txt | 1 + .../tests/graw/geometry-shader/mov-cb-2d.txt | 1 + src/gallium/tests/graw/geometry-shader/mov.txt | 1 + 15 files changed, 1511 insertions(+), 225 deletions(-) -- 1.7.10.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev