Rewriting The Radeon 3D Support In Mesa
David Airlie as part of his work at Red Hat has been rewriting a fair chunk of the Radeon 3D driver support in Mesa. In the radeon-rewrite branch of Mesa, David has been adding support for bufmgr to all three of the Radeon 3D drivers (going back to the ATI R100/200 series) while working with our without a kernel memory manager. With this rewritten code, it's also being worked on for adding DRI2 and FBO (Frame Buffer Object) support. This work is also needed for the GEM (Graphics Execution Manager) support.
With this major rewrite, the three drivers that support different ATI GPU generations are now sharing more code, which is of course a nice thing and should lead to better quality code. The buffer management, buffer swap + copy, texture and mip-map management, command submission handling, state + Atom emission, DMA buffers, and locking code is now being shared for the most part between all three drivers.
This rewritten Radeon driver code is close to being merged, but David Airlie is interested in more experimental users to test out the ATI R100/200/300 series code. There are a few development steps left, however, before the memory management and DRI2 support is settled.
More details on the Radeon rewrite for its Mesa driver can be found on the Mesa mailing list and Airlie's blog. Coming later on to the Radeon Mesa support will be Gallium3D, which was merged into Mesa yesterday.