From 8dd3e341b337ca2d22bcc0e7548a78a6c36ca77d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 30 Apr 2012 14:44:26 -0600 Subject: svga: check for and skip null vertex buffer pointers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes regressions with google earth and other things. Reviewed-by: José Fonseca --- src/gallium/drivers/svga/svga_swtnl_draw.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/gallium/drivers/svga') diff --git a/src/gallium/drivers/svga/svga_swtnl_draw.c b/src/gallium/drivers/svga/svga_swtnl_draw.c index 377026411f2..bb6870f6572 100644 --- a/src/gallium/drivers/svga/svga_swtnl_draw.c +++ b/src/gallium/drivers/svga/svga_swtnl_draw.c @@ -66,12 +66,14 @@ svga_swtnl_draw_vbo(struct svga_context *svga, * Map vertex buffers */ for (i = 0; i < svga->curr.num_vertex_buffers; i++) { - map = pipe_buffer_map(&svga->pipe, - svga->curr.vb[i].buffer, - PIPE_TRANSFER_READ, - &vb_transfer[i]); - - draw_set_mapped_vertex_buffer(draw, i, map); + if (svga->curr.vb[i].buffer) { + map = pipe_buffer_map(&svga->pipe, + svga->curr.vb[i].buffer, + PIPE_TRANSFER_READ, + &vb_transfer[i]); + + draw_set_mapped_vertex_buffer(draw, i, map); + } } /* TODO move this to update_swtnl_draw */ @@ -109,8 +111,10 @@ svga_swtnl_draw_vbo(struct svga_context *svga, * unmap vertex/index buffers */ for (i = 0; i < svga->curr.num_vertex_buffers; i++) { - pipe_buffer_unmap(&svga->pipe, vb_transfer[i]); - draw_set_mapped_vertex_buffer(draw, i, NULL); + if (svga->curr.vb[i].buffer) { + pipe_buffer_unmap(&svga->pipe, vb_transfer[i]); + draw_set_mapped_vertex_buffer(draw, i, NULL); + } } if (ib_transfer) { -- cgit v1.2.3