vbo: fix assertion, #define IMM_BUFFER_NAME

This was sometimes seen when Glean exited upon test failure when using
Gallium.
This commit is contained in:
Brian Paul 2009-06-10 13:00:35 -06:00
parent cc09724a50
commit 9d5479eeeb

View file

@ -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;