Use the first vertex, not the last.
/** Which vertex shader output slot contains point size */
int psize_slot;
+ unsigned api_prim; /**< current prim type being drawn: PIPE_PRIM_x */
unsigned reduced_api_prim; /**< PIPE_PRIM_POINTS, _LINES or _TRIANGLES */
/** Derived from scissor and surface bounds: */
struct draw_context *draw = sp->draw;
unsigned i;
+ sp->api_prim = mode;
sp->reduced_api_prim = reduced_prim[mode];
if (sp->dirty)
const float (*v1)[4],
const float (*v2)[4] )
{
- setup->vprovoke = v2;
+ if (setup->softpipe->api_prim == PIPE_PRIM_POLYGON)
+ setup->vprovoke = v0;
+ else
+ setup->vprovoke = v2;
/* determine bottom to top order of vertices */
{