From 076a352f81149446ecf3d63192668dc4da597018 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 26 May 2021 16:25:19 -0400 Subject: [PATCH] aux/indices: employ Delete The Code methodology the util functions will assert for unknown prim types, so the switches are redundant now Reviewed-by: Alyssa Rosenzweig Part-of: --- src/gallium/auxiliary/indices/u_indices.c | 124 +--------------------- 1 file changed, 5 insertions(+), 119 deletions(-) diff --git a/src/gallium/auxiliary/indices/u_indices.c b/src/gallium/auxiliary/indices/u_indices.c index 0a618bfe1f5..ae2110561a8 100644 --- a/src/gallium/auxiliary/indices/u_indices.c +++ b/src/gallium/auxiliary/indices/u_indices.c @@ -158,73 +158,9 @@ 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]; - *out_prim = u_index_prim_type_convert(hw_mask, prim); - - switch (prim) { - case PIPE_PRIM_POINTS: - *out_nr = nr; - break; - - case PIPE_PRIM_LINES: - *out_nr = nr; - break; - - case PIPE_PRIM_LINE_STRIP: - *out_nr = (nr - 1) * 2; - break; - - case PIPE_PRIM_LINE_LOOP: - *out_nr = nr * 2; - break; - - case PIPE_PRIM_TRIANGLES: - *out_nr = nr; - break; - - case PIPE_PRIM_TRIANGLE_STRIP: - *out_nr = (nr - 2) * 3; - break; - - case PIPE_PRIM_TRIANGLE_FAN: - *out_nr = (nr - 2) * 3; - break; - - case PIPE_PRIM_QUADS: - *out_nr = (nr / 4) * 6; - break; - - case PIPE_PRIM_QUAD_STRIP: - *out_nr = (nr - 2) * 3; - break; - - case PIPE_PRIM_POLYGON: - *out_nr = (nr - 2) * 3; - break; - - case PIPE_PRIM_LINES_ADJACENCY: - *out_nr = nr; - break; - - case PIPE_PRIM_LINE_STRIP_ADJACENCY: - *out_nr = (nr - 3) * 4; - break; - - case PIPE_PRIM_TRIANGLES_ADJACENCY: - *out_nr = nr; - break; - - case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: - *out_nr = ((nr - 4) / 2) * 6; - break; - - default: - assert(0); - *out_nr = nr; - return U_TRANSLATE_ERROR; - } - } + *out_translate = translate[in_idx][out_idx][in_pv][out_pv][prim_restart][prim]; + *out_prim = u_index_prim_type_convert(hw_mask, prim); + *out_nr = u_index_count_converted_indices(hw_mask, in_pv == out_pv, prim, nr); return ret; } @@ -321,56 +257,6 @@ u_index_generator(unsigned hw_mask, *out_generate = generate[out_idx][in_pv][out_pv][PIPE_PRIM_POINTS]; return U_GENERATE_LINEAR; } - else { - *out_generate = generate[out_idx][in_pv][out_pv][prim]; - - switch (prim) { - case PIPE_PRIM_POINTS: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_LINES: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_LINE_STRIP: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_LINE_LOOP: - return U_GENERATE_ONE_OFF; - - case PIPE_PRIM_TRIANGLES: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_TRIANGLE_STRIP: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_TRIANGLE_FAN: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_QUADS: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_QUAD_STRIP: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_POLYGON: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_LINES_ADJACENCY: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_LINE_STRIP_ADJACENCY: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_TRIANGLES_ADJACENCY: - return U_GENERATE_REUSABLE; - - case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: - return U_GENERATE_REUSABLE; - - default: - assert(0); - *out_generate = generate[out_idx][in_pv][out_pv][PIPE_PRIM_POINTS]; - return U_TRANSLATE_ERROR; - } - } + *out_generate = generate[out_idx][in_pv][out_pv][prim]; + return prim == PIPE_PRIM_LINE_LOOP ? U_GENERATE_ONE_OFF : U_GENERATE_REUSABLE; }