BRK and CONT work the same

This commit is contained in:
Brian
2007-02-06 22:34:09 -07:00
parent f22ed0986a
commit 1f99a7514e

View File

@@ -703,22 +703,10 @@ execute_program( GLcontext *ctx,
}
break;
case OPCODE_BRK: /* break out of loop */
{
#if 0
/* The location of the ENDLOOP instruction is saved in the
* BGNLOOP instruction. Get that instruction and jump to
* its BranchTarget + 1.
*/
const struct prog_instruction *loopBeginInst
= program->Base.Instructions + inst->BranchTarget;
ASSERT(loopBeginInst->Opcode == OPCODE_BGNLOOP);
ASSERT(loopBeginInst->BranchTarget >= 0);
/* we'll add one at bottom of for-loop */
pc = loopBeginInst->BranchTarget;
#else
pc = inst->BranchTarget - 1;
#endif
}
/* fall-through */
case OPCODE_CONT: /* continue loop */
/* Subtract 1 here since we'll do pc++ at end of for-loop */
pc = inst->BranchTarget - 1;
break;
case OPCODE_CAL: /* Call subroutine */
{
@@ -750,10 +738,6 @@ execute_program( GLcontext *ctx,
store_vector4( inst, machine, result );
}
break;
case OPCODE_CONT: /* continue loop */
/* Subtract 1 here since we'll do pc++ at end of for-loop */
pc = inst->BranchTarget - 1;
break;
case OPCODE_COS:
{
GLfloat a[4], result[4];