tgsi: fix false CondStackTop==0 assertion
authorBrian Paul <brianp@vmware.com>
Mon, 23 Aug 2010 00:40:48 +0000 (18:40 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 23 Aug 2010 18:15:40 +0000 (12:15 -0600)
src/gallium/auxiliary/tgsi/tgsi_exec.c

index 298f3d0a8bb1807d375c21b1140181128bbc88da..0757f05dfabb7e528002e5dffb73cb36ddb65a16 100644 (file)
@@ -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);