From: Brian Paul Date: Tue, 19 Feb 2013 19:24:32 +0000 (-0700) Subject: st/mesa: fix trimming of GL_QUAD_STRIP X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8589cc41b36b89bc80ad6a4f671e47f81a89d556;p=mesa.git st/mesa: fix trimming of GL_QUAD_STRIP We sometimes convert GL_QUAD_STRIP prims into GL_TRIANGLE_STRIP, but that changes the results of the u_trim_pipe_prim() call. We need to pass the original primitive type to the trim function. Note that OpenGL's GL_x prim type values match Gallium's PIPE_PRIM_x values. Fixes a failure in the new piglit degenerate-prims test. Note: This is a candidate for the stable branches. Reviewed-by: José Fonseca --- diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index de62264a16c..bff8d9b3143 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -283,7 +283,7 @@ st_draw_vbo(struct gl_context *ctx, /* don't trim, restarts might be inside index list */ cso_draw_vbo(st->cso_context, &info); } - else if (u_trim_pipe_prim(info.mode, &info.count)) + else if (u_trim_pipe_prim(prims[i].mode, &info.count)) cso_draw_vbo(st->cso_context, &info); }