diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/pipe/draw/draw_prim.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/pipe/draw/draw_prim.c b/src/mesa/pipe/draw/draw_prim.c index 95e71efd6d..fb8bc0f36d 100644 --- a/src/mesa/pipe/draw/draw_prim.c +++ b/src/mesa/pipe/draw/draw_prim.c @@ -144,8 +144,8 @@ static struct vertex_header *get_vertex( struct draw_context *draw, /* If slot is in use, use the overflow area: */ - if (draw->vcache.referenced & (1<<slot)) - slot = draw->vcache.overflow++; + if (draw->vcache.referenced & (1 << slot)) + slot = VCACHE_SIZE + draw->vcache.overflow++; draw->vcache.idx[slot] = i; @@ -158,7 +158,8 @@ static struct vertex_header *get_vertex( struct draw_context *draw, /* Mark slot as in-use: */ - draw->vcache.referenced |= (1<<slot); + if (slot < VCACHE_SIZE) + draw->vcache.referenced |= (1 << slot); return draw->vcache.vertex[slot]; } |