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.