I’ve discovered some weird behavior coming from the combined use of glLock/UnlockArraysEXT and glDrawElements.
First of all, let me point out that this is happening on a Voodoo 3 on an XP machine (it’s the only video card I have available at work), and I understand these drivers aren’t even supported or anything, but I’m just wondering if anyone else has encountered this and has any better solutions.
What’s happening is when I use glLockArraysEXT to lock my arrays, and then use glDrawElements, my program crashes out with an access violation.
It does NOT crash if:
- I call glDrawElements without calling glLockArraysEXT first.
- I replace the GL_TRIANGLES in the glDrawElements call with GL_POINTS.
- When I loop through the indexes manually and do glArrayElement for each one (with GL_TRIANGLES).
Here’s the really weird thing: I noticed that it seems to have something to do with calling glClear. If I re-enable my arrays (glEnableClientState) after each time I clear the buffers, it doesn’t crash. I don’t see that as a very elegant solution, though.
Any information would be helpful.