draw: Add flags to draw_prim_info.
[mesa.git] / src / gallium / auxiliary / draw / draw_so_emit_tmp.h
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 const unsigned prim_flags = input_prims->flags; \
16 do { \
17 debug_assert(input_prims->primitive_count == 1); \
18 switch (prim) { \
19 case PIPE_PRIM_LINES_ADJACENCY: \
20 case PIPE_PRIM_LINE_STRIP_ADJACENCY: \
21 case PIPE_PRIM_TRIANGLES_ADJACENCY: \
22 case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: \
23 debug_assert(!"unexpected primitive type in stream output"); \
24 return; \
25 default: \
26 break; \
27 } \
28 } while (0) \
29
30 #define POINT(i0) so_point(so,i0)
31 #define LINE(flags,i0,i1) so_line(so,i0,i1)
32 #define TRIANGLE(flags,i0,i1,i2) so_tri(so,i0,i1,i2)
33
34 #include "draw_decompose_tmp.h"