aco: Print shader stage in aco_print_program.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
This commit is contained in:
Timur Kristóf 2020-04-01 13:39:25 +02:00 committed by Marge Bot
parent c24d9522da
commit aa42b504d6
1 changed files with 46 additions and 0 deletions

View File

@ -693,6 +693,50 @@ static void print_block_kind(uint16_t kind, FILE *output)
fprintf(output, "export_end, ");
}
static void print_stage(Stage stage, FILE *output)
{
fprintf(output, "ACO shader stage: ");
if (stage == compute_cs)
fprintf(output, "compute_cs");
else if (stage == fragment_fs)
fprintf(output, "fragment_fs");
else if (stage == gs_copy_vs)
fprintf(output, "gs_copy_vs");
else if (stage == vertex_ls)
fprintf(output, "vertex_ls");
else if (stage == vertex_es)
fprintf(output, "vertex_es");
else if (stage == vertex_vs)
fprintf(output, "vertex_vs");
else if (stage == tess_control_hs)
fprintf(output, "tess_control_hs");
else if (stage == vertex_tess_control_hs)
fprintf(output, "vertex_tess_control_hs");
else if (stage == tess_eval_es)
fprintf(output, "tess_eval_es");
else if (stage == tess_eval_vs)
fprintf(output, "tess_eval_vs");
else if (stage == geometry_gs)
fprintf(output, "geometry_gs");
else if (stage == vertex_geometry_gs)
fprintf(output, "vertex_geometry_gs");
else if (stage == tess_eval_geometry_gs)
fprintf(output, "tess_eval_geometry_gs");
else if (stage == ngg_vertex_gs)
fprintf(output, "ngg_vertex_gs");
else if (stage == ngg_tess_eval_gs)
fprintf(output, "ngg_tess_eval_gs");
else if (stage == ngg_vertex_geometry_gs)
fprintf(output, "ngg_vertex_geometry_gs");
else if (stage == ngg_tess_eval_geometry_gs)
fprintf(output, "ngg_tess_eval_geometry_gs");
else
fprintf(output, "unknown");
fprintf(output, "\n");
}
void aco_print_block(const struct Block* block, FILE *output)
{
fprintf(output, "BB%d\n", block->index);
@ -714,6 +758,8 @@ void aco_print_block(const struct Block* block, FILE *output)
void aco_print_program(Program *program, FILE *output)
{
print_stage(program->stage, output);
for (Block const& block : program->blocks)
aco_print_block(&block, output);