diff options
-rw-r--r-- | src/mesa/swrast/s_fragprog.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/mesa/swrast/s_fragprog.c b/src/mesa/swrast/s_fragprog.c index ce028f72bf..fe41c0b5f4 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; |