From f86f3c90aa6918e741e505217e1f766c025229e4 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 12 Feb 2016 20:41:19 -0800 Subject: [PATCH] nir/print: Better function argument printing Since we aren't going to put the function parameters or the return variable in the list of locals, it won't get a proper declaration. This changes nir_print to print the type along with each parameter or return variable. Reviewed-by: Jordan Justen --- src/compiler/nir/nir_print.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c index 85799d6..bdfbd26 100644 --- a/src/compiler/nir/nir_print.c +++ b/src/compiler/nir/nir_print.c @@ -380,6 +380,14 @@ print_var(nir_variable *var, print_state *state) } static void +print_arg(nir_variable *var, print_state *state) +{ + FILE *fp = state->fp; + glsl_print_type(var->type, fp); + fprintf(fp, " %s", get_var_name(var, state)); +} + +static void print_deref_var(nir_deref_var *deref, print_state *state) { print_var(deref->var, state); @@ -938,14 +946,14 @@ print_function_impl(nir_function_impl *impl, print_state *state) if (i != 0) fprintf(fp, ", "); - print_var(impl->params[i], state); + print_arg(impl->params[i], state); } if (impl->return_var != NULL) { if (impl->num_params != 0) fprintf(fp, ", "); fprintf(fp, "returning "); - print_var(impl->return_var, state); + print_arg(impl->return_var, state); } fprintf(fp, "{\n"); -- 2.7.4