LLVM Back-End For Gallium3D Almost There
While Tungsten's Gallium3D architecture is still a ways out from being used by most open-source graphics drivers and then being picked up by end-users, it continues to pickup new technical features. Corbin Simpson and Stephane Marchesin that work on the Radeon and Nouveau projects, respectively, have been working to building LLVM back-ends for Gallium3D. Corbin is a step closer to getting his LLVM compiler working: it now builds, but it ends with a segmentation fault.
LLVM, or the Low-Level Virtual Machine, is a compiler infrastructure written in C++ but can handle building programs in other languages too. LLVM is being used by Gallium3D for optimization purposes and using a real compiler to compile the shaders for the GPU. Corbin's LLVM back-end has been for an R300 vertex shader. We first talked about LLVM and Gallium3D back in February with the possibility of a GPGPU API in Gallium3D.
There's still plenty of work ahead, but this is a step in the right direction. Some other recent activity with the Gallium3D project includes the Nouveau driver being merged in Gallium3D v0.2, Generic Gallium3D Video Decoding, and new APIs coming to Gallium3D.
Confirmation of Corbin's initial R300 LLVM back-end building can be found on dri-devel. More on Gallium3D's LLVM can be found in this header file. For more on the Low-Level Virtual Machine Compiler Infrastructure, check out its web-site.