summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_print.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-02-12 20:41:19 -0800
committerJason Ekstrand <[email protected]>2016-03-12 15:48:36 -0800
commitf86f3c90aa6918e741e505217e1f766c025229e4 (patch)
tree096cdb5cd88ef614d283a66ee6368350b309de93 /src/compiler/nir/nir_print.c
parent13969565f91a65c490f8362363b73b207df5c7e0 (diff)
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 <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_print.c')
-rw-r--r--src/compiler/nir/nir_print.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c
index 85799d64ec8..bdfbd2600c0 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");