Mesa (master): llvmpipe: Make more resilient to out-of-memory situations.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Fri Feb 3 19:00:09 UTC 2012
Module: Mesa
Branch: master
Commit: 8184228e8b894b434a87387c79d9a11a50684272
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8184228e8b894b434a87387c79d9a11a50684272
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 9 19:29:37 2011 +0000
llvmpipe: Make more resilient to out-of-memory situations.
Most of the code was alright, but we were missing a few paths.
Reviewed-by: Brian Paul <brianp at vmware.com>
---
src/gallium/drivers/llvmpipe/lp_texture.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 8fac77b..e895485 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -978,7 +978,9 @@ alloc_image_data(struct llvmpipe_resource *lpr, unsigned level,
/* tiled data is stored in regular memory */
uint buffer_size = tex_image_size(lpr, level, layout);
lpr->tiled[level].data = align_malloc(buffer_size, alignment);
- memset(lpr->tiled[level].data, 0, buffer_size);
+ if (lpr->tiled[level].data) {
+ memset(lpr->tiled[level].data, 0, buffer_size);
+ }
}
else {
assert(layout == LP_TEX_LAYOUT_LINEAR);
@@ -997,7 +999,9 @@ alloc_image_data(struct llvmpipe_resource *lpr, unsigned level,
/* not a display target - allocate regular memory */
uint buffer_size = tex_image_size(lpr, level, LP_TEX_LAYOUT_LINEAR);
lpr->linear[level].data = align_malloc(buffer_size, alignment);
- memset(lpr->linear[level].data, 0, buffer_size);
+ if (lpr->linear[level].data) {
+ memset(lpr->linear[level].data, 0, buffer_size);
+ }
}
}
}
More information about the mesa-commit
mailing list