diff options
author | Zack Rusin <[email protected]> | 2010-06-09 11:13:34 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2010-06-09 11:13:34 -0400 |
commit | d4ef0f6c67aefe06d8dd647acf8d9005df39a709 (patch) | |
tree | 00ac70cad31762c1dbc4a99abcfa985e6fe77946 /src/gallium/auxiliary/draw/draw_pt_fetch_emit.c | |
parent | cec9955acc03d292c67815371415edc3fc3fc4b0 (diff) |
geometry shaders: make gs work with changable primitives and variable number of vertices
lots and lots of fixes for geometry shaders. in particular now we work when the gs
emits a different primitive than the one the pipeline was started with and also
we work when gs emits more vertices than would fit in the original buffer.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_fetch_emit.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt_fetch_emit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c b/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c index 5158c6341c0..c629d555636 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c @@ -90,6 +90,7 @@ struct fetch_emit_middle_end { static void fetch_emit_prepare( struct draw_pt_middle_end *middle, unsigned prim, + unsigned out_prim, unsigned opt, unsigned *max_vertices ) { @@ -102,7 +103,7 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle, ok = draw->render->set_primitive( draw->render, - prim ); + out_prim ); if (!ok) { assert(0); return; |