diff options
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs.c b/src/gallium/auxiliary/draw/draw_vs.c index 150653c669a..56c4f882cae 100644 --- a/src/gallium/auxiliary/draw/draw_vs.c +++ b/src/gallium/auxiliary/draw/draw_vs.c @@ -132,6 +132,11 @@ draw_create_vertex_shader(struct draw_context *draw, vs->info.output_semantic_index[i] == 0) { found_clipvertex = TRUE; vs->clipvertex_output = i; + } else if (vs->info.output_semantic_name[i] == TGSI_SEMANTIC_CLIPDIST) { + if (vs->info.output_semantic_index[i] == 0) + vs->clipdistance_output[0] = i; + else + vs->clipdistance_output[1] = i; } } if (!found_clipvertex) @@ -156,6 +161,8 @@ draw_bind_vertex_shader(struct draw_context *draw, draw->vs.position_output = dvs->position_output; draw->vs.edgeflag_output = dvs->edgeflag_output; draw->vs.clipvertex_output = dvs->clipvertex_output; + draw->vs.clipdistance_output[0] = dvs->clipdistance_output[0]; + draw->vs.clipdistance_output[1] = dvs->clipdistance_output[1]; dvs->prepare( dvs, draw ); } else { |