pc = inst->BranchTarget - 1;
}
break;
- case OPCODE_BRK0: /* Break if zero */
- /* fall-through */
- case OPCODE_CONT0: /* Continue if zero */
- {
- GLfloat a[4];
- fetch_vector1(&inst->SrcReg[0], machine, a);
- if (a[0] == 0.0) {
- /* take branch */
- /* Subtract 1 here since we'll do pc++ at end of for-loop */
- pc = inst->BranchTarget - 1;
- }
- }
- break;
- case OPCODE_BRK1: /* Break if non-zero */
- /* fall-through */
- case OPCODE_CONT1: /* Continue if non-zero */
- {
- GLfloat a[4];
- fetch_vector1(&inst->SrcReg[0], machine, a);
- if (a[0] != 0.0) {
- /* take branch */
- /* Subtract 1 here since we'll do pc++ at end of for-loop */
- pc = inst->BranchTarget - 1;
- }
- }
- break;
case OPCODE_CAL: /* Call subroutine (conditional) */
if (eval_condition(machine, inst)) {
/* call the subroutine */
{ OPCODE_BGNSUB, "BGNSUB", 0 },
{ OPCODE_BRA, "BRA", 0 },
{ OPCODE_BRK, "BRK", 0 },
- { OPCODE_BRK0, "BRK0", 1 },
- { OPCODE_BRK1, "BRK1", 1 },
{ OPCODE_CAL, "CAL", 0 },
{ OPCODE_CMP, "CMP", 3 },
{ OPCODE_CONT, "CONT", 0 },
- { OPCODE_CONT0, "CONT0", 1 },
- { OPCODE_CONT1, "CONT1", 1 },
{ OPCODE_COS, "COS", 1 },
{ OPCODE_DDX, "DDX", 1 },
{ OPCODE_DDY, "DDY", 1 },
OPCODE_BGNSUB, /* opt */
OPCODE_BRA, /* 2 X */
OPCODE_BRK, /* 2 opt */
- OPCODE_BRK0, /* opt */
- OPCODE_BRK1, /* opt */
OPCODE_CAL, /* 2 2 */
OPCODE_CMP, /* X */
OPCODE_CONT, /* opt */
- OPCODE_CONT0, /* opt */
- OPCODE_CONT1, /* opt */
OPCODE_COS, /* X 2 X X */
OPCODE_DDX, /* X X */
OPCODE_DDY, /* X X */
print_comment(inst);
break;
- case OPCODE_BRK0:
- case OPCODE_BRK1:
- case OPCODE_CONT0:
- case OPCODE_CONT1:
- _mesa_printf("%s ", _mesa_opcode_string(inst->Opcode));
- print_src_reg(&inst->SrcReg[0], mode, prog);
- _mesa_printf("; ");
- _mesa_printf(" # (goto %d)", inst->BranchTarget);
- print_comment(inst);
- break;
-
case OPCODE_BGNSUB:
if (mode == PROG_PRINT_NV) {
_mesa_printf("%s:\n", inst->Comment); /* comment is label */
do_NOP,/*BGNSUB*/
do_NOP,/*BRA*/
do_NOP,/*BRK*/
- do_NOP,/*BRK0*/
- do_NOP,/*BRK1*/
do_NOP,/*CAL*/
do_NOP,/*CMP*/
do_NOP,/*CONT*/
- do_NOP,/*CONT0*/
- do_NOP,/*CONT1*/
do_NOP,/*COS*/
do_NOP,/*DDX*/
do_NOP,/*DDY*/