diff options
author | Luca Barbieri <[email protected]> | 2010-08-15 07:37:31 +0200 |
---|---|---|
committer | Luca Barbieri <[email protected]> | 2010-08-16 17:13:17 +0200 |
commit | f201217c1d87919572a3b1cf7de94f580f20e5f0 (patch) | |
tree | 1b53305a5ade7b6c75cdbb335f3ab84f3bb1f05e /src/gallium/auxiliary/draw/draw_pt.c | |
parent | c2da8e77023325f46dde2009def2947b1a687c7b (diff) |
draw_llvm: fix segfaults on non-SSE2 CPUs where it is disabled (v2)
Changes in v2:
- Change function name
Currently draw_llvm refuses to create itself on non-SSE2 CPUs due to
an alleged LLVM bug.
However, this is implemented improperly, because other parts of draw
still attempt to access draw->llvm, resulting in segfaults.
Instead, put the check in debug_get_option_draw_use_llvm, check that
before calling draw_llvm_create, and then check whether draw->llvm is
non-null everywhere else.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index b80fc8f5522..feacd8258b5 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -43,9 +43,6 @@ DEBUG_GET_ONCE_BOOL_OPTION(draw_fse, "DRAW_FSE", FALSE) DEBUG_GET_ONCE_BOOL_OPTION(draw_no_fse, "DRAW_NO_FSE", FALSE) -#ifdef HAVE_LLVM -DEBUG_GET_ONCE_BOOL_OPTION(draw_use_llvm, "DRAW_USE_LLVM", TRUE) -#endif /* Overall we split things into: * - frontend -- prepare fetch_elts, draw_elts - eg vsplit @@ -140,7 +137,7 @@ boolean draw_pt_init( struct draw_context *draw ) return FALSE; #if HAVE_LLVM - if (debug_get_option_draw_use_llvm()) + if (draw->llvm) draw->pt.middle.llvm = draw_pt_fetch_pipeline_or_emit_llvm( draw ); #endif |