summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo/vbo_exec_draw.c
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-07-02 16:31:24 -0700
committerCorbin Simpson <[email protected]>2009-07-02 16:32:59 -0700
commit9a0b570ab64169cee66f848d97d65f22c43d13ec (patch)
treed5303fae32ed72645de53761e92746e86a3b95a3 /src/mesa/vbo/vbo_exec_draw.c
parentaa5b9c050f13a7ca57a7a059eb2b7ed78cc6b636 (diff)
vbo: If MapBufferRange fails, try MapBuffer instead.
Fixes segfaults with radeon winsys. (Probably libdrm_radeon doing something that it shouldn't.)
Diffstat (limited to 'src/mesa/vbo/vbo_exec_draw.c')
-rw-r--r--src/mesa/vbo/vbo_exec_draw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/vbo/vbo_exec_draw.c b/src/mesa/vbo/vbo_exec_draw.c
index 5442a409ad4..bfe9ef0a483 100644
--- a/src/mesa/vbo/vbo_exec_draw.c
+++ b/src/mesa/vbo/vbo_exec_draw.c
@@ -327,9 +327,10 @@ vbo_exec_vtx_map( struct vbo_exec_context *exec )
0, VBO_VERT_BUFFER_SIZE,
accessRange,
exec->vtx.bufferobj);
- else
+ if (!exec->vtx.buffer_map)
exec->vtx.buffer_map =
(GLfloat *)ctx->Driver.MapBuffer(ctx, target, access, exec->vtx.bufferobj);
+ assert(exec->vtx.buffer_map);
exec->vtx.buffer_ptr = exec->vtx.buffer_map;
}