From 904163e4e94dbf3ea9a24738077e9916e97191f8 Mon Sep 17 00:00:00 2001 From: Brian Date: Mon, 20 Aug 2007 11:41:23 -0600 Subject: fix cache overflow bug in get_vertex() --- src/mesa/pipe/draw/draw_prim.c | 7 ++++--- 1 file 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<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<vcache.referenced |= (1 << slot); return draw->vcache.vertex[slot]; } -- cgit v1.2.3