mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
draw: quads never provoke the first vertex
This commit is contained in:
parent
558ce9964f
commit
f3365bceb8
2 changed files with 20 additions and 58 deletions
|
|
@ -105,40 +105,20 @@ static void FUNC( ARGS,
|
|||
|
||||
|
||||
case PIPE_PRIM_QUADS:
|
||||
if (flatfirst) {
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 1),
|
||||
(i + 2),
|
||||
(i + 3),
|
||||
(i + 0) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 0),
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(i + 3));
|
||||
}
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 0),
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(i + 3));
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
if (flatfirst) {
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 1),
|
||||
(i + 3),
|
||||
(i + 2),
|
||||
(i + 0) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 2),
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 3));
|
||||
}
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 2),
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 3));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -118,39 +118,21 @@ static void FUNC( struct draw_pt_front_end *frontend,
|
|||
|
||||
case PIPE_PRIM_QUADS:
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
if (flatfirst) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
else {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
if (flatfirst) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3),
|
||||
get_elt(elts, i + 2) );
|
||||
}
|
||||
else {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue