From 368ca83a3fdfbe8dfe591ab73d29c500d1a91c0a Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 4 Mar 2009 17:01:47 +0000 Subject: vbo: second attempt - avoid getting buffer_ptr and buffer_map out of sync --- src/mesa/vbo/vbo_exec_api.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/mesa/vbo/vbo_exec_api.c') diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 9c2d065913..a1e66aec63 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -675,6 +675,7 @@ void vbo_use_buffer_objects(GLcontext *ctx) if (exec->vtx.buffer_map) { _mesa_align_free(exec->vtx.buffer_map); exec->vtx.buffer_map = NULL; + exec->vtx.buffer_ptr = NULL; } /* Allocate a real buffer object now */ @@ -700,6 +701,7 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec ) ASSERT(!exec->vtx.buffer_map); exec->vtx.buffer_map = (GLfloat *)ALIGN_MALLOC(VBO_VERT_BUFFER_SIZE, 64); + exec->vtx.buffer_ptr = exec->vtx.buffer_map; vbo_exec_vtxfmt_init( exec ); @@ -735,6 +737,7 @@ void vbo_exec_vtx_destroy( struct vbo_exec_context *exec ) if (exec->vtx.buffer_map) { ALIGN_FREE(exec->vtx.buffer_map); exec->vtx.buffer_map = NULL; + exec->vtx.buffer_ptr = NULL; } } } -- cgit v1.2.3