Mesa (master): nir/print: print variable names

Rob Clark robclark at kemper.freedesktop.org
Fri Sep 18 00:27:04 UTC 2015


Module: Mesa
Branch: master
Commit: 5305603b9de52e59b9c5eec440f90a12cafa91a1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5305603b9de52e59b9c5eec440f90a12cafa91a1

Author: Rob Clark <robclark at freedesktop.org>
Date:   Thu Sep 17 18:18:45 2015 -0400

nir/print: print variable names

Signed-off-by: Rob Clark <robclark at freedesktop.org>
Reviewed-by: Timothy Arceri <t_arceri at yahoo.com.au>

---

 src/glsl/nir/nir_print.c |   30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/src/glsl/nir/nir_print.c b/src/glsl/nir/nir_print.c
index ca8059f..6e86140 100644
--- a/src/glsl/nir/nir_print.c
+++ b/src/glsl/nir/nir_print.c
@@ -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




More information about the mesa-commit mailing list