diff options
author | Brian Paul <[email protected]> | 2010-08-22 18:40:48 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-08-23 12:15:40 -0600 |
commit | 4b2b5f8e30347ce0a1818524f8825335d47eb5ca (patch) | |
tree | bb39bb405a655a240f87ce09b2ddc88f5219cd18 /src/gallium | |
parent | ebef04011736ea8e13692fed87623d425c4d1b08 (diff) |
tgsi: fix false CondStackTop==0 assertion
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_exec.c | 5 |
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); |