copy_verts(asmblr, indices, 2);
}
-static void
-prim_line_adj(struct draw_assembler *asmblr,
- unsigned i0, unsigned i1, unsigned i2, unsigned i3)
-{
- unsigned indices[2];
-
- if (asmblr->needs_primid) {
- if (asmblr->is_strip && asmblr->is_first_prim) {
- inject_primid(asmblr, i1, asmblr->primid++);
- inject_primid(asmblr, i2, asmblr->primid++);
- asmblr->is_first_prim = FALSE;
- } else if (asmblr->is_strip) {
- inject_primid(asmblr, i2, asmblr->primid++);
- } else {
- inject_primid(asmblr, i1, asmblr->primid);
- inject_primid(asmblr, i2, asmblr->primid++);
- }
- }
-
- indices[0] = i1;
- indices[1] = i2;
-
- copy_verts(asmblr, indices, 2);
-}
-
static void
prim_tri(struct draw_assembler *asmblr,
unsigned i0, unsigned i1, unsigned i2)
copy_verts(asmblr, indices, 3);
}
-static void
-prim_tri_adj(struct draw_assembler *asmblr,
- unsigned i0, unsigned i1, unsigned i2,
- unsigned i3, unsigned i4, unsigned i5)
-{
- unsigned indices[3];
-
- if (asmblr->needs_primid) {
- if (asmblr->is_strip && asmblr->is_first_prim) {
- inject_primid(asmblr, i0, asmblr->primid++);
- inject_primid(asmblr, i2, asmblr->primid++);
- inject_primid(asmblr, i4, asmblr->primid++);
- asmblr->is_first_prim = FALSE;
- } else if (asmblr->is_strip) {
- if (asmblr->num_prims & 1) {
- inject_primid(asmblr, i2, asmblr->primid++);
- } else {
- inject_primid(asmblr, i4, asmblr->primid++);
- }
- } else {
- inject_primid(asmblr, i0, asmblr->primid);
- inject_primid(asmblr, i2, asmblr->primid);
- inject_primid(asmblr, i4, asmblr->primid);
- asmblr->primid++;
- }
- }
- indices[0] = i0;
- indices[1] = i2;
- indices[2] = i4;
-
- copy_verts(asmblr, indices, 3);
-}
-
void
draw_prim_assembler_prepare_outputs(struct draw_assembler *ia)
{
#define POINT(i0) prim_point(asmblr, i0)
#define LINE(flags, i0, i1) prim_line(asmblr, i0, i1)
#define TRIANGLE(flags, i0, i1, i2) prim_tri(asmblr, i0, i1, i2)
-#define LINE_ADJ(flags, i0, i1, i2, i3) prim_line_adj(asmblr, i0, i1, i2, i3)
-#define TRIANGLE_ADJ(flags,i0,i1,i2,i3,i4,i5) prim_tri_adj(asmblr,i0,i1,i2,i3,i4,i5)
#include "draw_decompose_tmp.h"