diff options
author | Corbin Simpson <[email protected]> | 2009-07-02 16:31:24 -0700 |
---|---|---|
committer | Corbin Simpson <[email protected]> | 2009-07-02 16:32:59 -0700 |
commit | 9a0b570ab64169cee66f848d97d65f22c43d13ec (patch) | |
tree | d5303fae32ed72645de53761e92746e86a3b95a3 /src/mesa | |
parent | aa5b9c050f13a7ca57a7a059eb2b7ed78cc6b636 (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')
-rw-r--r-- | src/mesa/vbo/vbo_exec_draw.c | 3 |
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; } |