Det 40.72 ARB_vp BUG

I dont know if its a bug or just my stupidity but when I call:

int max_vertex_attribs;
glGetIntegerv (GL_MAX_VERTEX_ATTRIBS_ARB, &max_vertex_attribs);

I get an GL_INVALID_ENUM error. So I made a small investigation and looked how others query this value. I traced GLinfo2.exe and I found out that program calls glGetProgramivARB. That also produces an error, and
you can even see this bug in the GLinfo report, because the value is the same as the previous (max. env. parameters) and is 96!

Please tell me that I miss sth, or if it is a bug how can I avoid it. Namely, what value use as default, if the query fails.


Oops. GL_MAX_VERTEX_ATTRIBS is indeed supposed to be queried with glGetIntegerv(), not glGetProgramiv(). All the other queries in GLinfo are done correctly. I just fixed it, and glGetIntegerv() does work (I made sure by assigning -1 to the variable before every query). Are you sure the INVALID_ENUM isn’t caused by some earlier calls?

– Tom

This was confirmed to be a driver bug some time ago. See here:

Update your drivers. The 40.72 are pretty old already.