diff options
author | Brian Paul <[email protected]> | 2008-07-14 18:08:52 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-07-14 18:08:52 -0600 |
commit | 6eb7f763fbbbb7a32640760cd5d122020866fea1 (patch) | |
tree | b725334796179e419ef7af755f3ffb3a42d9cb6b /src/gallium/auxiliary | |
parent | ec698034d1a7cc390ce8eda8a28732fa40ff80ec (diff) |
tgsi: fix bug in execution of loops inside of conditionals.
Fixes infinite loop bug.
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/tgsi/exec/tgsi_exec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/tgsi/exec/tgsi_exec.c b/src/gallium/auxiliary/tgsi/exec/tgsi_exec.c index 46949661aff..001a4c4b152 100644 --- a/src/gallium/auxiliary/tgsi/exec/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/exec/tgsi_exec.c @@ -2400,7 +2400,8 @@ exec_instruction( /* Restore ContMask, but don't pop */ assert(mach->ContStackTop > 0); mach->ContMask = mach->ContStack[mach->ContStackTop - 1]; - if (mach->LoopMask) { + UPDATE_EXEC_MASK(mach); + if (mach->ExecMask) { /* repeat loop: jump to instruction just past BGNLOOP */ *pc = inst->InstructionExtLabel.Label + 1; } |