Module: Mesa Branch: master Commit: f4863f3923152448e27ea68d0cd04411bbe3f4c7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4863f3923152448e27ea68d0cd04411bbe3f4c7
Author: Jakob Bornecrantz <wallbra...@gmail.com> Date: Mon Jan 9 18:17:07 2012 +0100 draw: Fail if we fail to enable llvm when asked for it The r300 driver requires LLVM when building and other drivers that depend on it for all TNL, like i915g will be a lot slower without it. Signed-off-by: Jakob Bornecrantz <wallbra...@gmail.com> Reviewed-by: Brian Paul <bri...@vmware.com> --- src/gallium/auxiliary/draw/draw_context.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index f4b1f8c..f6db95d 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -74,7 +74,7 @@ draw_create_context(struct pipe_context *pipe, boolean try_llvm, { struct draw_context *draw = CALLOC_STRUCT( draw_context ); if (draw == NULL) - goto fail; + goto err_out; #if HAVE_LLVM if (try_llvm && draw_get_option_use_llvm()) { @@ -83,20 +83,26 @@ draw_create_context(struct pipe_context *pipe, boolean try_llvm, draw->own_gallivm = gallivm; } - if (gallivm) - draw->llvm = draw_llvm_create(draw, gallivm); + if (!gallivm) + goto err_destroy; + + draw->llvm = draw_llvm_create(draw, gallivm); + + if (!draw->llvm) + goto err_destroy; } #endif if (!draw_init(draw)) - goto fail; + goto err_destroy; draw->pipe = pipe; return draw; -fail: +err_destroy: draw_destroy( draw ); +err_out: return NULL; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit