draw llvm: fix constructor mess

use just one constructor to figure out whether to use llvm.
This commit is contained in:
Zack Rusin 2010-04-19 12:46:08 -04:00
parent deee152363
commit 7c4208c3a0
4 changed files with 9 additions and 36 deletions

View file

@ -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;

View file

@ -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 */

View file

@ -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,

View file

@ -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;