util/prim: fix decomposed counts for adjacency primitives
authorZack Rusin <zackr@vmware.com>
Thu, 18 Apr 2013 10:03:14 +0000 (03:03 -0700)
committerZack Rusin <zackr@vmware.com>
Thu, 18 Apr 2013 18:37:37 +0000 (11:37 -0700)
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/util/u_prim.h

index 99bb66c9b8974e0686d59ce829e691385b9de4dd..507d12e8096d8f36b007ead1964ef455a08088a1 100644 (file)
@@ -190,13 +190,13 @@ u_decomposed_prims_for_vertices(int primitive, int vertices)
    case PIPE_PRIM_TRIANGLE_FAN:
       return (vertices > 2) ? vertices - 2 : 0;
    case PIPE_PRIM_LINES_ADJACENCY:
-      return vertices / 2;
+      return vertices / 4;
    case PIPE_PRIM_LINE_STRIP_ADJACENCY:
-      return (vertices > 1) ? vertices - 1 : 0;
+      return (vertices > 3) ? vertices - 3 : 0;
    case PIPE_PRIM_TRIANGLES_ADJACENCY:
-      return vertices / 3;
+      return vertices / 6;
    case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
-      return (vertices > 2) ? vertices - 2 : 0;
+      return (vertices > 5) ? 1 + (vertices - 6)/2 : 0;
    case PIPE_PRIM_QUADS:
       return vertices / 4;
    case PIPE_PRIM_QUAD_STRIP: