summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2010-04-19 12:52:25 -0400
committerZack Rusin <[email protected]>2010-04-19 12:53:27 -0400
commit4df3e76949e1ca7b29f844ad9a715b442396a024 (patch)
treecbe97eab53f1a6342f0dd319bd1edabf3c55f763 /src/gallium/auxiliary/draw
parent7c4208c3a0f48955720f41b3cb320a120c505ba6 (diff)
draw llvm: allow runtime switching of pipelines (yes/no to llvm)
use DRAW_USE_LLVM to disable or enable (default) llvm
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h1
-rw-r--r--src/gallium/auxiliary/draw/draw_pt.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index e250b3a1d5a..2ef05cea37d 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -251,6 +251,7 @@ struct draw_context
#ifdef HAVE_LLVM
LLVMExecutionEngineRef engine;
+ bool use_llvm;
#endif
void *driver_private;
};
diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
index 43f6c5650a0..f803e6d86a4 100644
--- a/src/gallium/auxiliary/draw/draw_pt.c
+++ b/src/gallium/auxiliary/draw/draw_pt.c
@@ -123,6 +123,7 @@ boolean draw_pt_init( struct draw_context *draw )
{
draw->pt.test_fse = debug_get_bool_option("DRAW_FSE", FALSE);
draw->pt.no_fse = debug_get_bool_option("DRAW_NO_FSE", FALSE);
+ draw->use_llvm = debug_get_bool_option("DRAW_USE_LLVM", TRUE);
draw->pt.front.vcache = draw_pt_vcache( draw );
if (!draw->pt.front.vcache)
@@ -141,7 +142,8 @@ boolean draw_pt_init( struct draw_context *draw )
return FALSE;
#if HAVE_LLVM
- draw->pt.middle.general = draw_pt_fetch_pipeline_or_emit_llvm( draw );
+ if (draw->use_llvm)
+ draw->pt.middle.general = draw_pt_fetch_pipeline_or_emit_llvm( draw );
#else
draw->pt.middle.general = NULL;
#endif