From 7bbce21e458d912279159aa6ac122768c6c06551 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 10 Sep 2015 18:48:12 +0200 Subject: [PATCH] gallium/u_blitter: handle allocation failures MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Cc: 11.0 Acked-by: Christian König Reviewed-by: Michel Dänzer --- src/gallium/auxiliary/util/u_blitter.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 9bba07aa18e..2fbf69c67d2 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -1190,6 +1190,8 @@ static void blitter_draw(struct blitter_context_priv *ctx, u_upload_data(ctx->upload, 0, sizeof(ctx->vertices), ctx->vertices, &vb.buffer_offset, &vb.buffer); + if (!vb.buffer) + return; u_upload_unmap(ctx->upload); pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, &vb); @@ -2089,6 +2091,9 @@ void util_blitter_clear_buffer(struct blitter_context *blitter, u_upload_data(ctx->upload, 0, num_channels*4, clear_value, &vb.buffer_offset, &vb.buffer); + if (!vb.buffer) + goto out; + vb.stride = 0; blitter_set_running_flag(ctx); @@ -2112,6 +2117,7 @@ void util_blitter_clear_buffer(struct blitter_context *blitter, util_draw_arrays(pipe, PIPE_PRIM_POINTS, 0, size / 4); +out: blitter_restore_vertex_states(ctx); blitter_restore_render_cond(ctx); blitter_unset_running_flag(ctx); -- 2.30.2