diff options
| author | Brian <brian@yutani.localnet.net> | 2007-03-27 14:53:17 -0600 | 
|---|---|---|
| committer | Brian <brian@yutani.localnet.net> | 2007-03-27 16:06:47 -0600 | 
| commit | f407cada8aa0bfea1b8dfae766392162c702aaa4 (patch) | |
| tree | 45cc6427169167781c0d38b4b17a3c2cd12584f9 /src | |
| parent | e713ef66ef759d902c08a8cb8eb0e0cfe9373699 (diff) | |
fix some printing issues related to subroutines
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/shader/prog_print.c | 44 | 
1 files changed, 29 insertions, 15 deletions
| diff --git a/src/mesa/shader/prog_print.c b/src/mesa/shader/prog_print.c index 8fa7ef3d82..4ecdc82d15 100644 --- a/src/mesa/shader/prog_print.c +++ b/src/mesa/shader/prog_print.c @@ -567,17 +567,6 @@ _mesa_print_instruction_opt(const struct prog_instruction *inst, GLint indent,                     _mesa_swizzle_string(inst->DstReg.CondSwizzle, 0, GL_FALSE));        print_comment(inst);        break; -   case OPCODE_CAL: -      _mesa_printf("CAL %u", inst->BranchTarget); -      print_comment(inst); -      break; -   case OPCODE_RET: -      _mesa_printf("RET (%s%s); # (goto %d)", -                   condcode_string(inst->DstReg.CondMask), -                   _mesa_swizzle_string(inst->DstReg.CondSwizzle, 0, GL_FALSE), -                   inst->BranchTarget); -      print_comment(inst); -      break;     case OPCODE_IF:        if (inst->SrcReg[0].File != PROGRAM_UNDEFINED) {           /* Use ordinary register */ @@ -629,13 +618,38 @@ _mesa_print_instruction_opt(const struct prog_instruction *inst, GLint indent,        break;     case OPCODE_BGNSUB: -      _mesa_printf("BGNSUB"); -      print_comment(inst); -      return indent + 3; +      if (mode == PROG_PRINT_NV) { +         _mesa_printf("%s:\n", inst->Comment); /* comment is label */ +         return indent; +      } +      else { +         _mesa_printf("BGNSUB"); +         print_comment(inst); +         return indent + 3; +      }     case OPCODE_ENDSUB: -      _mesa_printf("ENDSUB"); +      if (mode == PROG_PRINT_DEBUG) { +         _mesa_printf("ENDSUB"); +         print_comment(inst); +      } +      break; +   case OPCODE_CAL: +      if (mode == PROG_PRINT_NV) { +         _mesa_printf("CAL %s;\n", inst->Comment); +      } +      else { +         _mesa_printf("CAL %u", inst->BranchTarget); +         print_comment(inst); +      } +      break; +   case OPCODE_RET: +      _mesa_printf("RET (%s%s); # (goto %d)", +                   condcode_string(inst->DstReg.CondMask), +                   _mesa_swizzle_string(inst->DstReg.CondSwizzle, 0, GL_FALSE), +                   inst->BranchTarget);        print_comment(inst);        break; +     case OPCODE_END:        _mesa_printf("END\n");        break; | 
