summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_vs.c
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2014-04-23 17:06:13 -0400
committerZack Rusin <[email protected]>2014-04-24 13:59:24 -0400
commit1c73e919a4b4dd79166d0633075990056f27fd28 (patch)
tree0a8295b69c5cba74760fa28bea7abab4bb7a618c /src/gallium/auxiliary/draw/draw_vs.c
parent552a8e44a92937a6ec6db05f4bea583245431b71 (diff)
draw/llvm: reduce memory usage
Lets make draw_get_option_use_llvm function available unconditionally and use it to avoid useless allocations when LLVM paths are active. TGSI machine is never used when we're using LLVM. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_vs.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs.c b/src/gallium/auxiliary/draw/draw_vs.c
index 55cbeb9203d..eb7f4e0967c 100644
--- a/src/gallium/auxiliary/draw/draw_vs.c
+++ b/src/gallium/auxiliary/draw/draw_vs.c
@@ -149,9 +149,11 @@ draw_vs_init( struct draw_context *draw )
{
draw->dump_vs = debug_get_option_gallium_dump_vs();
- draw->vs.tgsi.machine = tgsi_exec_machine_create();
- if (!draw->vs.tgsi.machine)
- return FALSE;
+ if (!draw_get_option_use_llvm()) {
+ draw->vs.tgsi.machine = tgsi_exec_machine_create();
+ if (!draw->vs.tgsi.machine)
+ return FALSE;
+ }
draw->vs.emit_cache = translate_cache_create();
if (!draw->vs.emit_cache)
@@ -173,7 +175,8 @@ draw_vs_destroy( struct draw_context *draw )
if (draw->vs.emit_cache)
translate_cache_destroy(draw->vs.emit_cache);
- tgsi_exec_machine_destroy(draw->vs.tgsi.machine);
+ if (!draw_get_option_use_llvm())
+ tgsi_exec_machine_destroy(draw->vs.tgsi.machine);
}