From d4ef0f6c67aefe06d8dd647acf8d9005df39a709 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Jun 2010 11:13:34 -0400 Subject: 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. --- src/gallium/auxiliary/draw/draw_pt_fetch_emit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/gallium/auxiliary/draw/draw_pt_fetch_emit.c') diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c b/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c index 5158c6341c..c629d55563 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; -- cgit v1.2.3