On Tue, Jul 23, 2013 at 2:52 PM, <srol...@vmware.com> wrote: > From: Roland Scheidegger <srol...@vmware.com> > > CPU detection is not really x86 specific, the ifdef in particular didn't > even catch x86_64. > Also move to draw context creation which seems a lot cleaner, and just > call it always (which seems like a better idea than rely on drivers doing this > especially if drivers otherwise don't need it). > This fixes https://bugs.freedesktop.org/show_bug.cgi?id=66806. > (Because util_cpu_caps wasn't initialized when first calling > util_fpstate_get() > hence it returning zero, but it would later get initialized by rtasm translate > code hence when draw call returned it unmasked all exceptions by calling > util_fpstate_set(). This was happening only with DRAW_USE_LLVM=0 or not > compiling with llvm, otherwise the llvm init code was calling it on time too.) > --- > src/gallium/auxiliary/draw/draw_context.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/auxiliary/draw/draw_context.c > b/src/gallium/auxiliary/draw/draw_context.c > index 4a08765..26af984 100644 > --- a/src/gallium/auxiliary/draw/draw_context.c > +++ b/src/gallium/auxiliary/draw/draw_context.c > @@ -57,8 +57,7 @@ draw_get_option_use_llvm(void) > value = debug_get_bool_option("DRAW_USE_LLVM", TRUE); > > #ifdef PIPE_ARCH_X86 > - util_cpu_detect(); > - /* require SSE2 due to LLVM PR6960. */ > + /* require SSE2 due to LLVM PR6960. XXX Might be fixed by now? */ > if (!util_cpu_caps.has_sse2) > value = FALSE; > #endif > @@ -78,6 +77,8 @@ draw_create_context(struct pipe_context *pipe, boolean > try_llvm) > if (draw == NULL) > goto err_out; > > + util_cpu_detect(); > + > #if HAVE_LLVM > if (try_llvm && draw_get_option_use_llvm()) { > draw->llvm = draw_llvm_create(draw); > -- > 1.7.9.5
With this patch, glxgears runs again for me with softpipe. Tested-by: Vinson Lee <v...@freedesktop.org> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev