From: Zack Rusin Date: Tue, 10 Dec 2013 05:06:48 +0000 (-0500) Subject: draw: fix vbuf caching of vertices with inject front face X-Git-Tag: upstream/10.1.2~1115 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48b07fb4fc7e936ee1da4ad856a83740be65ddaf;p=platform%2Fupstream%2Fmesa.git draw: fix vbuf caching of vertices with inject front face 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. Signed-off-by: Zack Rusin Reviewed-by: José Fonseca Reviewed-by: Roland Scheidegger --- 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; + v->vertex_id = UNDEFINED_VERTEX_ID; } }