----- Original Message ----- > Caching in the vbuf module meant that once a vertex has been > emitted it was cached, but it's possible for a vertex at the > same location to be emitted again, but this time with a different > front-face semantic. Caching was causing the first version of the > vertex to be emitted, which resulted in the renderer getting > incorrect front-face attributes. By reseting the vertex_id (which > is used for caching) we make sure that once a front-face info > has been injected the vertex will endup getting emitted.
Nice catch! > Signed-off-by: Zack Rusin <za...@vmware.com> > --- > src/gallium/auxiliary/draw/draw_pipe_unfilled.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c > b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c > index 8cba07c..4f0326b 100644 > --- a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c > +++ b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c > @@ -81,6 +81,7 @@ inject_front_face_info(struct draw_stage *stage, > v->data[slot][1] = is_front_face; > v->data[slot][2] = is_front_face; > v->data[slot][3] = is_front_face; I think it's worth to echo the gist of commit comment here, just for future reference. > + v->vertex_id = UNDEFINED_VERTEX_ID; > } > } > > -- > 1.8.3.2 > Patch 2/2 looks good too. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev