Module: Mesa Branch: mesa_7_7_branch Commit: 8e8502bc6352227afda370cfeeb1a49b128df752 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e8502bc6352227afda370cfeeb1a49b128df752
Author: Maarten Maathuis <[email protected]> Date: Sun Dec 20 05:03:03 2009 -0800 gallium: only create pipe buffer when size is nonzero - This fixes a crash upon starting spring (a rts engine/game). Signed-off-by: Maarten Maathuis <[email protected]> --- src/mesa/state_tracker/st_cb_bufferobjects.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 63196af..494a3a9 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -170,15 +170,19 @@ st_bufferobj_data(GLcontext *ctx, pipe_buffer_reference( &st_obj->buffer, NULL ); - st_obj->buffer = pipe_buffer_create( pipe->screen, 32, buffer_usage, size ); + if (size != 0) { + st_obj->buffer = pipe_buffer_create(pipe->screen, 32, buffer_usage, size); - if (!st_obj->buffer) { - return GL_FALSE; + if (!st_obj->buffer) { + return GL_FALSE; + } + + if (data) + st_no_flush_pipe_buffer_write(st_context(ctx), st_obj->buffer, 0, + size, data); + return GL_TRUE; } - if (data) - st_no_flush_pipe_buffer_write(st_context(ctx), st_obj->buffer, 0, - size, data); return GL_TRUE; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
