draw/llvmpipe: fix transform feedback position + enable other extensions
authorDave Airlie <airlied@redhat.com>
Thu, 13 Dec 2012 10:17:58 +0000 (20:17 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 14 Dec 2012 01:34:40 +0000 (11:34 +1000)
commit9e41b0badbab97c9db03d5825f91533c69e4f9f9
treedfdeb141a5c6295eac7ef9473d6d7fcda8075776
parent55d37eb40edff67fa12d1729165b292b914d8e51
draw/llvmpipe: fix transform feedback position + enable other extensions

This builds on the previous draw/softpipe patch.

So llvmpipe does streamout calls after clip/viewport stages,
but we have the pre-clip position stored for later use, so
when we are doing transform feedback, and its the position vertex
grab the vertex from the stored pre clip position.

The perfect fix is too probably add a codegen transform feedback
stage in between shader and clip stages, but this is good enough
for now.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/auxiliary/draw/draw_pt.h
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
src/gallium/auxiliary/draw/draw_pt_so_emit.c
src/gallium/auxiliary/draw/draw_vs.c
src/gallium/drivers/llvmpipe/lp_screen.c