summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-07-22 12:25:39 -0700
committerEric Anholt <[email protected]>2010-07-22 12:37:43 -0700
commit748c343f8bdbbc8c5f00403b790ad7130424c35f (patch)
treef486834cd525432d04f5c985b4a910c461eded61
parentcc15ef07e03e465d93df7062a516f9b4bfbaeda0 (diff)
ir_to_mesa: Pretty up the printing of MESA_GLSL=dump
-rw-r--r--src/mesa/shader/ir_to_mesa.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp
index c92fe49a207..ba45c87e59c 100644
--- a/src/mesa/shader/ir_to_mesa.cpp
+++ b/src/mesa/shader/ir_to_mesa.cpp
@@ -1885,19 +1885,29 @@ print_program(struct prog_instruction *mesa_instructions,
{
ir_instruction *last_ir = NULL;
int i;
+ int indent = 0;
for (i = 0; i < num_instructions; i++) {
struct prog_instruction *mesa_inst = mesa_instructions + i;
ir_instruction *ir = mesa_instruction_annotation[i];
+ fprintf(stdout, "%3d: ", i);
+
if (last_ir != ir && ir) {
- ir_print_visitor print;
- ir->accept(&print);
+ int j;
+
+ for (j = 0; j < indent; j++) {
+ fprintf(stdout, " ");
+ }
+ ir->print();
printf("\n");
last_ir = ir;
+
+ fprintf(stdout, " "); /* line number spacing. */
}
- _mesa_print_instruction(mesa_inst);
+ indent = _mesa_fprint_instruction_opt(stdout, mesa_inst, indent,
+ PROG_PRINT_DEBUG, NULL);
}
}