summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/auxiliary/indices
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2017-08-26 16:59:42 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2017-08-26 16:59:42 +0000
commit81ece42815e80818f160cdd85fab57d65b56ad15 (patch)
tree1059ff094da1aa50334115952fcb1cfcbda3acc6 /lib/mesa/src/gallium/auxiliary/indices
parentb0244145d5bb49623d58f6b5cab8143ada692b60 (diff)
Revert to Mesa 13.0.6 to hopefully address rendering issues a handful of
people have reported with xpdf/fvwm on ivy bridge with modesetting driver.
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/indices')
-rw-r--r--lib/mesa/src/gallium/auxiliary/indices/u_indices.c114
-rw-r--r--lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.c5224
-rw-r--r--lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.py83
-rw-r--r--lib/mesa/src/gallium/auxiliary/indices/u_primconvert.c5
-rw-r--r--lib/mesa/src/gallium/auxiliary/indices/u_unfilled_gen.py26
5 files changed, 5403 insertions, 49 deletions
diff --git a/lib/mesa/src/gallium/auxiliary/indices/u_indices.c b/lib/mesa/src/gallium/auxiliary/indices/u_indices.c
index c25594b4b..cb9e460d0 100644
--- a/lib/mesa/src/gallium/auxiliary/indices/u_indices.c
+++ b/lib/mesa/src/gallium/auxiliary/indices/u_indices.c
@@ -55,6 +55,8 @@ static void translate_memcpy_uint( const void *in,
* - Translate from first provoking vertex to last provoking vertex and
* vice versa.
*
+ * Note that this function is used for indexed primitives.
+ *
* \param hw_mask mask of (1 << PIPE_PRIM_x) flags indicating which types
* of primitives are supported by the hardware.
* \param prim incoming PIPE_PRIM_x
@@ -68,17 +70,18 @@ static void translate_memcpy_uint( const void *in,
* \param out_nr returns number of new vertices
* \param out_translate returns the translation function to use by the caller
*/
-int u_index_translator( unsigned hw_mask,
- unsigned prim,
- unsigned in_index_size,
- unsigned nr,
- unsigned in_pv,
- unsigned out_pv,
- unsigned prim_restart,
- unsigned *out_prim,
- unsigned *out_index_size,
- unsigned *out_nr,
- u_translate_func *out_translate )
+enum indices_mode
+u_index_translator(unsigned hw_mask,
+ enum pipe_prim_type prim,
+ unsigned in_index_size,
+ unsigned nr,
+ unsigned in_pv,
+ unsigned out_pv,
+ unsigned prim_restart,
+ enum pipe_prim_type *out_prim,
+ unsigned *out_index_size,
+ unsigned *out_nr,
+ u_translate_func *out_translate)
{
unsigned in_idx;
unsigned out_idx;
@@ -110,70 +113,81 @@ int u_index_translator( unsigned hw_mask,
return U_TRANSLATE_MEMCPY;
}
else {
+ *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
+
switch (prim) {
case PIPE_PRIM_POINTS:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_POINTS;
*out_nr = nr;
break;
case PIPE_PRIM_LINES:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = nr;
break;
case PIPE_PRIM_LINE_STRIP:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = (nr - 1) * 2;
break;
case PIPE_PRIM_LINE_LOOP:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = nr * 2;
break;
case PIPE_PRIM_TRIANGLES:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = nr;
break;
case PIPE_PRIM_TRIANGLE_STRIP:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
break;
case PIPE_PRIM_TRIANGLE_FAN:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
break;
case PIPE_PRIM_QUADS:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr / 4) * 6;
break;
case PIPE_PRIM_QUAD_STRIP:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
break;
case PIPE_PRIM_POLYGON:
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
break;
+ case PIPE_PRIM_LINES_ADJACENCY:
+ *out_prim = PIPE_PRIM_LINES_ADJACENCY;
+ *out_nr = nr;
+ break;
+
+ case PIPE_PRIM_LINE_STRIP_ADJACENCY:
+ *out_prim = PIPE_PRIM_LINES_ADJACENCY;
+ *out_nr = (nr - 3) * 4;
+ break;
+
+ case PIPE_PRIM_TRIANGLES_ADJACENCY:
+ *out_prim = PIPE_PRIM_TRIANGLES_ADJACENCY;
+ *out_nr = nr;
+ break;
+
+ case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
+ *out_prim = PIPE_PRIM_TRIANGLES_ADJACENCY;
+ *out_nr = ((nr - 4) / 2) * 6;
+ break;
+
default:
assert(0);
- *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim];
*out_prim = PIPE_PRIM_POINTS;
*out_nr = nr;
return U_TRANSLATE_ERROR;
@@ -192,6 +206,8 @@ int u_index_translator( unsigned hw_mask,
* The generator functions generates a number of ushort or uint indexes
* for drawing the new type of primitive.
*
+ * Note that this function is used for non-indexed primitives.
+ *
* \param hw_mask a bitmask of (1 << PIPE_PRIM_x) values that indicates
* kind of primitives are supported by the driver.
* \param prim the PIPE_PRIM_x that the user wants to draw
@@ -204,17 +220,17 @@ int u_index_translator( unsigned hw_mask,
* \param out_nr returns new number of vertices to draw
* \param out_generate returns pointer to the generator function
*/
-int u_index_generator( unsigned hw_mask,
- unsigned prim,
- unsigned start,
- unsigned nr,
- unsigned in_pv,
- unsigned out_pv,
- unsigned *out_prim,
- unsigned *out_index_size,
- unsigned *out_nr,
- u_generate_func *out_generate )
-
+enum indices_mode
+u_index_generator(unsigned hw_mask,
+ enum pipe_prim_type prim,
+ unsigned start,
+ unsigned nr,
+ unsigned in_pv,
+ unsigned out_pv,
+ enum pipe_prim_type *out_prim,
+ unsigned *out_index_size,
+ unsigned *out_nr,
+ u_generate_func *out_generate)
{
unsigned out_idx;
@@ -232,67 +248,79 @@ int u_index_generator( unsigned hw_mask,
return U_GENERATE_LINEAR;
}
else {
+ *out_generate = generate[out_idx][in_pv][out_pv][prim];
+
switch (prim) {
case PIPE_PRIM_POINTS:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_POINTS;
*out_nr = nr;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_LINES:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = nr;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_LINE_STRIP:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = (nr - 1) * 2;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_LINE_LOOP:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_LINES;
*out_nr = nr * 2;
return U_GENERATE_ONE_OFF;
case PIPE_PRIM_TRIANGLES:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = nr;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_TRIANGLE_STRIP:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_TRIANGLE_FAN:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_QUADS:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr / 4) * 6;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_QUAD_STRIP:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
return U_GENERATE_REUSABLE;
case PIPE_PRIM_POLYGON:
- *out_generate = generate[out_idx][in_pv][out_pv][prim];
*out_prim = PIPE_PRIM_TRIANGLES;
*out_nr = (nr - 2) * 3;
return U_GENERATE_REUSABLE;
+ case PIPE_PRIM_LINES_ADJACENCY:
+ *out_prim = PIPE_PRIM_LINES_ADJACENCY;
+ *out_nr = nr;
+ return U_GENERATE_REUSABLE;
+
+ case PIPE_PRIM_LINE_STRIP_ADJACENCY:
+ *out_prim = PIPE_PRIM_LINES_ADJACENCY;
+ *out_nr = (nr - 3) * 4;
+ return U_GENERATE_REUSABLE;
+
+ case PIPE_PRIM_TRIANGLES_ADJACENCY:
+ *out_prim = PIPE_PRIM_TRIANGLES_ADJACENCY;
+ *out_nr = nr;
+ return U_GENERATE_REUSABLE;
+
+ case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY:
+ *out_prim = PIPE_PRIM_TRIANGLES_ADJACENCY;
+ *out_nr = ((nr - 4) / 2) * 6;
+ return U_GENERATE_REUSABLE;
+
default:
assert(0);
*out_generate = generate[out_idx][in_pv][out_pv][PIPE_PRIM_POINTS];
diff --git a/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.c b/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.c
index 2ecf56a9d..91fdebe0f 100644
--- a/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.c
+++ b/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.c
@@ -207,6 +207,81 @@ static void generate_polygon_ushort_first2first(
(out+j)[2] = (ushort)(i+2);
}
}
+static void generate_linesadj_ushort_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)(i+0);
+ (out+i)[1] = (ushort)(i+1);
+ (out+i)[2] = (ushort)(i+2);
+ (out+i)[3] = (ushort)(i+3);
+ }
+}
+static void generate_linestripadj_ushort_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)(i+0);
+ (out+j)[1] = (ushort)(i+1);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i+3);
+ }
+}
+static void generate_trisadj_ushort_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)(i+0);
+ (out+i)[1] = (ushort)(i+1);
+ (out+i)[2] = (ushort)(i+2);
+ (out+i)[3] = (ushort)(i+3);
+ (out+i)[4] = (ushort)(i+4);
+ (out+i)[5] = (ushort)(i+5);
+ }
+}
+static void generate_tristripadj_ushort_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)(i+0);
+ (out+j)[1] = (ushort)(i+1);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i+3);
+ (out+j)[4] = (ushort)(i+4);
+ (out+j)[5] = (ushort)(i+5);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)(i+2);
+ (out+j)[1] = (ushort)(i-2);
+ (out+j)[2] = (ushort)(i+0);
+ (out+j)[3] = (ushort)(i+3);
+ (out+j)[4] = (ushort)(i+4);
+ (out+j)[5] = (ushort)(i+6);
+ }
+ }
+}
static void generate_points_ushort_first2last(
unsigned start,
unsigned out_nr,
@@ -350,6 +425,81 @@ static void generate_polygon_ushort_first2last(
(out+j)[2] = (ushort)(start);
}
}
+static void generate_linesadj_ushort_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)(i+3);
+ (out+i)[1] = (ushort)(i+2);
+ (out+i)[2] = (ushort)(i+1);
+ (out+i)[3] = (ushort)(i+0);
+ }
+}
+static void generate_linestripadj_ushort_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)(i+3);
+ (out+j)[1] = (ushort)(i+2);
+ (out+j)[2] = (ushort)(i+1);
+ (out+j)[3] = (ushort)(i+0);
+ }
+}
+static void generate_trisadj_ushort_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)(i+4);
+ (out+i)[1] = (ushort)(i+5);
+ (out+i)[2] = (ushort)(i+0);
+ (out+i)[3] = (ushort)(i+1);
+ (out+i)[4] = (ushort)(i+2);
+ (out+i)[5] = (ushort)(i+3);
+ }
+}
+static void generate_tristripadj_ushort_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)(i+4);
+ (out+j)[1] = (ushort)(i+5);
+ (out+j)[2] = (ushort)(i+0);
+ (out+j)[3] = (ushort)(i+1);
+ (out+j)[4] = (ushort)(i+2);
+ (out+j)[5] = (ushort)(i+3);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)(i+4);
+ (out+j)[1] = (ushort)(i+6);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i-2);
+ (out+j)[4] = (ushort)(i+0);
+ (out+j)[5] = (ushort)(i+3);
+ }
+ }
+}
static void generate_points_ushort_last2first(
unsigned start,
unsigned out_nr,
@@ -493,6 +643,81 @@ static void generate_polygon_ushort_last2first(
(out+j)[2] = (ushort)(i+2);
}
}
+static void generate_linesadj_ushort_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)(i+3);
+ (out+i)[1] = (ushort)(i+2);
+ (out+i)[2] = (ushort)(i+1);
+ (out+i)[3] = (ushort)(i+0);
+ }
+}
+static void generate_linestripadj_ushort_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)(i+3);
+ (out+j)[1] = (ushort)(i+2);
+ (out+j)[2] = (ushort)(i+1);
+ (out+j)[3] = (ushort)(i+0);
+ }
+}
+static void generate_trisadj_ushort_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)(i+4);
+ (out+i)[1] = (ushort)(i+5);
+ (out+i)[2] = (ushort)(i+0);
+ (out+i)[3] = (ushort)(i+1);
+ (out+i)[4] = (ushort)(i+2);
+ (out+i)[5] = (ushort)(i+3);
+ }
+}
+static void generate_tristripadj_ushort_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)(i+4);
+ (out+j)[1] = (ushort)(i+5);
+ (out+j)[2] = (ushort)(i+0);
+ (out+j)[3] = (ushort)(i+1);
+ (out+j)[4] = (ushort)(i+2);
+ (out+j)[5] = (ushort)(i+3);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)(i+4);
+ (out+j)[1] = (ushort)(i+6);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i-2);
+ (out+j)[4] = (ushort)(i+0);
+ (out+j)[5] = (ushort)(i+3);
+ }
+ }
+}
static void generate_points_ushort_last2last(
unsigned start,
unsigned out_nr,
@@ -636,6 +861,81 @@ static void generate_polygon_ushort_last2last(
(out+j)[2] = (ushort)(start);
}
}
+static void generate_linesadj_ushort_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)(i+0);
+ (out+i)[1] = (ushort)(i+1);
+ (out+i)[2] = (ushort)(i+2);
+ (out+i)[3] = (ushort)(i+3);
+ }
+}
+static void generate_linestripadj_ushort_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)(i+0);
+ (out+j)[1] = (ushort)(i+1);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i+3);
+ }
+}
+static void generate_trisadj_ushort_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)(i+0);
+ (out+i)[1] = (ushort)(i+1);
+ (out+i)[2] = (ushort)(i+2);
+ (out+i)[3] = (ushort)(i+3);
+ (out+i)[4] = (ushort)(i+4);
+ (out+i)[5] = (ushort)(i+5);
+ }
+}
+static void generate_tristripadj_ushort_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)(i+0);
+ (out+j)[1] = (ushort)(i+1);
+ (out+j)[2] = (ushort)(i+2);
+ (out+j)[3] = (ushort)(i+3);
+ (out+j)[4] = (ushort)(i+4);
+ (out+j)[5] = (ushort)(i+5);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)(i+2);
+ (out+j)[1] = (ushort)(i-2);
+ (out+j)[2] = (ushort)(i+0);
+ (out+j)[3] = (ushort)(i+3);
+ (out+j)[4] = (ushort)(i+4);
+ (out+j)[5] = (ushort)(i+6);
+ }
+ }
+}
static void generate_points_uint_first2first(
unsigned start,
unsigned out_nr,
@@ -779,6 +1079,81 @@ static void generate_polygon_uint_first2first(
(out+j)[2] = (uint)(i+2);
}
}
+static void generate_linesadj_uint_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)(i+0);
+ (out+i)[1] = (uint)(i+1);
+ (out+i)[2] = (uint)(i+2);
+ (out+i)[3] = (uint)(i+3);
+ }
+}
+static void generate_linestripadj_uint_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)(i+0);
+ (out+j)[1] = (uint)(i+1);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i+3);
+ }
+}
+static void generate_trisadj_uint_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)(i+0);
+ (out+i)[1] = (uint)(i+1);
+ (out+i)[2] = (uint)(i+2);
+ (out+i)[3] = (uint)(i+3);
+ (out+i)[4] = (uint)(i+4);
+ (out+i)[5] = (uint)(i+5);
+ }
+}
+static void generate_tristripadj_uint_first2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)(i+0);
+ (out+j)[1] = (uint)(i+1);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i+3);
+ (out+j)[4] = (uint)(i+4);
+ (out+j)[5] = (uint)(i+5);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)(i+2);
+ (out+j)[1] = (uint)(i-2);
+ (out+j)[2] = (uint)(i+0);
+ (out+j)[3] = (uint)(i+3);
+ (out+j)[4] = (uint)(i+4);
+ (out+j)[5] = (uint)(i+6);
+ }
+ }
+}
static void generate_points_uint_first2last(
unsigned start,
unsigned out_nr,
@@ -922,6 +1297,81 @@ static void generate_polygon_uint_first2last(
(out+j)[2] = (uint)(start);
}
}
+static void generate_linesadj_uint_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)(i+3);
+ (out+i)[1] = (uint)(i+2);
+ (out+i)[2] = (uint)(i+1);
+ (out+i)[3] = (uint)(i+0);
+ }
+}
+static void generate_linestripadj_uint_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)(i+3);
+ (out+j)[1] = (uint)(i+2);
+ (out+j)[2] = (uint)(i+1);
+ (out+j)[3] = (uint)(i+0);
+ }
+}
+static void generate_trisadj_uint_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)(i+4);
+ (out+i)[1] = (uint)(i+5);
+ (out+i)[2] = (uint)(i+0);
+ (out+i)[3] = (uint)(i+1);
+ (out+i)[4] = (uint)(i+2);
+ (out+i)[5] = (uint)(i+3);
+ }
+}
+static void generate_tristripadj_uint_first2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)(i+4);
+ (out+j)[1] = (uint)(i+5);
+ (out+j)[2] = (uint)(i+0);
+ (out+j)[3] = (uint)(i+1);
+ (out+j)[4] = (uint)(i+2);
+ (out+j)[5] = (uint)(i+3);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)(i+4);
+ (out+j)[1] = (uint)(i+6);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i-2);
+ (out+j)[4] = (uint)(i+0);
+ (out+j)[5] = (uint)(i+3);
+ }
+ }
+}
static void generate_points_uint_last2first(
unsigned start,
unsigned out_nr,
@@ -1065,6 +1515,81 @@ static void generate_polygon_uint_last2first(
(out+j)[2] = (uint)(i+2);
}
}
+static void generate_linesadj_uint_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)(i+3);
+ (out+i)[1] = (uint)(i+2);
+ (out+i)[2] = (uint)(i+1);
+ (out+i)[3] = (uint)(i+0);
+ }
+}
+static void generate_linestripadj_uint_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)(i+3);
+ (out+j)[1] = (uint)(i+2);
+ (out+j)[2] = (uint)(i+1);
+ (out+j)[3] = (uint)(i+0);
+ }
+}
+static void generate_trisadj_uint_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)(i+4);
+ (out+i)[1] = (uint)(i+5);
+ (out+i)[2] = (uint)(i+0);
+ (out+i)[3] = (uint)(i+1);
+ (out+i)[4] = (uint)(i+2);
+ (out+i)[5] = (uint)(i+3);
+ }
+}
+static void generate_tristripadj_uint_last2first(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)(i+4);
+ (out+j)[1] = (uint)(i+5);
+ (out+j)[2] = (uint)(i+0);
+ (out+j)[3] = (uint)(i+1);
+ (out+j)[4] = (uint)(i+2);
+ (out+j)[5] = (uint)(i+3);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)(i+4);
+ (out+j)[1] = (uint)(i+6);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i-2);
+ (out+j)[4] = (uint)(i+0);
+ (out+j)[5] = (uint)(i+3);
+ }
+ }
+}
static void generate_points_uint_last2last(
unsigned start,
unsigned out_nr,
@@ -1208,6 +1733,81 @@ static void generate_polygon_uint_last2last(
(out+j)[2] = (uint)(start);
}
}
+static void generate_linesadj_uint_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)(i+0);
+ (out+i)[1] = (uint)(i+1);
+ (out+i)[2] = (uint)(i+2);
+ (out+i)[3] = (uint)(i+3);
+ }
+}
+static void generate_linestripadj_uint_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)(i+0);
+ (out+j)[1] = (uint)(i+1);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i+3);
+ }
+}
+static void generate_trisadj_uint_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)(i+0);
+ (out+i)[1] = (uint)(i+1);
+ (out+i)[2] = (uint)(i+2);
+ (out+i)[3] = (uint)(i+3);
+ (out+i)[4] = (uint)(i+4);
+ (out+i)[5] = (uint)(i+5);
+ }
+}
+static void generate_tristripadj_uint_last2last(
+ unsigned start,
+ unsigned out_nr,
+ void *_out )
+{
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)(i+0);
+ (out+j)[1] = (uint)(i+1);
+ (out+j)[2] = (uint)(i+2);
+ (out+j)[3] = (uint)(i+3);
+ (out+j)[4] = (uint)(i+4);
+ (out+j)[5] = (uint)(i+5);
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)(i+2);
+ (out+j)[1] = (uint)(i-2);
+ (out+j)[2] = (uint)(i+0);
+ (out+j)[3] = (uint)(i+3);
+ (out+j)[4] = (uint)(i+4);
+ (out+j)[5] = (uint)(i+6);
+ }
+ }
+}
static void translate_points_ubyte2ushort_first2first_prdisable(
const void * _in,
unsigned start,
@@ -1391,6 +1991,97 @@ static void translate_polygon_ubyte2ushort_first2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ubyte2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2ushort_first2first_prenable(
const void * _in,
unsigned start,
@@ -1648,6 +2339,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ubyte2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2ushort_first2last_prdisable(
const void * _in,
unsigned start,
@@ -1831,6 +2613,97 @@ static void translate_polygon_ubyte2ushort_first2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ubyte2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2ushort_first2last_prenable(
const void * _in,
unsigned start,
@@ -2088,6 +2961,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ubyte2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2ushort_last2first_prdisable(
const void * _in,
unsigned start,
@@ -2271,6 +3235,97 @@ static void translate_polygon_ubyte2ushort_last2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ubyte2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2ushort_last2first_prenable(
const void * _in,
unsigned start,
@@ -2528,6 +3583,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ubyte2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2ushort_last2last_prdisable(
const void * _in,
unsigned start,
@@ -2711,6 +3857,97 @@ static void translate_polygon_ubyte2ushort_last2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ubyte2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2ushort_last2last_prenable(
const void * _in,
unsigned start,
@@ -2968,6 +4205,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ubyte2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2uint_first2first_prdisable(
const void * _in,
unsigned start,
@@ -3151,6 +4479,97 @@ static void translate_polygon_ubyte2uint_first2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ubyte2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2uint_first2first_prenable(
const void * _in,
unsigned start,
@@ -3408,6 +4827,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ubyte2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2uint_first2last_prdisable(
const void * _in,
unsigned start,
@@ -3591,6 +5101,97 @@ static void translate_polygon_ubyte2uint_first2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ubyte2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2uint_first2last_prenable(
const void * _in,
unsigned start,
@@ -3848,6 +5449,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ubyte2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2uint_last2first_prdisable(
const void * _in,
unsigned start,
@@ -4031,6 +5723,97 @@ static void translate_polygon_ubyte2uint_last2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ubyte2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2uint_last2first_prenable(
const void * _in,
unsigned start,
@@ -4288,6 +6071,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ubyte2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ubyte2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ubyte2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ubyte2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ubyte2uint_last2last_prdisable(
const void * _in,
unsigned start,
@@ -4471,6 +6345,97 @@ static void translate_polygon_ubyte2uint_last2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ubyte2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ubyte2uint_last2last_prenable(
const void * _in,
unsigned start,
@@ -4728,6 +6693,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ubyte2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ubyte2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ubyte2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ubyte2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ubyte*in = (const ubyte*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2ushort_first2first_prdisable(
const void * _in,
unsigned start,
@@ -4911,6 +6967,97 @@ static void translate_polygon_ushort2ushort_first2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ushort2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2ushort_first2first_prenable(
const void * _in,
unsigned start,
@@ -5168,6 +7315,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ushort2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2ushort_first2last_prdisable(
const void * _in,
unsigned start,
@@ -5351,6 +7589,97 @@ static void translate_polygon_ushort2ushort_first2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ushort2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2ushort_first2last_prenable(
const void * _in,
unsigned start,
@@ -5608,6 +7937,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ushort2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2ushort_last2first_prdisable(
const void * _in,
unsigned start,
@@ -5791,6 +8211,97 @@ static void translate_polygon_ushort2ushort_last2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ushort2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2ushort_last2first_prenable(
const void * _in,
unsigned start,
@@ -6048,6 +8559,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_ushort2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2ushort_last2last_prdisable(
const void * _in,
unsigned start,
@@ -6231,6 +8833,97 @@ static void translate_polygon_ushort2ushort_last2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ushort2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2ushort_last2last_prenable(
const void * _in,
unsigned start,
@@ -6488,6 +9181,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_ushort2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2uint_first2first_prdisable(
const void * _in,
unsigned start,
@@ -6671,6 +9455,97 @@ static void translate_polygon_ushort2uint_first2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ushort2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2uint_first2first_prenable(
const void * _in,
unsigned start,
@@ -6928,6 +9803,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ushort2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2uint_first2last_prdisable(
const void * _in,
unsigned start,
@@ -7111,6 +10077,97 @@ static void translate_polygon_ushort2uint_first2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ushort2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2uint_first2last_prenable(
const void * _in,
unsigned start,
@@ -7368,6 +10425,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ushort2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2uint_last2first_prdisable(
const void * _in,
unsigned start,
@@ -7551,6 +10699,97 @@ static void translate_polygon_ushort2uint_last2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ushort2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2uint_last2first_prenable(
const void * _in,
unsigned start,
@@ -7808,6 +11047,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_ushort2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_ushort2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_ushort2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_ushort2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_ushort2uint_last2last_prdisable(
const void * _in,
unsigned start,
@@ -7991,6 +11321,97 @@ static void translate_polygon_ushort2uint_last2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ushort2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_ushort2uint_last2last_prenable(
const void * _in,
unsigned start,
@@ -8248,6 +11669,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_ushort2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_ushort2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_ushort2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_ushort2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const ushort*in = (const ushort*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_uint2ushort_first2first_prdisable(
const void * _in,
unsigned start,
@@ -8431,6 +11943,97 @@ static void translate_polygon_uint2ushort_first2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_uint2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_uint2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2ushort_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_uint2ushort_first2first_prenable(
const void * _in,
unsigned start,
@@ -8688,6 +12291,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_uint2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_uint2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2ushort_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_uint2ushort_first2last_prdisable(
const void * _in,
unsigned start,
@@ -8871,6 +12565,97 @@ static void translate_polygon_uint2ushort_first2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_uint2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_uint2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2ushort_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_uint2ushort_first2last_prenable(
const void * _in,
unsigned start,
@@ -9128,6 +12913,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_uint2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_uint2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2ushort_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_uint2ushort_last2first_prdisable(
const void * _in,
unsigned start,
@@ -9311,6 +13187,97 @@ static void translate_polygon_uint2ushort_last2first_prdisable(
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_uint2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_uint2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2ushort_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_uint2ushort_last2first_prenable(
const void * _in,
unsigned start,
@@ -9568,6 +13535,97 @@ restart:
(out+j)[2] = (ushort)in[i+2];
}
}
+static void translate_linesadj_uint2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+3];
+ (out+i)[1] = (ushort)in[i+2];
+ (out+i)[2] = (ushort)in[i+1];
+ (out+i)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+3];
+ (out+j)[1] = (ushort)in[i+2];
+ (out+j)[2] = (ushort)in[i+1];
+ (out+j)[3] = (ushort)in[i+0];
+ }
+}
+static void translate_trisadj_uint2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+4];
+ (out+i)[1] = (ushort)in[i+5];
+ (out+i)[2] = (ushort)in[i+0];
+ (out+i)[3] = (ushort)in[i+1];
+ (out+i)[4] = (ushort)in[i+2];
+ (out+i)[5] = (ushort)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2ushort_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+5];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+1];
+ (out+j)[4] = (ushort)in[i+2];
+ (out+j)[5] = (ushort)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+4];
+ (out+j)[1] = (ushort)in[i+6];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i-2];
+ (out+j)[4] = (ushort)in[i+0];
+ (out+j)[5] = (ushort)in[i+3];
+ }
+ }
+}
static void translate_points_uint2ushort_last2last_prdisable(
const void * _in,
unsigned start,
@@ -9751,6 +13809,97 @@ static void translate_polygon_uint2ushort_last2last_prdisable(
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_uint2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_uint2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2ushort_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_uint2ushort_last2last_prenable(
const void * _in,
unsigned start,
@@ -10008,6 +14157,97 @@ restart:
(out+j)[2] = (ushort)in[start];
}
}
+static void translate_linesadj_uint2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ }
+}
+static void translate_trisadj_uint2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (ushort)in[i+0];
+ (out+i)[1] = (ushort)in[i+1];
+ (out+i)[2] = (ushort)in[i+2];
+ (out+i)[3] = (ushort)in[i+3];
+ (out+i)[4] = (ushort)in[i+4];
+ (out+i)[5] = (ushort)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2ushort_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ ushort *out = (ushort*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (ushort)in[i+0];
+ (out+j)[1] = (ushort)in[i+1];
+ (out+j)[2] = (ushort)in[i+2];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (ushort)in[i+2];
+ (out+j)[1] = (ushort)in[i-2];
+ (out+j)[2] = (ushort)in[i+0];
+ (out+j)[3] = (ushort)in[i+3];
+ (out+j)[4] = (ushort)in[i+4];
+ (out+j)[5] = (ushort)in[i+6];
+ }
+ }
+}
static void translate_points_uint2uint_first2first_prdisable(
const void * _in,
unsigned start,
@@ -10191,6 +14431,97 @@ static void translate_polygon_uint2uint_first2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_uint2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_uint2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2uint_first2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_uint2uint_first2first_prenable(
const void * _in,
unsigned start,
@@ -10448,6 +14779,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_uint2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_uint2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2uint_first2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_uint2uint_first2last_prdisable(
const void * _in,
unsigned start,
@@ -10631,6 +15053,97 @@ static void translate_polygon_uint2uint_first2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_uint2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_uint2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2uint_first2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_uint2uint_first2last_prenable(
const void * _in,
unsigned start,
@@ -10888,6 +15401,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_uint2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_uint2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2uint_first2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_uint2uint_last2first_prdisable(
const void * _in,
unsigned start,
@@ -11071,6 +15675,97 @@ static void translate_polygon_uint2uint_last2first_prdisable(
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_uint2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_uint2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2uint_last2first_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_uint2uint_last2first_prenable(
const void * _in,
unsigned start,
@@ -11328,6 +16023,97 @@ restart:
(out+j)[2] = (uint)in[i+2];
}
}
+static void translate_linesadj_uint2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+3];
+ (out+i)[1] = (uint)in[i+2];
+ (out+i)[2] = (uint)in[i+1];
+ (out+i)[3] = (uint)in[i+0];
+ }
+}
+static void translate_linestripadj_uint2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+3];
+ (out+j)[1] = (uint)in[i+2];
+ (out+j)[2] = (uint)in[i+1];
+ (out+j)[3] = (uint)in[i+0];
+ }
+}
+static void translate_trisadj_uint2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+4];
+ (out+i)[1] = (uint)in[i+5];
+ (out+i)[2] = (uint)in[i+0];
+ (out+i)[3] = (uint)in[i+1];
+ (out+i)[4] = (uint)in[i+2];
+ (out+i)[5] = (uint)in[i+3];
+ }
+}
+static void translate_tristripadj_uint2uint_last2first_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+5];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+1];
+ (out+j)[4] = (uint)in[i+2];
+ (out+j)[5] = (uint)in[i+3];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+4];
+ (out+j)[1] = (uint)in[i+6];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i-2];
+ (out+j)[4] = (uint)in[i+0];
+ (out+j)[5] = (uint)in[i+3];
+ }
+ }
+}
static void translate_points_uint2uint_last2last_prdisable(
const void * _in,
unsigned start,
@@ -11511,6 +16297,97 @@ static void translate_polygon_uint2uint_last2last_prdisable(
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_uint2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_uint2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2uint_last2last_prdisable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
static void translate_points_uint2uint_last2last_prenable(
const void * _in,
unsigned start,
@@ -11768,6 +16645,97 @@ restart:
(out+j)[2] = (uint)in[start];
}
}
+static void translate_linesadj_uint2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=4) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ }
+}
+static void translate_linestripadj_uint2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; j+=4, i++) {
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ }
+}
+static void translate_trisadj_uint2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start; i < (out_nr+start); i+=6) {
+ (out+i)[0] = (uint)in[i+0];
+ (out+i)[1] = (uint)in[i+1];
+ (out+i)[2] = (uint)in[i+2];
+ (out+i)[3] = (uint)in[i+3];
+ (out+i)[4] = (uint)in[i+4];
+ (out+i)[5] = (uint)in[i+5];
+ }
+}
+static void translate_tristripadj_uint2uint_last2last_prenable(
+ const void * _in,
+ unsigned start,
+ unsigned in_nr,
+ unsigned out_nr,
+ unsigned restart_index,
+ void *_out )
+{
+ const uint*in = (const uint*)_in;
+ uint *out = (uint*)_out;
+ unsigned i, j;
+ (void)j;
+ for (i = start, j = 0; j < out_nr; i+=2, j+=6) {
+ if (i % 4 == 0) {
+ /* even triangle */
+ (out+j)[0] = (uint)in[i+0];
+ (out+j)[1] = (uint)in[i+1];
+ (out+j)[2] = (uint)in[i+2];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+5];
+ } else {
+ /* odd triangle */
+ (out+j)[0] = (uint)in[i+2];
+ (out+j)[1] = (uint)in[i-2];
+ (out+j)[2] = (uint)in[i+0];
+ (out+j)[3] = (uint)in[i+3];
+ (out+j)[4] = (uint)in[i+4];
+ (out+j)[5] = (uint)in[i+6];
+ }
+ }
+}
void u_index_init( void )
{
static int firsttime = 1;
@@ -11783,6 +16751,10 @@ generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tr
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_first2first;
@@ -11793,6 +16765,10 @@ generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tr
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_first2first;
+generate[OUT_USHORT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_first2first;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_first2last;
@@ -11803,6 +16779,10 @@ generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tri
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_first2last;
@@ -11813,6 +16793,10 @@ generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tri
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_first2last;
generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_first2last;
+generate[OUT_USHORT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_first2last;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_last2first;
@@ -11823,6 +16807,10 @@ generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tri
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_last2first;
@@ -11833,6 +16821,10 @@ generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tri
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_last2first;
+generate[OUT_USHORT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_last2first;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_last2last;
@@ -11843,6 +16835,10 @@ generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tris
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_ushort_last2last;
@@ -11853,6 +16849,10 @@ generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tris
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_ushort_last2last;
generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_ushort_last2last;
+generate[OUT_USHORT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_ushort_last2last;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_first2first;
@@ -11863,6 +16863,10 @@ generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tris
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_first2first;
@@ -11873,6 +16877,10 @@ generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tris
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_first2first;
+generate[OUT_UINT][PV_FIRST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_first2first;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_first2last;
@@ -11883,6 +16891,10 @@ generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_trist
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_first2last;
@@ -11893,6 +16905,10 @@ generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_trist
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_first2last;
generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_first2last;
+generate[OUT_UINT][PV_FIRST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_first2last;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_last2first;
@@ -11903,6 +16919,10 @@ generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_trist
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_POINTS] = generate_points_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES] = generate_lines_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_last2first;
@@ -11913,6 +16933,10 @@ generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP] = generate_trist
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_QUADS] = generate_quads_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_POLYGON] = generate_polygon_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_last2first;
+generate[OUT_UINT][PV_LAST][PV_FIRST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_last2first;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_last2last;
@@ -11923,6 +16947,10 @@ generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tristr
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_POINTS] = generate_points_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINES] = generate_lines_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP] = generate_linestrip_uint_last2last;
@@ -11933,6 +16961,10 @@ generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP] = generate_tristr
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_QUADS] = generate_quads_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_QUAD_STRIP] = generate_quadstrip_uint_last2last;
generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_POLYGON] = generate_polygon_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINES_ADJACENCY] = generate_linesadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_LINE_STRIP_ADJACENCY] = generate_linestripadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLES_ADJACENCY] = generate_trisadj_uint_last2last;
+generate[OUT_UINT][PV_LAST][PV_LAST][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = generate_tristripadj_uint_last2last;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_first2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_first2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_first2first_prdisable;
@@ -11943,6 +16975,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANG
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_first2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_first2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_first2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_first2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_first2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_first2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_first2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_first2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_first2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_first2first_prenable;
@@ -11953,6 +16989,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGL
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_first2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_first2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_first2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_first2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_first2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_first2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_first2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_first2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_first2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_first2last_prdisable;
@@ -11963,6 +17003,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGL
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_first2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_first2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_first2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_first2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_first2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_first2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_first2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_first2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_first2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_first2last_prenable;
@@ -11973,6 +17017,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_first2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_first2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_first2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_first2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_first2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_first2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_first2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_last2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_last2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_last2first_prdisable;
@@ -11983,6 +17031,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGL
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_last2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_last2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_last2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_last2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_last2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_last2first_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_last2first_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_last2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_last2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_last2first_prenable;
@@ -11993,6 +17045,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_last2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_last2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_last2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_last2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_last2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_last2first_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_last2first_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_last2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_last2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_last2last_prdisable;
@@ -12003,6 +17059,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_last2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_last2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_last2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_last2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_last2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_last2last_prdisable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_last2last_prdisable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2ushort_last2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2ushort_last2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2ushort_last2last_prenable;
@@ -12013,6 +17073,10 @@ translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2ushort_last2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2ushort_last2last_prenable;
translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2ushort_last2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2ushort_last2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2ushort_last2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2ushort_last2last_prenable;
+translate[IN_UBYTE][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2ushort_last2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_first2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_first2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_first2first_prdisable;
@@ -12023,6 +17087,10 @@ translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_first2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_first2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_first2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_first2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_first2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_first2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_first2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_first2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_first2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_first2first_prenable;
@@ -12033,6 +17101,10 @@ translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_first2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_first2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_first2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_first2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_first2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_first2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_first2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_first2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_first2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_first2last_prdisable;
@@ -12043,6 +17115,10 @@ translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_first2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_first2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_first2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_first2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_first2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_first2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_first2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_first2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_first2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_first2last_prenable;
@@ -12053,6 +17129,10 @@ translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_first2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_first2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_first2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_first2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_first2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_first2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_first2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_last2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_last2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_last2first_prdisable;
@@ -12063,6 +17143,10 @@ translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_last2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_last2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_last2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_last2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_last2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_last2first_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_last2first_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_last2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_last2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_last2first_prenable;
@@ -12073,6 +17157,10 @@ translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_last2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_last2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_last2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_last2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_last2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_last2first_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_last2first_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_last2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_last2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_last2last_prdisable;
@@ -12083,6 +17171,10 @@ translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_last2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_last2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_last2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_last2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_last2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_last2last_prdisable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_last2last_prdisable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ubyte2uint_last2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ubyte2uint_last2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ubyte2uint_last2last_prenable;
@@ -12093,6 +17185,10 @@ translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_ST
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ubyte2uint_last2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ubyte2uint_last2last_prenable;
translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ubyte2uint_last2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ubyte2uint_last2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ubyte2uint_last2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ubyte2uint_last2last_prenable;
+translate[IN_UBYTE][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ubyte2uint_last2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_first2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_first2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_first2first_prdisable;
@@ -12103,6 +17199,10 @@ translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIAN
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_first2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_first2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_first2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_first2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_first2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_first2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_first2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_first2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_first2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_first2first_prenable;
@@ -12113,6 +17213,10 @@ translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANG
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_first2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_first2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_first2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_first2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_first2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_first2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_first2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_first2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_first2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_first2last_prdisable;
@@ -12123,6 +17227,10 @@ translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANG
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_first2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_first2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_first2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_first2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_first2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_first2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_first2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_first2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_first2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_first2last_prenable;
@@ -12133,6 +17241,10 @@ translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGL
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_first2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_first2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_first2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_first2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_first2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_first2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_first2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_last2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_last2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_last2first_prdisable;
@@ -12143,6 +17255,10 @@ translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANG
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_last2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_last2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_last2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_last2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_last2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_last2first_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_last2first_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_last2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_last2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_last2first_prenable;
@@ -12153,6 +17269,10 @@ translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGL
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_last2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_last2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_last2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_last2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_last2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_last2first_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_last2first_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_last2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_last2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_last2last_prdisable;
@@ -12163,6 +17283,10 @@ translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGL
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_last2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_last2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_last2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_last2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_last2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_last2last_prdisable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_last2last_prdisable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2ushort_last2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2ushort_last2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2ushort_last2last_prenable;
@@ -12173,6 +17297,10 @@ translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2ushort_last2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2ushort_last2last_prenable;
translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2ushort_last2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2ushort_last2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2ushort_last2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2ushort_last2last_prenable;
+translate[IN_USHORT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2ushort_last2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_first2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_first2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_first2first_prdisable;
@@ -12183,6 +17311,10 @@ translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGL
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_first2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_first2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_first2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_first2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_first2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_first2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_first2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_first2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_first2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_first2first_prenable;
@@ -12193,6 +17325,10 @@ translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_first2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_first2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_first2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_first2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_first2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_first2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_first2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_first2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_first2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_first2last_prdisable;
@@ -12203,6 +17339,10 @@ translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_first2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_first2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_first2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_first2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_first2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_first2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_first2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_first2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_first2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_first2last_prenable;
@@ -12213,6 +17353,10 @@ translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_first2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_first2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_first2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_first2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_first2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_first2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_first2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_last2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_last2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_last2first_prdisable;
@@ -12223,6 +17367,10 @@ translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_last2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_last2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_last2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_last2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_last2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_last2first_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_last2first_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_last2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_last2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_last2first_prenable;
@@ -12233,6 +17381,10 @@ translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_last2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_last2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_last2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_last2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_last2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_last2first_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_last2first_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_last2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_last2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_last2last_prdisable;
@@ -12243,6 +17395,10 @@ translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_last2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_last2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_last2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_last2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_last2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_last2last_prdisable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_last2last_prdisable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_ushort2uint_last2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_ushort2uint_last2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_ushort2uint_last2last_prenable;
@@ -12253,6 +17409,10 @@ translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_ushort2uint_last2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_ushort2uint_last2last_prenable;
translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_ushort2uint_last2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_ushort2uint_last2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_ushort2uint_last2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_ushort2uint_last2last_prenable;
+translate[IN_USHORT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_ushort2uint_last2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_first2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_first2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_first2first_prdisable;
@@ -12263,6 +17423,10 @@ translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGL
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_first2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_first2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_first2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_first2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_first2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_first2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_first2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_first2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_first2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_first2first_prenable;
@@ -12273,6 +17437,10 @@ translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_first2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_first2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_first2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_first2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_first2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_first2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_first2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_first2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_first2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_first2last_prdisable;
@@ -12283,6 +17451,10 @@ translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_first2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_first2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_first2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_first2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_first2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_first2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_first2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_first2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_first2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_first2last_prenable;
@@ -12293,6 +17465,10 @@ translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_first2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_first2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_first2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_first2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_first2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_first2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_first2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_last2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_last2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_last2first_prdisable;
@@ -12303,6 +17479,10 @@ translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_last2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_last2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_last2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_last2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_last2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_last2first_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_last2first_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_last2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_last2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_last2first_prenable;
@@ -12313,6 +17493,10 @@ translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_last2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_last2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_last2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_last2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_last2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_last2first_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_last2first_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_last2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_last2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_last2last_prdisable;
@@ -12323,6 +17507,10 @@ translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_last2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_last2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_last2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_last2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_last2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_last2last_prdisable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_last2last_prdisable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2ushort_last2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2ushort_last2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2ushort_last2last_prenable;
@@ -12333,6 +17521,10 @@ translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2ushort_last2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2ushort_last2last_prenable;
translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2ushort_last2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2ushort_last2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2ushort_last2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2ushort_last2last_prenable;
+translate[IN_UINT][OUT_USHORT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2ushort_last2last_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_first2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_first2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_first2first_prdisable;
@@ -12343,6 +17535,10 @@ translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_first2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_first2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_first2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_first2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_first2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_first2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_first2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_first2first_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_first2first_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_first2first_prenable;
@@ -12353,6 +17549,10 @@ translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_first2first_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_first2first_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_first2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_first2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_first2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_first2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_first2first_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_first2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_first2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_first2last_prdisable;
@@ -12363,6 +17563,10 @@ translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_first2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_first2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_first2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_first2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_first2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_first2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_first2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_first2last_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_first2last_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_first2last_prenable;
@@ -12373,6 +17577,10 @@ translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_ST
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_first2last_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_first2last_prenable;
translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_first2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_first2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_first2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_first2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_FIRST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_first2last_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_last2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_last2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_last2first_prdisable;
@@ -12383,6 +17591,10 @@ translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_S
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_last2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_last2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_last2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_last2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_last2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_last2first_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_last2first_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_last2first_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_last2first_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_last2first_prenable;
@@ -12393,6 +17605,10 @@ translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_ST
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_last2first_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_last2first_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_last2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_last2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_last2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_last2first_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_FIRST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_last2first_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_last2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_last2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_last2last_prdisable;
@@ -12403,6 +17619,10 @@ translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_ST
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_last2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_last2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_last2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_last2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_last2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_last2last_prdisable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_DISABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_last2last_prdisable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POINTS] = translate_points_uint2uint_last2last_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES] = translate_lines_uint2uint_last2last_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP] = translate_linestrip_uint2uint_last2last_prenable;
@@ -12413,5 +17633,9 @@ translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STR
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUADS] = translate_quads_uint2uint_last2last_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_QUAD_STRIP] = translate_quadstrip_uint2uint_last2last_prenable;
translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_POLYGON] = translate_polygon_uint2uint_last2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINES_ADJACENCY] = translate_linesadj_uint2uint_last2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_LINE_STRIP_ADJACENCY] = translate_linestripadj_uint2uint_last2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLES_ADJACENCY] = translate_trisadj_uint2uint_last2last_prenable;
+translate[IN_UINT][OUT_UINT][PV_LAST][PV_LAST][PR_ENABLE][PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = translate_tristripadj_uint2uint_last2last_prenable;
}
#include "indices/u_indices.c"
diff --git a/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.py b/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.py
index 97c8e0d94..fb6b31016 100644
--- a/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.py
+++ b/lib/mesa/src/gallium/auxiliary/indices/u_indices_gen.py
@@ -42,7 +42,11 @@ PRIMS=('points',
'tristrip',
'quads',
'quadstrip',
- 'polygon')
+ 'polygon',
+ 'linesadj',
+ 'linestripadj',
+ 'trisadj',
+ 'tristripadj')
LONGPRIMS=('PIPE_PRIM_POINTS',
'PIPE_PRIM_LINES',
@@ -53,7 +57,11 @@ LONGPRIMS=('PIPE_PRIM_POINTS',
'PIPE_PRIM_TRIANGLE_STRIP',
'PIPE_PRIM_QUADS',
'PIPE_PRIM_QUAD_STRIP',
- 'PIPE_PRIM_POLYGON')
+ 'PIPE_PRIM_POLYGON',
+ 'PIPE_PRIM_LINES_ADJACENCY',
+ 'PIPE_PRIM_LINE_STRIP_ADJACENCY',
+ 'PIPE_PRIM_TRIANGLES_ADJACENCY',
+ 'PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY')
longprim = dict(zip(PRIMS, LONGPRIMS))
intype_idx = dict(ubyte='IN_UBYTE', ushort='IN_USHORT', uint='IN_UINT')
@@ -123,6 +131,20 @@ def tri( intype, outtype, ptr, v0, v1, v2 ):
print ' (' + ptr + ')[1] = ' + vert( intype, outtype, v1 ) + ';'
print ' (' + ptr + ')[2] = ' + vert( intype, outtype, v2 ) + ';'
+def lineadj( intype, outtype, ptr, v0, v1, v2, v3 ):
+ print ' (' + ptr + ')[0] = ' + vert( intype, outtype, v0 ) + ';'
+ print ' (' + ptr + ')[1] = ' + vert( intype, outtype, v1 ) + ';'
+ print ' (' + ptr + ')[2] = ' + vert( intype, outtype, v2 ) + ';'
+ print ' (' + ptr + ')[3] = ' + vert( intype, outtype, v3 ) + ';'
+
+def triadj( intype, outtype, ptr, v0, v1, v2, v3, v4, v5 ):
+ print ' (' + ptr + ')[0] = ' + vert( intype, outtype, v0 ) + ';'
+ print ' (' + ptr + ')[1] = ' + vert( intype, outtype, v1 ) + ';'
+ print ' (' + ptr + ')[2] = ' + vert( intype, outtype, v2 ) + ';'
+ print ' (' + ptr + ')[3] = ' + vert( intype, outtype, v3 ) + ';'
+ print ' (' + ptr + ')[4] = ' + vert( intype, outtype, v4 ) + ';'
+ print ' (' + ptr + ')[5] = ' + vert( intype, outtype, v5 ) + ';'
+
def do_point( intype, outtype, ptr, v0 ):
point( intype, outtype, ptr, v0 )
@@ -149,6 +171,18 @@ def do_quad( intype, outtype, ptr, v0, v1, v2, v3, inpv, outpv ):
do_tri( intype, outtype, ptr+'+0', v0, v1, v2, inpv, outpv );
do_tri( intype, outtype, ptr+'+3', v0, v2, v3, inpv, outpv );
+def do_lineadj( intype, outtype, ptr, v0, v1, v2, v3, inpv, outpv ):
+ if inpv == outpv:
+ lineadj( intype, outtype, ptr, v0, v1, v2, v3 )
+ else:
+ lineadj( intype, outtype, ptr, v3, v2, v1, v0 )
+
+def do_triadj( intype, outtype, ptr, v0, v1, v2, v3, v4, v5, inpv, outpv ):
+ if inpv == outpv:
+ triadj( intype, outtype, ptr, v0, v1, v2, v3, v4, v5 )
+ else:
+ triadj( intype, outtype, ptr, v4, v5, v0, v1, v2, v3 )
+
def name(intype, outtype, inpv, outpv, pr, prim):
if intype == GENERATE:
return 'generate_' + prim + '_' + outtype + '_' + inpv + '2' + outpv
@@ -343,6 +377,47 @@ def quadstrip(intype, outtype, inpv, outpv, pr):
postamble()
+def linesadj(intype, outtype, inpv, outpv, pr):
+ preamble(intype, outtype, inpv, outpv, pr, prim='linesadj')
+ print ' for (i = start; i < (out_nr+start); i+=4) { '
+ do_lineadj( intype, outtype, 'out+i', 'i+0', 'i+1', 'i+2', 'i+3', inpv, outpv )
+ print ' }'
+ postamble()
+
+
+def linestripadj(intype, outtype, inpv, outpv, pr):
+ preamble(intype, outtype, inpv, outpv, pr, prim='linestripadj')
+ print ' for (i = start, j = 0; j < out_nr; j+=4, i++) {'
+ do_lineadj( intype, outtype, 'out+j', 'i+0', 'i+1', 'i+2', 'i+3', inpv, outpv )
+ print ' }'
+ postamble()
+
+
+def trisadj(intype, outtype, inpv, outpv, pr):
+ preamble(intype, outtype, inpv, outpv, pr, prim='trisadj')
+ print ' for (i = start; i < (out_nr+start); i+=6) { '
+ do_triadj( intype, outtype, 'out+i', 'i+0', 'i+1', 'i+2', 'i+3',
+ 'i+4', 'i+5', inpv, outpv )
+ print ' }'
+ postamble()
+
+
+def tristripadj(intype, outtype, inpv, outpv, pr):
+ preamble(intype, outtype, inpv, outpv, pr, prim='tristripadj')
+ print ' for (i = start, j = 0; j < out_nr; i+=2, j+=6) { '
+ print ' if (i % 4 == 0) {'
+ print ' /* even triangle */'
+ do_triadj( intype, outtype, 'out+j',
+ 'i+0', 'i+1', 'i+2', 'i+3', 'i+4', 'i+5', inpv, outpv )
+ print ' } else {'
+ print ' /* odd triangle */'
+ do_triadj( intype, outtype, 'out+j',
+ 'i+2', 'i-2', 'i+0', 'i+3', 'i+4', 'i+6', inpv, outpv )
+ print ' }'
+ print ' }'
+ postamble()
+
+
def emit_funcs():
for intype in INTYPES:
for outtype in OUTTYPES:
@@ -361,6 +436,10 @@ def emit_funcs():
quads(intype, outtype, inpv, outpv, pr)
quadstrip(intype, outtype, inpv, outpv, pr)
polygon(intype, outtype, inpv, outpv, pr)
+ linesadj(intype, outtype, inpv, outpv, pr)
+ linestripadj(intype, outtype, inpv, outpv, pr)
+ trisadj(intype, outtype, inpv, outpv, pr)
+ tristripadj(intype, outtype, inpv, outpv, pr)
def init(intype, outtype, inpv, outpv, pr, prim):
if intype == GENERATE:
diff --git a/lib/mesa/src/gallium/auxiliary/indices/u_primconvert.c b/lib/mesa/src/gallium/auxiliary/indices/u_primconvert.c
index 70d3e8530..5effd883f 100644
--- a/lib/mesa/src/gallium/auxiliary/indices/u_primconvert.c
+++ b/lib/mesa/src/gallium/auxiliary/indices/u_primconvert.c
@@ -153,10 +153,11 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
}
if (!pc->upload) {
- pc->upload = u_upload_create(pc->pipe, 4096, 4, PIPE_BIND_INDEX_BUFFER);
+ pc->upload = u_upload_create(pc->pipe, 4096, PIPE_BIND_INDEX_BUFFER,
+ PIPE_USAGE_STREAM);
}
- u_upload_alloc(pc->upload, 0, new_ib.index_size * new_info.count,
+ u_upload_alloc(pc->upload, 0, new_ib.index_size * new_info.count, 4,
&new_ib.offset, &new_ib.buffer, &dst);
if (info->indexed) {
diff --git a/lib/mesa/src/gallium/auxiliary/indices/u_unfilled_gen.py b/lib/mesa/src/gallium/auxiliary/indices/u_unfilled_gen.py
index 873e78173..6b02627df 100644
--- a/lib/mesa/src/gallium/auxiliary/indices/u_unfilled_gen.py
+++ b/lib/mesa/src/gallium/auxiliary/indices/u_unfilled_gen.py
@@ -35,14 +35,18 @@ PRIMS=('tris',
'tristrip',
'quads',
'quadstrip',
- 'polygon')
+ 'polygon',
+ 'trisadj',
+ 'tristripadj')
LONGPRIMS=('PIPE_PRIM_TRIANGLES',
'PIPE_PRIM_TRIANGLE_FAN',
'PIPE_PRIM_TRIANGLE_STRIP',
'PIPE_PRIM_QUADS',
'PIPE_PRIM_QUAD_STRIP',
- 'PIPE_PRIM_POLYGON')
+ 'PIPE_PRIM_POLYGON',
+ 'PIPE_PRIM_TRIANGLES_ADJACENCY',
+ 'PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY')
longprim = dict(zip(PRIMS, LONGPRIMS))
intype_idx = dict(ubyte='IN_UBYTE', ushort='IN_USHORT', uint='IN_UINT')
@@ -194,6 +198,22 @@ def quadstrip(intype, outtype):
postamble()
+def trisadj(intype, outtype):
+ preamble(intype, outtype, prim='trisadj')
+ print ' for (i = start, j = 0; j < out_nr; j+=6, i+=6) { '
+ do_tri( intype, outtype, 'out+j', 'i', 'i+2', 'i+4' );
+ print ' }'
+ postamble()
+
+
+def tristripadj(intype, outtype):
+ preamble(intype, outtype, prim='tristripadj')
+ print ' for (i = start, j = 0; j < out_nr; j+=6, i+=2) { '
+ do_tri( intype, outtype, 'out+j', 'i', 'i+2', 'i+4' );
+ print ' }'
+ postamble()
+
+
def emit_funcs():
for intype in INTYPES:
for outtype in OUTTYPES:
@@ -203,6 +223,8 @@ def emit_funcs():
quads(intype, outtype)
quadstrip(intype, outtype)
polygon(intype, outtype)
+ trisadj(intype, outtype)
+ tristripadj(intype, outtype)
def init(intype, outtype, prim):
if intype == GENERATE: