From 9e41b0badbab97c9db03d5825f91533c69e4f9f9 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 13 Dec 2012 20:17:58 +1000 Subject: 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 Signed-off-by: Dave Airlie --- src/gallium/auxiliary/draw/draw_vs.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/gallium/auxiliary/draw/draw_vs.c') 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) -- cgit v1.1