From: Brian Date: Mon, 20 Aug 2007 17:41:23 +0000 (-0600) Subject: fix cache overflow bug in get_vertex() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=904163e4e94dbf3ea9a24738077e9916e97191f8;p=mesa.git fix cache overflow bug in get_vertex() --- diff --git a/src/mesa/pipe/draw/draw_prim.c b/src/mesa/pipe/draw/draw_prim.c index 95e71efd6db..fb8bc0f36da 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]; }