From: Marek Olšák Date: Mon, 16 May 2011 23:16:27 +0000 (+0200) Subject: u_vbuf_mgr: fix max_index computation when src_offset is abused as buffer_offset X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=390196ecc73cd5d6bed48bf460d1abf70deb0eb4;p=mesa.git u_vbuf_mgr: fix max_index computation when src_offset is abused as buffer_offset --- diff --git a/src/gallium/auxiliary/util/u_vbuf_mgr.c b/src/gallium/auxiliary/util/u_vbuf_mgr.c index a034483ee5c..04149525ea7 100644 --- a/src/gallium/auxiliary/util/u_vbuf_mgr.c +++ b/src/gallium/auxiliary/util/u_vbuf_mgr.c @@ -581,7 +581,12 @@ static void u_vbuf_mgr_compute_max_index(struct u_vbuf_mgr_priv *mgr) * for that when dividing by stride. */ unused = vb->stride - (mgr->ve->ve[i].src_offset + mgr->ve->src_format_size[i]); - assert(unused >= 0); + + /* If src_offset is greater than stride (which means it's a buffer + * offset rather than a vertex offset)... */ + if (unused < 0) { + unused = 0; + } /* Compute the maximum index for this vertex element. */ max_index =