I create two windows that share the display list. I create a texture object with the first context current. I can see it in the two windows (Thus they share correclty the display list). But if I call the glGetTexImage() function with the second context current, then the driver crash (on NVidia GeoForce2 board and on ATI board too).
And if I create the texture object with the second context current, and call the function glGetTexImage() with the first context active, the function also crash.
Why must I call the glGetTexImage() function with the context that is active when I create the texture object ???
David
[This message has been edited by Sancho (edited 03-21-2003).]
[This message has been edited by Sancho (edited 03-21-2003).]
Note that I use the texture object with the second context current to make a glCopySubTexImage in order to do a basic render to texture mecanism. But It is not the origin of the problem.
I use the last available NVidia driver and I test the problem on a recent ATI board (I don’t remember which) and it still appear.
I don’t understand even if it is a driver bug why I must use the “creation” context of the texture object to call the glGetTexImage() and why I can’t use this function on any shared context.
Originally posted by jwatte:
[b]Check your arguments in the debugger. My bet is you have a bad pointer somewhere; pointing to unallocated memory or a too small memory block.
[/b]
I did it and all is ok. No data overhead and no openGL error.
In fact, like Asgard my problem occurs when I do the glGetTexImage() using the context that wasn’t the activated context during the creation of the texture object AND when I call the glCopySubTexImage().