If fglrx/Catalyst were to be opened, it could be used as a full standalone OpenGL stack, without using Mesa and DRM.
Alternatively, it could be turned into a Gallium driver: the Gallium driver interface is very similar to the Direct3D 10/11 one, so it should be relatively feasible to convert the Catalyst Direct3D 10/11 driver to become a Gallium driver. The kernel interface would need to be replaced with libdrm-radeon.
A third option would be to just integrate the VLIW shader optimizer into r600g. I'd say this is likely the most interesting (i.e. hard to rewrite well, and most self-contained) part of fglrx, and the one easiest to actually reuse in a Mesa/Gallium driver. It is also very AMD-specific, so it shouldn't provide a competitive advantage.
Even in this case, the generic parts of the 3D driver could be rather useful to have available when writing equivalent functionality for r600g, especially for advanced stuff like Evergreen tessellation support that the Mesa classic driver probably won't get soon.
The source code of their OpenGL 4 implementation, while probably not directly usable in Mesa, could still be insightful and speed up work on GL3 and GL4 for Mesa. nVidia already has their own, so it might be possible to open (unless deeply intertwined with 3rd-party licensed code).


Reply With Quote



