Mesa (master): llvmpipe: add out of memory checking to triangle setup path
Brian Paul
brianp at kemper.freedesktop.org
Fri May 28 18:53:26 UTC 2010
Module: Mesa
Branch: master
Commit: 151b3bb3af722f0e14e209171acc2239d3cf2817
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=151b3bb3af722f0e14e209171acc2239d3cf2817
Author: Brian Paul <brianp at vmware.com>
Date: Fri May 28 12:49:49 2010 -0600
llvmpipe: add out of memory checking to triangle setup path
---
src/gallium/drivers/llvmpipe/lp_setup_tri.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
index 306cb6e..34d7125 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -272,12 +272,14 @@ alloc_triangle(struct lp_scene *scene, unsigned nr_inputs, unsigned *tri_size)
tri = lp_scene_alloc_aligned( scene, bytes, 16 );
- inputs = (char *) (tri + 1);
- tri->inputs.a0 = (float (*)[4]) inputs;
- tri->inputs.dadx = (float (*)[4]) (inputs + input_array_sz);
- tri->inputs.dady = (float (*)[4]) (inputs + 2 * input_array_sz);
+ if (tri) {
+ inputs = (char *) (tri + 1);
+ tri->inputs.a0 = (float (*)[4]) inputs;
+ tri->inputs.dadx = (float (*)[4]) (inputs + input_array_sz);
+ tri->inputs.dady = (float (*)[4]) (inputs + 2 * input_array_sz);
- *tri_size = bytes;
+ *tri_size = bytes;
+ }
return tri;
}
@@ -341,6 +343,8 @@ do_triangle_ccw(struct lp_setup_context *setup,
print_triangle(setup, v1, v2, v3);
tri = alloc_triangle(scene, setup->fs.nr_inputs, &tri_bytes);
+ if (!tri)
+ return;
#ifdef DEBUG
tri->v[0][0] = v1[0][0];
More information about the mesa-commit
mailing list