draw_so_emit_tmp.h revision 94d256591d83ac1330f7237e865784618d124d09
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   struct draw_context *draw = so->draw;                          \
11   const unsigned prim = input_prims->prim;                       \
12   const boolean last_vertex_last =                               \
13      !(draw->rasterizer->flatshade &&                            \
14        draw->rasterizer->flatshade_first);                       \
15   do {                                                           \
16      debug_assert(input_prims->primitive_count == 1);            \
17      switch (prim) {                                             \
18      case PIPE_PRIM_LINES_ADJACENCY:                             \
19      case PIPE_PRIM_LINE_STRIP_ADJACENCY:                        \
20      case PIPE_PRIM_TRIANGLES_ADJACENCY:                         \
21      case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:                    \
22         debug_assert(!"unexpected primitive type in stream output"); \
23         return;                                                  \
24      default:                                                    \
25         break;                                                   \
26      }                                                           \
27   } while (0)                                                    \
28
29#define POINT(i0)                so_point(so,i0)
30#define LINE(flags,i0,i1)        so_line(so,i0,i1)
31#define TRIANGLE(flags,i0,i1,i2) so_tri(so,i0,i1,i2)
32
33#include "draw_decompose_tmp.h"
34