summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_vs.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-12-13 20:17:58 +1000
committerDave Airlie <airlied@redhat.com>2012-12-14 11:34:40 +1000
commit9e41b0badbab97c9db03d5825f91533c69e4f9f9 (patch)
treedfdeb141a5c6295eac7ef9473d6d7fcda8075776 /src/gallium/auxiliary/draw/draw_vs.c
parent55d37eb40edff67fa12d1729165b292b914d8e51 (diff)
downloadexternal_mesa3d-9e41b0badbab97c9db03d5825f91533c69e4f9f9.zip
external_mesa3d-9e41b0badbab97c9db03d5825f91533c69e4f9f9.tar.gz
external_mesa3d-9e41b0badbab97c9db03d5825f91533c69e4f9f9.tar.bz2
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>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_vs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs.c b/src/gallium/auxiliary/draw/draw_vs.c
index 785a903..266cca7 100644
--- a/src/gallium/auxiliary/draw/draw_vs.c
+++ b/src/gallium/auxiliary/draw/draw_vs.c
@@ -80,6 +80,7 @@ draw_create_vertex_shader(struct draw_context *draw,
{
uint i;
bool found_clipvertex = FALSE;
+ vs->position_output = -1;
for (i = 0; i < vs->info.num_outputs; i++) {
if (vs->info.output_semantic_name[i] == TGSI_SEMANTIC_POSITION &&
vs->info.output_semantic_index[i] == 0)