[Mesa-dev] The GL3.txt format

Roland Scheidegger sroland at vmware.com
Mon Aug 25 07:28:32 PDT 2014


Am 25.08.2014 07:56, schrieb Kenneth Graunke:
> On Monday, August 25, 2014 12:05:07 AM Romain Failliot wrote:
>> Some folks helped me and a lot of detection bug have been fixed!
>>
>> I have a question though (for my own culture): what's with the swrast, the
>> softpipe and the llvmpipe? Aren't they all software drivers? What's the
>> difference between all of them?
>>
>> Thanks you!
> 
> swrast is Mesa's original software rasterizer - the oldest of the three.  In addition to being a standalone software driver, it's also used for software fallbacks in the classic drivers (i915, i965, r100, r200, nouveau_vieux).
> 
> softpipe is newer - a Gallium based software rasterizer.  It has a lot more features than the old swrast.  It's not particularly fast, but is pretty simple in comparison to llvmpipe.
> 
> llvmpipe uses LLVM to compile shaders to native assembly, rather than using an interpreter.  As such, it's much faster than the other two.
> 
> At least, that's my understanding of the situation.
> 
> --Ken

In addition to that, softpipe is more meant as a development tool - way
easier to debug if something goes wrong than llvmpipe. It is lagging a
bit behind llvmpipe though in some areas.
llvmpipe, while not listed in GL3.txt, actually can do all up to and
including GL 3.3, with the exception of real MSAA (the implementation is
fake and not conformant). Similar story with softpipe (though it has
more non-compliant behavior wrt texturing especially, like explicit
derivatives not working, no offsets etc.).


More information about the mesa-dev mailing list