pushing/popping attrib array enables

Is there any way to do this?

I’m doing this right now:

glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableVertexAttribArrayARB(6);

… render using ARBvp …

glPopClientAttrib();

and the 6th attrib array is not getting turned off by the pop-client attrib. I was kind of expecting GL_CLIENT_VERTEX_ARRAY_BIT would handle the attrib arrays also.

There doesn’t seem to be any new tokens in the ARB_vertex_program specification for pushing/popping the generic attrib array enablement state.

(I’m using a Radeon 9800, btw.)

edit - grammar

[This message has been edited by Stephen_H (edited 03-01-2004).]

Try adding;

glPushAttrib(GL_ENABLE_BIT);

glPopAttrib(GL_ENABLE_BIT);

My reasoning, is that perhaps glEnableVertexAttribArrayARB is being treated like an Enable state?

If that doesn’t work, its probably a bug

[This message has been edited by Nutty (edited 03-02-2004).]

http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt

Spec sez
(53) Should all the vertex attrib vertex array state push/pop with
CLIENT_VERTEX_ARRAY_BIT?

  RESOLVED:  Yes.

It’s a bug. Report it. Include a test case, this makes things easier.