[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
Hi,
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
arrays?
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.
True?!
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.
True?!
Other relevant parts I did not find?
Mathias
More information about the mesa-dev
mailing list