[Mesa-dev] [PATCH] nir/print: Print texture and sampler indices

Jason Ekstrand jason at jlekstrand.net
Sat Jul 7 04:01:30 UTC 2018


Commit 5fb69daa6076e56b deleted support from nir_print for printing the
texture and sampler indices on texture instructions.  This commit just
brings it back as best as we can.
---
 src/compiler/nir/nir_print.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c
index 32839fa4dc9..18860db0058 100644
--- a/src/compiler/nir/nir_print.c
+++ b/src/compiler/nir/nir_print.c
@@ -795,6 +795,7 @@ print_tex_instr(nir_tex_instr *instr, print_state *state)
       break;
    }
 
+   bool has_texture_deref = false, has_sampler_deref = false;
    for (unsigned i = 0; i < instr->num_srcs; i++) {
       print_src(&instr->src[i].src, state);
 
@@ -832,9 +833,11 @@ print_tex_instr(nir_tex_instr *instr, print_state *state)
          fprintf(fp, "(ddy)");
          break;
       case nir_tex_src_texture_deref:
+         has_texture_deref = true;
          fprintf(fp, "(texture_deref)");
          break;
       case nir_tex_src_sampler_deref:
+         has_sampler_deref = true;
          fprintf(fp, "(sampler_deref)");
          break;
       case nir_tex_src_texture_offset:
@@ -858,6 +861,14 @@ print_tex_instr(nir_tex_instr *instr, print_state *state)
    if (instr->op == nir_texop_tg4) {
       fprintf(fp, "%u (gather_component), ", instr->component);
    }
+
+   if (!has_texture_deref) {
+      fprintf(fp, "%u (texture), ", instr->texture_index);
+   }
+
+   if (!has_sampler_deref) {
+      fprintf(fp, "%u (sampler), ", instr->sampler_index);
+   }
 }
 
 static void
-- 
2.17.1



More information about the mesa-dev mailing list