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 <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10965>
This commit is contained in:
Mike Blumenkrantz 2021-05-26 16:25:19 -04:00 committed by Marge Bot
parent 0987c87445
commit 076a352f81
1 changed files with 5 additions and 119 deletions

View File

@ -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;
}