st/mesa: fix quad strip trimming bug
authorBrian Paul <brianp@vmware.com>
Thu, 15 Jul 2010 16:46:33 +0000 (10:46 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 15 Jul 2010 16:49:56 +0000 (10:49 -0600)
commit3fde89e4395d260821f4e76a0fe36c265c148a73
treed366371a57affc51819c83c0f09abdf671b66d02
parent0eaccb30de9bc638dabb1edbd2c831bacba3cf36
st/mesa: fix quad strip trimming bug

The translate_prim() function tries to convert quad strips into
tri strips.  This is normally OK but we have to check for an odd
number of vertices so that we don't accidentally draw an extra
triangle.  The mesa-demos/src/samples/prim.c demo exercises that.
With this fix the stray yellow triangle is no longer drawn.

Use the u_trim_pipe_prim() function to make sure that prims have
the right number of vertices and avoid calling gallium drawing
functions when the prim has a degenerate number of vertices.

Plus add comments, clean-up formatting, etc.

NOTE: This is a candidate for the 7.8 branch.
src/mesa/state_tracker/st_draw.c