FreeDesktop.org hacker Zack Rusin has provided an update on his blog about some of his recent activities when it comes to Gallium3D
In particular, this blog post
largely talks about his recent work on TGSI, which is the intermediate representation used by Gallium3D, to improve the compilation of shaders. In order to improve TGSI since most modern hardware is designed around DirectX needs rather than OpenGL, TGSI could be changed to match that of the Direct3D semantics, Gallium3D could convert some of the IR before it gets submitted to the graphics driver, or the intermediate representation itself could be changed. Zack is opting for the path of changing TGSI IR itself. There are also a few other benefits to changing the TGSI intermediate representation, which he expresses in his post.
Besides that, he mentions the LLVM
code for Gallium3D is far from finished. Back in February we talked about embedding a code compiler with a GPU driver
in order to compile and optimize graphics shaders (in a similar way to how Apple optimizes its shaders for Mac OS X), but so far there has not been a lot of progress made. Most of the Low-Level Virtual Machine work on Gallium3D has been done by Stephane Marchesin of Nouveau
and Corbin Simpson on the ATI side. Zack shares though that he may be able to piggyback some of the LLVM work on top of his OpenCL state tracker work.
Back in February Zack had shared he hoped to have an OpenCL state tracker in Gallium3D by this summer
. To date no Linux graphics drivers -- proprietary or not -- provide support for OpenCL
Times are certainly interesting within the Gallium3D camp.