summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/llvm/llvmtgsi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/llvm/llvmtgsi.cpp')
-rw-r--r--src/mesa/pipe/llvm/llvmtgsi.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/pipe/llvm/llvmtgsi.cpp b/src/mesa/pipe/llvm/llvmtgsi.cpp
index cfeb19e4ba8..af602326ae6 100644
--- a/src/mesa/pipe/llvm/llvmtgsi.cpp
+++ b/src/mesa/pipe/llvm/llvmtgsi.cpp
@@ -508,19 +508,21 @@ translate_instruction(llvm::Module *module,
case TGSI_OPCODE_BGNSUB: {
instr->bgnSub(instno, storage);
storage->setCurrentBlock(instr->currentBlock());
+ storage->pushTemps();
return;
}
break;
case TGSI_OPCODE_ENDLOOP2: {
instr->endLoop();
storage->setCurrentBlock(instr->currentBlock());
- storage->popArguments();
return;
}
break;
case TGSI_OPCODE_ENDSUB: {
instr->endSub();
storage->setCurrentBlock(instr->currentBlock());
+ storage->popArguments();
+ storage->popTemps();
return;
}
break;