summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_link.c
diff options
context:
space:
mode:
authorBrian <brian@nostromo.localnet.net>2007-02-07 15:12:13 -0700
committerBrian <brian@nostromo.localnet.net>2007-02-07 15:12:13 -0700
commit4aa487e7968d015af4fe729f697105448fcb843f (patch)
tree55be6e4c573704879db0836f5a596fcfbd341f3a /src/mesa/shader/slang/slang_link.c
parent1f99a7514e9c36b7ce2c6c1724a6584790656415 (diff)
Use IR_LOOP to represent do-while and for-loops.
Also, start moving high vs. low-level instruction selection into slang_emit.c
Diffstat (limited to 'src/mesa/shader/slang/slang_link.c')
-rw-r--r--src/mesa/shader/slang/slang_link.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c
index 017cf6078c..b1d355ff80 100644
--- a/src/mesa/shader/slang/slang_link.c
+++ b/src/mesa/shader/slang/slang_link.c
@@ -298,7 +298,7 @@ _slang_resolve_branches(struct gl_program *prog)
for (i = 0; i < prog->NumInstructions; i++) {
struct prog_instruction *inst = prog->Instructions + i;
- if (inst->Opcode == OPCODE_BRA) {
+ if (inst->Opcode == OPCODE_BRA && inst->BranchTarget < 0) {
for (j = 0; j < numTargets; j++) {
if (!strcmp(inst->Comment, targets[j].Name)) {
inst->BranchTarget = targets[j].Pos;