Mesa (master): draw: Fail if we fail to enable llvm when asked for it

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Mon Jan 9 20:40:25 UTC 2012


Module: Mesa
Branch: master
Commit: f4863f3923152448e27ea68d0cd04411bbe3f4c7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4863f3923152448e27ea68d0cd04411bbe3f4c7

Author: Jakob Bornecrantz <wallbraker at 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 <wallbraker at gmail.com>
Reviewed-by: Brian Paul <brianp at 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;
 }
 




More information about the mesa-commit mailing list