Mesa (mesa_7_7_branch): vbo: added recursion check in vbo_exec_FlushVertices()

Brian Paul brianp at kemper.freedesktop.org
Thu Nov 19 22:18:55 UTC 2009


Module: Mesa
Branch: mesa_7_7_branch
Commit: 2198497203ec427f836978098028abf3350e5e57
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2198497203ec427f836978098028abf3350e5e57

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Nov 19 15:17:56 2009 -0700

vbo: added recursion check in vbo_exec_FlushVertices()

---

 src/mesa/vbo/vbo_exec_api.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c
index f72d2d8..c90565e 100644
--- a/src/mesa/vbo/vbo_exec_api.c
+++ b/src/mesa/vbo/vbo_exec_api.c
@@ -867,15 +867,27 @@ void vbo_exec_FlushVertices_internal( GLcontext *ctx, GLboolean unmap )
 }
 
 
-
+/**
+ * \param flags  bitmask of FLUSH_STORED_VERTICES, FLUSH_UPDATE_CURRENT
+ */
 void vbo_exec_FlushVertices( GLcontext *ctx, GLuint flags )
 {
    struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
 
+#ifdef DEBUG
+   /* debug check: make sure we don't get called recursively */
+   static GLuint callDepth = 0;
+   callDepth++;
+   assert(callDepth == 1);
+#endif
+
    if (0) _mesa_printf("%s\n", __FUNCTION__);
 
    if (exec->ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) {
       if (0) _mesa_printf("%s - inside begin/end\n", __FUNCTION__);
+#ifdef DEBUG
+      callDepth--;
+#endif
       return;
    }
 
@@ -889,6 +901,10 @@ void vbo_exec_FlushVertices( GLcontext *ctx, GLuint flags )
    }
 
    exec->ctx->Driver.NeedFlush &= ~flags;
+
+#ifdef DEBUG
+   callDepth--;
+#endif
 }
 
 




More information about the mesa-commit mailing list