draw: trim incoming primitives
This commit is contained in:
parent
63faab0150
commit
1529a2c983
|
@ -35,6 +35,10 @@
|
|||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_pt.h"
|
||||
|
||||
static unsigned trim( unsigned count, unsigned first, unsigned incr )
|
||||
{
|
||||
return count - (count - first) % incr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -54,6 +58,17 @@ draw_pt_arrays(struct draw_context *draw,
|
|||
struct draw_pt_middle_end *middle = NULL;
|
||||
unsigned opt = 0;
|
||||
|
||||
/* Sanitize primitive length:
|
||||
*/
|
||||
{
|
||||
unsigned first, incr;
|
||||
draw_pt_split_prim(prim, &first, &incr);
|
||||
count = trim(count, first, incr);
|
||||
if (count < first)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
if (!draw->render) {
|
||||
opt |= PT_PIPELINE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue