sensics / OSVR-RenderManager

Apache License 2.0
63 stars 45 forks source link

OpenGL: Cleanup VAO binding during present #208

Closed JeroMiya closed 7 years ago

JeroMiya commented 7 years ago

It looks like the VAO binding is not restored after a present call. This is a problem on GLES2.0 clients because we need to then code the extension wrangling logic to check if the VAO extension is supported, and load the symbol at runtime if it is, etc... Any VBO-related code seems to break when a non-zero VAO object is currently bound. So the client may be able to correctly draw one frame and then error out on subsequent frames unless they reset the binding themselves.

Coincidentally, we are not checking for the VAO extension at runtime ourselves, instead just assuming it is there.

russell-taylor commented 7 years ago

Fixed in https://github.com/sensics/OSVR-RenderManager/pull/210 along with additional state management cleanup.