draw: kill off unneded prim assembler code for handling adjacency verts
The default macros when the adjacency macros aren't defined will already exactly do that (that is, drop the adjacent vertices and call the non-adjacent macro). Reviewed-by: Jose Fonseca <jfonseca@vmwarec.com>
This commit is contained in:
@@ -171,31 +171,6 @@ prim_line(struct draw_assembler *asmblr,
|
||||
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)
|
||||
@@ -227,39 +202,6 @@ prim_tri(struct draw_assembler *asmblr,
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,5 @@
|
||||
#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"
|
||||
|
||||
Reference in New Issue
Block a user