From 0680d170d161f2a370e16e2506cb0bf982a8909d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 5 Nov 2014 15:10:37 -0800 Subject: [PATCH] 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 --- src/glsl/nir/nir.h | 1 + src/glsl/nir/nir_print.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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); +} -- 2.30.2