Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.
diff --git a/src/mesa/shader/prog_print.c b/src/mesa/shader/prog_print.c
index 04b7c7d..78ce752 100644
--- a/src/mesa/shader/prog_print.c
+++ b/src/mesa/shader/prog_print.c
@@ -295,7 +295,7 @@
       print_comment(inst);
       break;
    case OPCODE_BRA:
-      _mesa_printf("BRA %u (%s.%s)",
+      _mesa_printf("BRA %u (%s%s)",
                    inst->BranchTarget,
                    condcode_string(inst->DstReg.CondMask),
                    swizzle_string(inst->DstReg.CondSwizzle, 0, GL_FALSE));
@@ -305,6 +305,18 @@
       _mesa_printf("CAL %u", inst->BranchTarget);
       print_comment(inst);
       break;
+   case OPCODE_IF:
+      _mesa_printf("  IF (%s%s)",
+                   condcode_string(inst->DstReg.CondMask),
+                   swizzle_string(inst->DstReg.CondSwizzle, 0, GL_FALSE));
+      print_comment(inst);
+      break;
+   case OPCODE_ELSE:
+      _mesa_printf("  ELSE;\n");
+      break;
+   case OPCODE_ENDIF:
+      _mesa_printf("  ENDIF;\n");
+      break;
    case OPCODE_END:
       _mesa_printf("END");
       print_comment(inst);