diff options
author | Brian Paul <brianp@vmware.com> | 2009-06-10 13:00:35 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-06-11 09:46:02 -0600 |
commit | 9d5479eeeb84a0a8d909e329b1e8e9888d424900 (patch) | |
tree | cafcf2f3538cd3c2d2098050314301ede0d33801 /src | |
parent | cc09724a50a4cabb68b7c5f5b8d3812d38f65391 (diff) |
vbo: fix assertion, #define IMM_BUFFER_NAME
This was sometimes seen when Glean exited upon test failure when using
Gallium.
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/vbo/vbo_exec_api.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index a8a09859a0..34e849aaab 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -51,6 +51,10 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #endif +/** ID/name for immediate-mode VBO */ +#define IMM_BUFFER_NAME 0xaabbccdd + + static void reset_attrfv( struct vbo_exec_context *exec ); @@ -665,7 +669,7 @@ void vbo_use_buffer_objects(GLcontext *ctx) /* Any buffer name but 0 can be used here since this bufferobj won't * go into the bufferobj hashtable. */ - GLuint bufName = 0xaabbccdd; + GLuint bufName = IMM_BUFFER_NAME; GLenum target = GL_ARRAY_BUFFER_ARB; GLenum usage = GL_STREAM_DRAW_ARB; GLsizei size = VBO_VERT_BUFFER_SIZE; @@ -734,7 +738,8 @@ void vbo_exec_vtx_destroy( struct vbo_exec_context *exec ) /* True VBOs should already be unmapped */ if (exec->vtx.buffer_map) { - assert (exec->vtx.bufferobj->Name == 0); + ASSERT(exec->vtx.bufferobj->Name == 0 || + exec->vtx.bufferobj->Name == IMM_BUFFER_NAME); if (exec->vtx.bufferobj->Name == 0) { ALIGN_FREE(exec->vtx.buffer_map); exec->vtx.buffer_map = NULL; |