Gallium3D's LLVMpipe Software Rasterizer Is Kicking
While we are still waiting for the hardware drivers to mature for Gallium3D (particularly the Nouveau stack for all NVIDIA GPUs, the Intel 965 driver, the ATI R300g driver to mature, and then the R600g driver to come about), VMware has been working on their a software rasterizer as well through a Gallium3D state tracker. This new software rasterizer looks like it's finally coming about and is already delivering great performance compared to Mesa's existing software rasterizer that is rather crippled.
José Fonseca has been leading the work on llvmpipe, which uses LLVM (the Low-Level Virtual Machine) to generate and optimize code (shaders) for Gallium3D. LLVMpipe offers a software rasterizer. This rasterizer is threaded and tiled, which allows it to scale well on modern hardware and much better than what is currently used within Mesa. The entire fragment pipeline is already code-generated, but Zack Rusin has been working on implementing the vertex pipeline within llvmpipe. Zack's also been working on other missing pieces too.
There's still a lot of work left to do on LLVMpipe and its software rasterizer as well as Gallium3D in general, but its already running modestly well considering its state. Zack has been able to run OpenArena on an Intel Xeon E5405 (it's a 2.0GHz quad-core) processor at 25 FPS, which is just about playable, but there are some artifacts that need to be addressed. This is in comparison to the software renderer in Mesa that runs at 3.5 FPS on the same hardware.
Read more on Zack Rusin's blog.
José Fonseca has been leading the work on llvmpipe, which uses LLVM (the Low-Level Virtual Machine) to generate and optimize code (shaders) for Gallium3D. LLVMpipe offers a software rasterizer. This rasterizer is threaded and tiled, which allows it to scale well on modern hardware and much better than what is currently used within Mesa. The entire fragment pipeline is already code-generated, but Zack Rusin has been working on implementing the vertex pipeline within llvmpipe. Zack's also been working on other missing pieces too.
There's still a lot of work left to do on LLVMpipe and its software rasterizer as well as Gallium3D in general, but its already running modestly well considering its state. Zack has been able to run OpenArena on an Intel Xeon E5405 (it's a 2.0GHz quad-core) processor at 25 FPS, which is just about playable, but there are some artifacts that need to be addressed. This is in comparison to the software renderer in Mesa that runs at 3.5 FPS on the same hardware.
Read more on Zack Rusin's blog.
25 Comments