1 #define FUNC_VARS                               \
2    struct pt_so_emit *so,                       \
3    const struct draw_prim_info *input_prims,    \
4    const struct draw_vertex_info *input_verts,  \
5    unsigned start,                              \
6    unsigned count
7 
8 #define FUNC_ENTER                                                \
9    /* declare more local vars */                                  \
10    const unsigned prim = input_prims->prim;                       \
11    const unsigned prim_flags = input_prims->flags;                \
12    const boolean quads_flatshade_last = FALSE;                    \
13    const boolean last_vertex_last = !so->draw->rasterizer->flatshade_first;  \
14    do {                                                           \
15       switch (prim) {                                             \
16       case PIPE_PRIM_LINES_ADJACENCY:                             \
17       case PIPE_PRIM_LINE_STRIP_ADJACENCY:                        \
18       case PIPE_PRIM_TRIANGLES_ADJACENCY:                         \
19       case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:                    \
20          debug_assert(!"unexpected primitive type in stream output"); \
21          return;                                                  \
22       default:                                                    \
23          break;                                                   \
24       }                                                           \
25    } while (0)
26 
27 #define POINT(i0)                so_point(so,i0)
28 #define LINE(flags,i0,i1)        so_line(so,i0,i1)
29 #define TRIANGLE(flags,i0,i1,i2) so_tri(so,i0,i1,i2)
30 
31 #include "draw_decompose_tmp.h"
32