diff options
author | Dave Airlie <airlied@redhat.com> | 2012-12-13 20:17:58 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-12-14 11:34:40 +1000 |
commit | 9e41b0badbab97c9db03d5825f91533c69e4f9f9 (patch) | |
tree | dfdeb141a5c6295eac7ef9473d6d7fcda8075776 /src/gallium/auxiliary/draw/draw_vs.c | |
parent | 55d37eb40edff67fa12d1729165b292b914d8e51 (diff) | |
download | external_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.c | 1 |
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) |