nir: Expose nir_print_instr() for debug prints

It's nice to have this present in your default cases so you can see what
instruction is triggering an abort.

v2: Just pass a NULL state, now that it won't crash when you do.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Eric Anholt
2014-11-05 15:10:37 -08:00
parent 6445a40520
commit 0680d170d1
2 changed files with 8 additions and 2 deletions
+1
View File
@@ -1485,6 +1485,7 @@ void nir_index_ssa_defs(nir_function_impl *impl);
void nir_index_blocks(nir_function_impl *impl);
void nir_print_shader(nir_shader *shader, FILE *fp);
void nir_print_instr(nir_instr *instr, FILE *fp);
#ifdef DEBUG
void nir_validate_shader(nir_shader *shader);
+7 -2
View File
@@ -621,8 +621,6 @@ print_instr(nir_instr *instr, print_var_state *state, unsigned tabs, FILE *fp)
unreachable("Invalid instruction type");
break;
}
fprintf(fp, "\n");
}
static int
@@ -668,6 +666,7 @@ print_block(nir_block *block, print_var_state *state, unsigned tabs, FILE *fp)
nir_foreach_instr(block, instr) {
print_instr(instr, state, tabs, fp);
fprintf(fp, "\n");
}
print_tabs(tabs, fp);
@@ -881,3 +880,9 @@ nir_print_shader(nir_shader *shader, FILE *fp)
destroy_print_state(&state);
}
void
nir_print_instr(nir_instr *instr, FILE *fp)
{
print_instr(instr, NULL, 0, fp);
}