I don't quite understand why it's necessary to write ARB, GLSL, and NONE shader descriptors inside the ati_shader file. How will this infrastructure scale to a new shader backend added a year from now ?
For such a large patchset maybe there should be a high level design diagram that explains how it works ?
I very much like that backend-specific functionality ends up in the appropriate backend - as per patches 10, 11, and 14. However, it seems those patches stand on their own, independent of the rest of the patchset and this feature.
Ivan