Module: Mesa Branch: master Commit: 4293a12c7f0d4fd7ac3a278570f3fe55fc4433a6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4293a12c7f0d4fd7ac3a278570f3fe55fc4433a6
Author: Brian Paul <[email protected]> Date: Fri Mar 11 09:25:21 2011 -0700 mesa: call FLUSH_VERTICES() before deleting shaders, buffers, query objects Need to flush rendering (or at least indicate that the rug might be getting pulled out from underneath us) when a shader, buffer object or query object is about to be deleted. Also, this helps to tell the VBO module to unmap its current vertex buffer. --- src/mesa/main/bufferobj.c | 1 + src/mesa/main/queryobj.c | 1 + src/mesa/main/shaderapi.c | 3 +++ 3 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 44072fb..3343bb2 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -749,6 +749,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) GET_CURRENT_CONTEXT(ctx); GLsizei i; ASSERT_OUTSIDE_BEGIN_END(ctx); + FLUSH_VERTICES(ctx, 0); if (n < 0) { _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteBuffersARB(n)"); diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index fa35c6c..e9cf5f6 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -218,6 +218,7 @@ _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) GLint i; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); + FLUSH_VERTICES(ctx, 0); if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glDeleeteQueries(%d)\n", n); diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 11b0f88..6650613 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1236,6 +1236,7 @@ _mesa_DeleteObjectARB(GLhandleARB obj) if (obj) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); if (is_program(ctx, obj)) { delete_shader_program(ctx, obj); } @@ -1254,6 +1255,7 @@ _mesa_DeleteProgram(GLuint name) { if (name) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); delete_shader_program(ctx, name); } } @@ -1264,6 +1266,7 @@ _mesa_DeleteShader(GLuint name) { if (name) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); delete_shader(ctx, name); } } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
