[Mesa-dev] Comparison of llvmpipe with 2.9 and 3.1

Jose Fonseca jfonseca at vmware.com
Mon Jun 25 03:54:26 PDT 2012


----- Original Message -----
> Hi,
> 
> I've just finished two piglit runs of llvmpipe with glsl 1.40 and gl
> 3.1 forced on, one with LLVM 2.9, the other with 3.1.
> 
> The least we can say is that there aren't many differences.
> 
> - fp-indirections2, didn't have the patience to wait to see whether
> it
>   would eventually stop.  Looks like something quadratic or worse in
>   the LLVM optimizers.
> 
> - 17000-consecutive-chars-identifier, the memory corruption it
> creates
>   behaved differently (probably due to the different glibc, it wasn't
>   on
>   the same box), causing a deadlock in malloc()
> 
> - texCombine fails on 3.1 only with:
> Returncode: -5
> 
> Errors:
> src/gallium/auxiliary/draw/draw_llvm.c:309:create_jit_vertex_header:
> Assertion `LLVMABISizeOfType(target, vertex_header) ==
> __builtin_offsetof (struct vertex_header, data[data_elems])' failed.

I investigated this issue. This is caused because the ability to invalidate structure layouts was removed from llvm 3.0. This only happens when gallivm's garabbage collection kicks in.

I have some patches which replace global LLVMContext + garbagge collection with many LLVMContext -- something necessary for other reasons, namely, using MC-JIT --, which fix this.


For best results, the fixes in http://cgit.freedesktop.org/~jrfonseca/llvm/log/?h=backports_31 should be applied.


Jose


> 
> 
> Output:
> ----------------------------------------------------------------------
> GL_EXT_texture_env_combine verification test.
> We only test a subset of all possible texture env combinations
> because there's simply too many to exhaustively test them all.
> 
> 
> 
> So, in total, the story isn't bad.
> 
> Best,
> 
>   OG.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list