glDisable generating an error on NV30 cards

I’m having a weird problem with my nVidia QuadroFX 2000 and on other nV30-based cards.

for (int r=0;r<8;r++)
   glActiveTextureARB(GL_TEXTURE0_ARB + r); 
   GLenum err = glGetError();

glDisable is generating an error after I hit the 5th texture stage. (The card supports 8).
Everything works though… just that this error is annoying. Driver bug?

Can anyone else try?


I have heard things about only 4 texture stages accessible with fixed path.

Im not sure, but I think that you have to ignore error in this case.


Under the fixed function pipeline, only 4 texture units are available (query GL_MAX_TEXTURE_UNITS).

With fragment programs you have 16 image units (GL_MAX_TEXTURE_IMAGE_UNITS_ARB) and 8 texture coordinates (GL_MAX_TEXTURE_COORDS_ARB). Calling glEnable(texture_type) or glDisable(texture_type) has no effect when using fragment programs so don’t bother doing it.