From 7288bfb2a480a06605e671485ea9887f502e5e1a Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Nov 2011 09:51:11 -0700 Subject: [PATCH] util: check for null vertex buffer object in blit code Don't crash if we fail to allocate a vertex buffer. --- src/gallium/auxiliary/util/u_blit.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/gallium/auxiliary/util/u_blit.c b/src/gallium/auxiliary/util/u_blit.c index 6a4324bc217..3a0d7d42406 100644 --- a/src/gallium/auxiliary/util/u_blit.c +++ b/src/gallium/auxiliary/util/u_blit.c @@ -286,8 +286,10 @@ setup_vertex_data_tex(struct blit_state *ctx, offset = get_next_slot( ctx ); - pipe_buffer_write_nooverlap(ctx->pipe, ctx->vbuf, - offset, sizeof(ctx->vertices), ctx->vertices); + if (ctx->vbuf) { + pipe_buffer_write_nooverlap(ctx->pipe, ctx->vbuf, + offset, sizeof(ctx->vertices), ctx->vertices); + } return offset; } @@ -599,10 +601,12 @@ util_blit_pixels_writemask(struct blit_state *ctx, s1, t1, z); - util_draw_vertex_buffer(ctx->pipe, ctx->cso, ctx->vbuf, offset, - PIPE_PRIM_TRIANGLE_FAN, - 4, /* verts */ - 2); /* attribs/vert */ + if (ctx->vbuf) { + util_draw_vertex_buffer(ctx->pipe, ctx->cso, ctx->vbuf, offset, + PIPE_PRIM_TRIANGLE_FAN, + 4, /* verts */ + 2); /* attribs/vert */ + } /* restore state we changed */ cso_restore_blend(ctx->cso); -- 2.30.2