glBindVertexArray freezes app

I’m working with an NVIDIA 8600m GT notebook card with the latest 190.56 drivers w/modified inf. Running realtech’s OpenGL extension viewer, it states that I have OpenGL 3.2 support.

I’ve tried creating OpenGL 2.1, 3.0, 3.1 and 3.2 contexts, with and without forward compatibility, but my app always freezes when calling glBindVertexArray. Even if I pass in the value 0, it still causes my app to hang. Does anybody know why this is happening?

I can call glGenVertexArray, which generates a valid ID. I’ve tried it back to back, and the IDs are 1, 2, 3, ect…

Let me confirm: you must use the ID returned by glGenVertexArray, even if you know it’s going to return “1”. This will do the proper initializations.
Then, take special note that if you happen to be doing caching of vertex-attrib enables, the VAO will put them out of whack. By caching I mean this:


if(!g_isArrayAlreadyEnabled[i]){
    glEnableVertexAttribArray(i);
    g_isArrayAlreadyEnabled[i]=true;
}

VAO works with GF8600 @ 190.56 driver.

Yeah I’m not using my own values for the IDs, I’m calling:

GLuint vaoID;
glGenVertexArrays(1, &vaoID);
glBindVertexArray(vaoID);

I downgraded to 186.81 drivers, since they are official notebook ones. Now everything works just fine, but I can’t create a context past OpenGL 3.0. Plus, if I declare the forward compatability bit in my attribList, then the first call to glGenVertexArrays crashes my app. I can create fragment and vertex shaders just fine with forward compatibility, I just can’t call glGenVertexArrays.

Very brave, indeed! But, it is not recommended to install such drivers on notebooks. 190.56 have a problem with VAO, but everything is fixed in 190.57.

On my notebook (also with NV 8600M GT) the latest version of the drivers that work perfectly is 185.81. Those drivers are fully GL 3.0 compatible, and so far I haven’t had any problem with them.

NOT TRUE!

190.56 are full of bugs (at least on Windows). Lack of ability to bind VAO is one of those bugs. But forget 190.56. They cannot be downloaded any more, and 190.57 (so far) work perfectly.

Ah yes, sorry - I was actually with .57

Thanks guys, VAOs now work with 190.57 on my 8600m for context versions 3.0 and 3.1. But 3.2 causes every OpenGL call to throw an error, including VAO, shaders, VBOs. And on any context version, declaring the context to be forward compatible makes VAO calls crash again.