Luca Barbieri wrote on 2010-02-01 21:42:
>
> 1. All the semantic indices in OpenGL are limited, according to the
> ARB specification
> 2. All the sematic indices in DirectX 9/10 are limited, according to
> http://msdn.microsoft.com/en-us/library/ee418355%28VS.85%29.aspx

At least for SM3.0, one can specify a vertex shader output semantic like 
COLOR15 and have it running as long as one has also a pixel shader with 
a matching input semantic. Though I agree with you we don't really want 
to go this route and have something more sensible.

We could, for example, limit COLOR and BCOLOR indices to [0, 1], remove 
FOG and NORMAL names, and have a well-defined limit on GENERIC index 
value. After all, we only need non-generic semantics to communicate with 
the fixed-function part of the pipeline, that is rasteriser.

name       index range
----------------------------
POSITION   no limit?
COLOR      0..1, explicit clamp?
BCOLOR     0..1, explicit clamp?
FOG        remove?
PSIZE      0
GENERIC    0..<max generics>
NORMAL     remove
FACE       0
EDGEFLAG   0
PRIMID     0
INSTANCEID 0


As for the routing table thing, I am not really convinced. The GLSL 
mechanism to link shaders based on varying names is GL-specific and thus 
should stay inside Mesa state tracker. In fact, D3D10 runtime is doing 
exactly the same thing and generating shader varients on the fly as they 
are mixed and matched by the application.


------------------------------------------------------------------------------
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

Reply via email to