From 48b07fb4fc7e936ee1da4ad856a83740be65ddaf Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 10 Dec 2013 00:06:48 -0500 Subject: [PATCH] draw: fix vbuf caching of vertices with inject front face MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- 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; + v->vertex_id = UNDEFINED_VERTEX_ID; } } -- 2.7.4