PDA

View Full Version : glLineStipple not behaving



Fastjack
07-07-2008, 03:21 PM
This code:


glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0x0F0F);
...
glDisable(GL_LINE_STIPPLE);

keeps line stippling enabled.

However:


glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0x0F0F);
...
glLineStipple(1, 0xFFFF);
glDisable(GL_LINE_STIPPLE);

works to simulate it being turned off.

This has been so for me since a couple of driver updates ago, not only in my own software, other OpenGL executables as well. I reported this to ATI but got no reply. But this seems to work for me so what the hey.

However, now it seems 2D-texturing gets... unpredictable.
My app starts out correctly, but interaction or not after a fixed number of frames/calls the textures get all warped.
Debugging i found that commenting out all glLineStipple calls removes this issue.
This doesn't seem unreasonable, since the two functions probably share driver code/hardware functions. The behaviour suggests there's a counter wrap around somewhere in the driver, it being a 16-bit state requirement and all.

Has anyone encountered this behaviour?
Or have suggestions how i could use both features concurrently?