A possible limitation of this scheme is that it doesn't readily map to hardware that can configure its own interpolators to behave either as GENERIC, COLOR (or some other semantic) dynamically.
However, it seems to me that at least ARB_fragment_program only requires and supports 2 COLOR registers (primary and secondary), 1 FOG register and 1 PSIZE register. I'm not sure if any API can support more than 2 COLOR, 1 FOG and 1 PSIZE register as vertex shader outputs/fragment shader inputs (note that this is totally different from COLOR as a fragment shader output, where each COLOR semantic maps to a different render target), and thus I'm not sure if such functionality is useful. A driver with that functionality wishing to let an application use more than 2 COLORs is however free to do remapping in the driver even under my proposal. It just doesn't _have_ to do it. ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev