[Mesa-dev] [PATCH 1/4] draw: kill off unneded prim assembler code for handling adjacency verts

sroland at vmware.com sroland at vmware.com
Mon Dec 1 17:31:07 PST 2014


From: Roland Scheidegger <sroland at vmware.com>

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).
---
 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"
-- 
1.9.1



More information about the mesa-dev mailing list