mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 23:20:14 +01:00
draw: implement triangle strips with adjacency in geometry shader
This commit is contained in:
parent
f542a2770a
commit
4320a451a3
1 changed files with 12 additions and 1 deletions
|
|
@ -9,7 +9,7 @@ static void FUNC( struct draw_geometry_shader *shader,
|
|||
|
||||
boolean flatfirst = (draw->rasterizer->flatshade &&
|
||||
draw->rasterizer->flatshade_first);
|
||||
unsigned i;
|
||||
unsigned i, j;
|
||||
unsigned count = input_prims->count;
|
||||
LOCAL_VARS
|
||||
|
||||
|
|
@ -124,6 +124,17 @@ static void FUNC( struct draw_geometry_shader *shader,
|
|||
i + 3, i + 4, i + 5);
|
||||
}
|
||||
break;
|
||||
case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
|
||||
for (i = 0, j = 0; i+5 < count; i += 2, ++j) {
|
||||
TRI_ADJ( shader,
|
||||
i + 0,
|
||||
i + 1 + 2*(j&1),
|
||||
i + 2 + 2*(j&1),
|
||||
i + 3 - 2*(j&1),
|
||||
i + 4 - 2*(j&1),
|
||||
i + 5);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
debug_assert(!"Unsupported primitive in geometry shader");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue