From 3fdbad1142224f4cae9f97b75b94afba353ab392 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Mon, 1 Dec 2014 23:13:55 +0100 Subject: [PATCH] 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 --- src/gallium/auxiliary/draw/draw_prim_assembler.c | 58 ---------------------- .../auxiliary/draw/draw_prim_assembler_tmp.h | 2 - 2 files changed, 60 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_prim_assembler.c b/src/gallium/auxiliary/draw/draw_prim_assembler.c index eba441c..c609a77 100644 --- a/src/gallium/auxiliary/draw/draw_prim_assembler.c +++ b/src/gallium/auxiliary/draw/draw_prim_assembler.c @@ -172,31 +172,6 @@ prim_line(struct draw_assembler *asmblr, } 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) { diff --git a/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h b/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h index 5bbacff..bff6d55 100644 --- a/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h +++ b/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h @@ -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" -- 2.7.4