I just came across this minor issue.
When uploading textures with the texture parameter GL_GENERATE_MIPMAP set to GL_TRUE, the nVidia drivers require the internalFormat parameter (3rd param) of glTexImage2D to be 1,2,3 or 4 (the way it worked in the old days). Passing the enums (GL_RGB, GL_BGRA etc) will result in a non-complete texture when mipmap filtering is enabled. However, mipmap level 0 is always functional, as evident when swapping GL_LINEAR_MIPMAP_LINEAR for GL_LINEAR, or restricting mipmap access by setting GL_TEXTURE_MAX_LEVEL to 0.
In other words, the driver suffers from the exact same shortcoming that most gluBuild2DMipmaps implementations suffer from. I guess because the driver writers copied the GLU code, without updating the parameter checks.



