mesa: glsl tree print improvements
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 1 Nov 2008 21:55:14 +0000 (15:55 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 1 Nov 2008 22:05:40 +0000 (16:05 -0600)
src/mesa/shader/slang/slang_print.c

index 4422f70159f44f7a4400666076e34a4df302e033..0840a0e2f6db7fdc8c085f9c31a3b2d28b3bd38e 100644 (file)
@@ -379,28 +379,43 @@ slang_print_tree(const slang_operation *op, int indent)
    case SLANG_OPER_WHILE:
       assert(op->num_children == 2);
       spaces(indent);
+      printf("WHILE LOOP: locals = %p\n", op->locals);
+      indent += 3;
+      spaces(indent);
       printf("WHILE cond:\n");
       slang_print_tree(&op->children[0], indent + 3);
       spaces(indent);
       printf("WHILE body:\n");
       slang_print_tree(&op->children[1], indent + 3);
+      indent -= 3;
+      spaces(indent);
+      printf("END WHILE LOOP\n");
       break;
 
    case SLANG_OPER_DO:
+      spaces(indent);
+      printf("DO LOOP: locals = %p\n", op->locals);
+      indent += 3;
       spaces(indent);
       printf("DO body:\n");
       slang_print_tree(&op->children[0], indent + 3);
       spaces(indent);
       printf("DO cond:\n");
       slang_print_tree(&op->children[1], indent + 3);
+      indent -= 3;
+      spaces(indent);
+      printf("END DO LOOP\n");
       break;
 
    case SLANG_OPER_FOR:
+      spaces(indent);
+      printf("FOR LOOP: locals = %p\n", op->locals);
+      indent += 3;
       spaces(indent);
       printf("FOR init:\n");
       slang_print_tree(&op->children[0], indent + 3);
       spaces(indent);
-      printf("FOR while:\n");
+      printf("FOR condition:\n");
       slang_print_tree(&op->children[1], indent + 3);
       spaces(indent);
       printf("FOR step:\n");
@@ -408,6 +423,7 @@ slang_print_tree(const slang_operation *op, int indent)
       spaces(indent);
       printf("FOR body:\n");
       slang_print_tree(&op->children[3], indent + 3);
+      indent -= 3;
       spaces(indent);
       printf("ENDFOR\n");
       /*