nir/print: print variable names

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
This commit is contained in:
Rob Clark 2015-09-17 18:18:45 -04:00
parent ba78260b0f
commit 5305603b9d
1 changed files with 30 additions and 0 deletions

View File

@ -430,6 +430,36 @@ print_intrinsic_instr(nir_intrinsic_instr *instr, print_state *state)
}
fprintf(fp, ")");
if (!state->shader)
return;
struct exec_list *var_list = NULL;
switch (instr->intrinsic) {
case nir_intrinsic_load_uniform:
case nir_intrinsic_load_uniform_indirect:
var_list = &state->shader->uniforms;
break;
case nir_intrinsic_load_input:
case nir_intrinsic_load_input_indirect:
var_list = &state->shader->inputs;
break;
case nir_intrinsic_store_output:
case nir_intrinsic_store_output_indirect:
var_list = &state->shader->outputs;
break;
default:
return;
}
foreach_list_typed(nir_variable, var, node, var_list) {
if ((var->data.driver_location == instr->const_index[0]) &&
var->name) {
fprintf(fp, "\t/* %s */", var->name);
break;
}
}
}
static void