xref: /aosp_15_r20/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 #define FUNC_VARS                               \
2    struct draw_assembler *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 = !asmblr->draw->rasterizer->flatshade_first;  \
13    switch (prim) {                                                  \
14    case MESA_PRIM_POLYGON:                                          \
15       assert(!"unexpected primitive type in prim assembler"); \
16       return;                                                       \
17    default:                                                         \
18       break;                                                        \
19    }
20 
21 
22 #define PASS_QUADS
23 #define POINT(i0)                             prim_point(asmblr, i0)
24 #define LINE(flags, i0, i1)                   prim_line(asmblr, i0, i1)
25 #define TRIANGLE(flags, i0, i1, i2)           prim_tri(asmblr, i0, i1, i2)
26 #define QUAD(flags, i0, i1, i2, i3)           prim_quad(asmblr, i0, i1, i2, i3)
27 
28 #include "draw_decompose_tmp.h"
29