From: Eric Anholt Date: Wed, 5 Nov 2014 23:10:37 +0000 (-0800) Subject: nir: Expose nir_print_instr() for debug prints X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0680d170d161f2a370e16e2506cb0bf982a8909d;p=mesa.git 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 --- diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 41f7ae7550d..119ca01f991 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -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); diff --git a/src/glsl/nir/nir_print.c b/src/glsl/nir/nir_print.c index 2ef55ed36f3..9c07950a67d 100644 --- a/src/glsl/nir/nir_print.c +++ b/src/glsl/nir/nir_print.c @@ -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); +}