summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2010-04-19 12:46:08 -0400
committerZack Rusin <[email protected]>2010-04-19 12:53:27 -0400
commit7c4208c3a0f48955720f41b3cb320a120c505ba6 (patch)
tree4e6f60cd8d6670d93f0e1a7786188d05389c94dd
parentdeee1523639b4b59841ecbbdebe6797541e0e7d1 (diff)
draw llvm: fix constructor mess
use just one constructor to figure out whether to use llvm.
-rw-r--r--src/gallium/auxiliary/draw/draw_context.c8
-rw-r--r--src/gallium/auxiliary/draw/draw_context.h7
-rw-r--r--src/gallium/auxiliary/draw/draw_llvm.c22
-rw-r--r--src/gallium/drivers/llvmpipe/lp_context.c8
4 files changed, 9 insertions, 36 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c
index 5726444c9b7..0d8f8807b24 100644
--- a/src/gallium/auxiliary/draw/draw_context.c
+++ b/src/gallium/auxiliary/draw/draw_context.c
@@ -38,6 +38,9 @@
#include "draw_vs.h"
#include "draw_gs.h"
+#if HAVE_LLVM
+#include "gallivm/lp_bld_init.h"
+#endif
struct draw_context *draw_create( struct pipe_context *pipe )
{
@@ -45,6 +48,11 @@ struct draw_context *draw_create( struct pipe_context *pipe )
if (draw == NULL)
goto fail;
+#if HAVE_LLVM
+ assert(lp_build_engine);
+ draw->engine = lp_build_engine;
+#endif
+
if (!draw_init(draw))
goto fail;
diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h
index 0d328304eb0..51767bb214d 100644
--- a/src/gallium/auxiliary/draw/draw_context.h
+++ b/src/gallium/auxiliary/draw/draw_context.h
@@ -197,11 +197,4 @@ boolean draw_need_pipeline(const struct draw_context *draw,
const struct pipe_rasterizer_state *rasterizer,
unsigned prim );
-#ifdef HAVE_LLVM
-/*******************************************************************************
- * LLVM integration
- */
-struct draw_context *draw_create_with_llvm(void);
-#endif
-
#endif /* DRAW_CONTEXT_H */
diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c
index a5403a49c35..e3ef9e425fa 100644
--- a/src/gallium/auxiliary/draw/draw_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_llvm.c
@@ -196,7 +196,7 @@ draw_llvm_create(struct draw_context *draw)
init_globals(llvm);
-#if 1
+#if 0
LLVMDumpModule(llvm->module);
#endif
@@ -223,26 +223,6 @@ draw_llvm_prepare(struct draw_llvm *llvm, int num_inputs)
return variant;
}
-
-struct draw_context *draw_create_with_llvm(void)
-{
- struct draw_context *draw = CALLOC_STRUCT( draw_context );
- if (draw == NULL)
- goto fail;
-
- assert(lp_build_engine);
- draw->engine = lp_build_engine;
-
- if (!draw_init(draw))
- goto fail;
-
- return draw;
-
-fail:
- draw_destroy( draw );
- return NULL;
-}
-
static void
generate_vs(struct draw_llvm *llvm,
LLVMBuilderRef builder,
diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
index efdc2450f79..f7cf06d8d46 100644
--- a/src/gallium/drivers/llvmpipe/lp_context.c
+++ b/src/gallium/drivers/llvmpipe/lp_context.c
@@ -45,10 +45,6 @@
#include "lp_query.h"
#include "lp_setup.h"
-
-#define USE_DRAW_LLVM 1
-
-
static void llvmpipe_destroy( struct pipe_context *pipe )
{
struct llvmpipe_context *llvmpipe = llvmpipe_context( pipe );
@@ -162,11 +158,7 @@ llvmpipe_create_context( struct pipe_screen *screen, void *priv )
/*
* Create drawing context and plug our rendering stage into it.
*/
-#if USE_DRAW_LLVM
- llvmpipe->draw = draw_create_with_llvm(&llvmpipe->pipe);
-#else
llvmpipe->draw = draw_create(&llvmpipe->pipe);
-#endif
if (!llvmpipe->draw)
goto fail;