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@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Jakob Bornecrantz
2012-01-09 18:17:07 +01:00
parent 3e22c7a253
commit f4863f3923
+11 -5
View File
@@ -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;
}