summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/glsl/ir_print_visitor.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp
index f47ad87550..9d81cef9f8 100644
--- a/src/glsl/ir_print_visitor.cpp
+++ b/src/glsl/ir_print_visitor.cpp
@@ -405,19 +405,23 @@ ir_print_visitor::visit(ir_if *ir)
printf(")\n");
indent();
- printf("(\n");
- indentation++;
+ if (!ir->else_instructions.is_empty()) {
+ printf("(\n");
+ indentation++;
- foreach_iter(exec_list_iterator, iter, ir->else_instructions) {
- ir_instruction *const inst = (ir_instruction *) iter.get();
+ foreach_iter(exec_list_iterator, iter, ir->else_instructions) {
+ ir_instruction *const inst = (ir_instruction *) iter.get();
+ indent();
+ inst->accept(this);
+ printf("\n");
+ }
+ indentation--;
indent();
- inst->accept(this);
- printf("\n");
+ printf("))\n");
+ } else {
+ printf("())\n");
}
- indentation--;
- indent();
- printf("))\n");
}