tgsi/ureg: make the dst register match the src indirection
[mesa.git] / src / gallium / auxiliary / draw / draw_pt_util.c
index 3236d38e6abdbee11b347b294e1dc87bf25f4006..513bbbed216780aee720c308d804b072fe49b6e3 100644 (file)
@@ -53,7 +53,7 @@ void draw_pt_split_prim(unsigned prim, unsigned *first, unsigned *incr)
       break;
    case PIPE_PRIM_LINES_ADJACENCY:
       *first = 4;
-      *incr = 2;
+      *incr = 4;
       break;
    case PIPE_PRIM_LINE_STRIP_ADJACENCY:
       *first = 4;
@@ -65,7 +65,7 @@ void draw_pt_split_prim(unsigned prim, unsigned *first, unsigned *incr)
       break;
    case PIPE_PRIM_TRIANGLES_ADJACENCY:
       *first = 6;
-      *incr = 3;
+      *incr = 6;
       break;
    case PIPE_PRIM_TRIANGLE_STRIP:
    case PIPE_PRIM_TRIANGLE_FAN:
@@ -75,7 +75,7 @@ void draw_pt_split_prim(unsigned prim, unsigned *first, unsigned *incr)
       break;
    case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
       *first = 6;
-      *incr = 1;
+      *incr = 2;
       break;
    case PIPE_PRIM_QUADS:
       *first = 4;
@@ -92,3 +92,10 @@ void draw_pt_split_prim(unsigned prim, unsigned *first, unsigned *incr)
       break;
    }
 }
+
+unsigned draw_pt_trim_count(unsigned count, unsigned first, unsigned incr)
+{
+   if (count < first)
+      return 0;
+   return count - (count - first) % incr;
+}