1 #define FUNC_VARS \ 2 struct draw_mesh_prim *asmblr, \ 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 enum mesa_prim prim = input_prims->prim; \ 11 const unsigned prim_flags = input_prims->flags; \ 12 const bool last_vertex_last = false; \ 13 switch (prim) { \ 14 case MESA_PRIM_POINTS: \ 15 case MESA_PRIM_LINES: \ 16 case MESA_PRIM_TRIANGLES: \ 17 break; \ 18 default: \ 19 assert(!"unexpected primitive type in prim assembler"); \ 20 return; \ 21 } 22 23 24 #define POINT(i0) prim_point(asmblr, i0) 25 #define LINE(flags, i0, i1) prim_line(asmblr, i0, i1) 26 #define TRIANGLE(flags, i0, i1, i2) prim_tri(asmblr, i0, i1, i2) 27 #define QUAD(flags, i0, i1, i2, i3) 28 #define PASS_QUADS 29 30 #include "draw_decompose_tmp.h" 31