On 2 September 2013 16:47, Ian Romanick <i...@freedesktop.org> wrote:
> On 09/01/2013 07:05 PM, Kenneth Graunke wrote: > > can_cut_index_handle_prims() was passed an array of _mesa_prim objects > > and a count, and ran a loop for that many iterations. However, it > > treated the array like a pointer, repeatedly checking the first element. > > Blarg. How would an application be able to observe the old bug > behavior? Can we come up with a test case that might tickle it? > We already had some discussion about this (see http://lists.freedesktop.org/archives/mesa-dev/2013-August/044129.html). Briefly, I wasn't able to come up with a test case that produced incorrect rendering, but I was able to produce a test case where prim[i] != prim[j]. Considering how difficult the VBO module is to understand, I think it's wise to err on the safe side and do what Ken has done in this patch. Patch is: Reviewed-by: Paul Berry <stereotype...@gmail.com> > > > This patch makes it actually check every primitive. > > > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > > Either way, the patch is obviously correct. > > Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > > > --- > > src/mesa/drivers/dri/i965/brw_primitive_restart.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/brw_primitive_restart.c > b/src/mesa/drivers/dri/i965/brw_primitive_restart.c > > index 0dbc48f..b305dca 100644 > > --- a/src/mesa/drivers/dri/i965/brw_primitive_restart.c > > +++ b/src/mesa/drivers/dri/i965/brw_primitive_restart.c > > @@ -92,8 +92,8 @@ can_cut_index_handle_prims(struct gl_context *ctx, > > return false; > > } > > > > - for ( ; nr_prims > 0; nr_prims--) { > > - switch(prim->mode) { > > + for (int i = 0; i < nr_prims; i++) { > > + switch (prim[i].mode) { > > case GL_POINTS: > > case GL_LINES: > > case GL_LINE_STRIP: > > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev