From: Nicolai Hähnle Date: Wed, 13 Apr 2016 15:55:29 +0000 (-0500) Subject: gallium/radeon: handle failure when mapping staging buffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a17911ceb11fbf14b296095a9b5c506295b73d99;p=mesa.git gallium/radeon: handle failure when mapping staging buffer Cc: "11.1 11.2" Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 47514e91d23..664dc5bfdce 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -376,6 +376,10 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, 0, 0, resource, level, box); data = r600_buffer_map_sync_with_rings(rctx, staging, PIPE_TRANSFER_READ); + if (!data) { + pipe_resource_reference((struct pipe_resource **)&staging, NULL); + return NULL; + } data += box->x % R600_MAP_BUFFER_ALIGNMENT; return r600_buffer_get_transfer(ctx, resource, level, usage, box,