From: Brian Date: Mon, 20 Aug 2007 17:49:16 +0000 (-0600) Subject: call draw_trim() X-Git-Tag: android-x86-1.6~16^2~1465^2~390^2~4253 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=98d30cb2d4e17c288ef5f0fd41c09b372832d783;p=android-x86%2Fexternal-mesa.git call draw_trim() --- diff --git a/src/mesa/pipe/softpipe/sp_draw_arrays.c b/src/mesa/pipe/softpipe/sp_draw_arrays.c index a7fb39ca093..5371ef58e69 100644 --- a/src/mesa/pipe/softpipe/sp_draw_arrays.c +++ b/src/mesa/pipe/softpipe/sp_draw_arrays.c @@ -318,8 +318,9 @@ softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, { struct softpipe_context *sp = softpipe_context(pipe); struct draw_context *draw = sp->draw; - unsigned int i; + unsigned length, first, incr, i; + printf("Draw arrays start %u count %u\n", start, count); if (sp->dirty) softpipe_update_derived( sp ); @@ -346,10 +347,13 @@ softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, draw_invalidate_vcache( draw ); draw_set_element_buffer(draw, 0, NULL); /* no index/element buffer */ - draw_set_prim( draw, mode ); - /* XXX draw_prim_info() and TRIM here */ - draw_prim(draw, start, count); + draw_prim_info( mode, &first, &incr ); + length = draw_trim( count, first, incr ); + if (length) { + draw_set_prim( draw, mode ); + draw_prim(draw, start, count); + } /* draw any left-over buffered prims */ draw_flush(draw);