aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2010-08-22 18:40:48 -0600
committerBrian Paul <[email protected]>2010-08-23 12:15:40 -0600
commit4b2b5f8e30347ce0a1818524f8825335d47eb5ca (patch)
treebb39bb405a655a240f87ce09b2ddc88f5219cd18
parentebef04011736ea8e13692fed87623d425c4d1b08 (diff)
tgsi: fix false CondStackTop==0 assertion
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_exec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index 298f3d0a8bb..0757f05dfab 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -3239,6 +3239,8 @@ exec_instruction(
if (mach->CallStackTop == 0) {
/* returning from main() */
+ mach->CondStackTop = 0;
+ mach->LoopStackTop = 0;
*pc = -1;
return;
}
@@ -3767,6 +3769,9 @@ tgsi_exec_machine_run( struct tgsi_exec_machine *mach )
}
#endif
+ /* Strictly speaking, these assertions aren't really needed but they
+ * can potentially catch some bugs in the control flow code.
+ */
assert(mach->CondStackTop == 0);
assert(mach->LoopStackTop == 0);
assert(mach->ContStackTop == 0);