summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2015-09-10 18:14:36 +0200
committerMarek Olšák <marek.olsak@amd.com>2015-09-24 19:51:42 +0200
commitdea834e639715caa9517a695a3fb04d5de9aa069 (patch)
treee767a0e318d9637193fed3afe3601d6677d18bbb /src/gallium
parentf95e695059c428a21a1e1a27d5cd5ccce2a97b0e (diff)
downloadexternal_mesa3d-dea834e639715caa9517a695a3fb04d5de9aa069.zip
external_mesa3d-dea834e639715caa9517a695a3fb04d5de9aa069.tar.gz
external_mesa3d-dea834e639715caa9517a695a3fb04d5de9aa069.tar.bz2
gallium/radeon: add a fail path for depth MSAA texture readback
Cc: 11.0 <mesa-stable@lists.freedesktop.org> Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeon/r600_texture.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index a025916..fc69f48 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -989,6 +989,11 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx,
if (usage & PIPE_TRANSFER_READ) {
struct pipe_resource *temp = ctx->screen->resource_create(ctx->screen, &resource);
+ if (!temp) {
+ R600_ERR("failed to create a temporary depth texture\n");
+ FREE(trans);
+ return NULL;
+ }
r600_copy_region_with_blit(ctx, temp, 0, 0, 0, 0, texture, level, box);
rctx->blit_decompress_depth(ctx, (struct r600_texture*)temp, staging_depth,