diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-08-26 16:59:42 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-08-26 16:59:42 +0000 |
commit | 81ece42815e80818f160cdd85fab57d65b56ad15 (patch) | |
tree | 1059ff094da1aa50334115952fcb1cfcbda3acc6 /lib/mesa/src/gallium/auxiliary/indices | |
parent | b0244145d5bb49623d58f6b5cab8143ada692b60 (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')
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: |