[Mesa-dev] [PATCH 09/10] mesa: Make NV generic attributes alias the legacy arrays.

Mathias Fröhlich Mathias.Froehlich at gmx.net
Wed Nov 23 23:03:24 PST 2011


On Wednesday, November 23, 2011 17:27:12 Brian Paul wrote:
> On 11/11/2011 10:11 AM, Mathias Fröhlich wrote:
> > The NV_vertex_program generic attributes should alias the legacy
> > attributes. Simplify aliasing by using the same gl_client_arrays
> > for legacy and NV_vertex_program attributes.
> > The same is already done for the current state values.
> Are you changing the current behaviour here?
> I seem to recall that the aliasing vs. non-aliasing is a little tricky
> in the NV extension.  I thought that the glVertexAttrib*NV() calls
> aliased the glVertex, glColor, glFogCoord, etc. state, but the NV
> vertex arrays were separate/non-aliasing with the legacy vertex arrays.
> Can you double check that?  Thanks.

*sigh* yes you are right.
I was under the impression that even the array state aliases with legacy array 
state, BUT:

This is the wording from GL_NV_vertex_program.txt

    How should vertex attribute arrays interact with conventional vertex

      RESOLUTION:  When vertex program mode is enabled, a particular
      vertex attribute array will be used if enabled, but if disabled,
      and the corresponding aliased conventional vertex array is enabled
      (assuming that there is a corresponding aliased conventional vertex
      array for the particular vertex array), the conventional vertex
      array will be used.


So this tells me that the NV arrays take precedence over the legacy arrays - 
like expected. But the array state of the legacy vertex array is distinct from 
the array state of the NV generic array.

But then, the next problem arises, we currently use the same gl_client_arrays 
for the NV and all other generic vertex attributes in ARB/GL shader - which 
should also represent distinct array state.

Other relevant parts I did not find?


More information about the mesa-dev mailing list