summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_fragprog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/swrast/s_fragprog.c')
-rw-r--r--src/mesa/swrast/s_fragprog.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/mesa/swrast/s_fragprog.c b/src/mesa/swrast/s_fragprog.c
index ce028f72bf2..fe41c0b5f45 100644
--- a/src/mesa/swrast/s_fragprog.c
+++ b/src/mesa/swrast/s_fragprog.c
@@ -709,18 +709,14 @@ execute_program( GLcontext *ctx,
break;
case OPCODE_ENDSUB: /* end subroutine */
break;
- case OPCODE_BRA: /* conditional branch */
- if (eval_condition(machine, inst)) {
- /* take branch */
- pc = inst->BranchTarget - 1;
- }
- break;
+ case OPCODE_BRA: /* branch (conditional) */
+ /* fall-through */
case OPCODE_BRK: /* break out of loop (conditional) */
/* fall-through */
case OPCODE_CONT: /* continue loop (conditional) */
- /* Subtract 1 here since we'll do pc++ at end of for-loop */
if (eval_condition(machine, inst)) {
/* take branch */
+ /* Subtract 1 here since we'll do pc++ at end of for-loop */
pc = inst->BranchTarget - 1;
}
break;