Mesa (master): mesa: added some assertions in BNGLOOP/ENDLOOP cases

Brian Paul brianp at kemper.freedesktop.org
Tue Dec 22 13:27:57 PST 2009


Module: Mesa
Branch: master
Commit: e8ea2d26cd9e90d45cdfb94c3a6b06e27d6c0083
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8ea2d26cd9e90d45cdfb94c3a6b06e27d6c0083

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Dec 22 12:57:31 2009 -0700

mesa: added some assertions in BNGLOOP/ENDLOOP cases

---

 src/mesa/shader/prog_execute.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/shader/prog_execute.c b/src/mesa/shader/prog_execute.c
index 038ce0b..025665a 100644
--- a/src/mesa/shader/prog_execute.c
+++ b/src/mesa/shader/prog_execute.c
@@ -684,9 +684,13 @@ _mesa_execute_program(GLcontext * ctx,
          break;
       case OPCODE_BGNLOOP:
          /* no-op */
+         ASSERT(program->Instructions[inst->BranchTarget].Opcode
+                == OPCODE_ENDLOOP);
          break;
       case OPCODE_ENDLOOP:
          /* subtract 1 here since pc is incremented by for(pc) loop */
+         ASSERT(program->Instructions[inst->BranchTarget].Opcode
+                == OPCODE_BGNLOOP);
          pc = inst->BranchTarget - 1;   /* go to matching BNGLOOP */
          break;
       case OPCODE_BGNSUB:      /* begin subroutine */



More information about the mesa-commit mailing list