Losing the backbuffer when resizing

Hello,

I recently got a new video (a Nvidia Quadro 4 XGL) and when I resize a JOGL canvas the canvas appears to lose its backbuffer and always draws to the front buffer with nasty flickering results. I have tried it with both my program and several of the JOGL demos with the same results. This only seems to affect JOGL programs, both glxgears and the xscreensavers resize fine without loosing their back buffer.

Does anyone know why this is happening?

Gentoo linux 2.6.5, Nvidia Quadro 4 XGL, Nvidia 5336 driver.

Thanks,
Michael

glxinfo output:

I haven’t seen anything like this on Linux or any other platform. However, there have been problems reported with ATI Radeon cards in particular when reshaping components. It sounds to me like the two problems could be related.

Can you build from the CVS repository? If so, I’d be interested to know what happens if you change GLCanvas.reshape() to put a synchronized(context) { … } around the call to super.reshape().

Hey Ken,

I implemented that change and it did fix my problem! =)

Thanks,
Michael

Actually… I spoke to soon. It still loses the backbuffer, it just requires more work. =) I can now usually resize the view a few times before losing the back buffer. I can also lose the back buffer just by just shaking the window for a few seconds.

I downloaded the Java 1.5 beta today, and I sometimes lose the back buffer, but not nearly as often as with 1.4.2.

Michael

With Red Hat 9 and NVidia’s 43.63 drivers on a GeForce FX Go700 I can’t reproduce this problem with any of the demos. I haven’t tried upgrading the drivers on this machine since I found several months ago that the then-current drivers had a bug that prevented them from working with this chip. I’ll try to do a driver update and see if I can reproduce your problem then; in the meantime, please file a bug on the JOGL Issues page.

Ok, an issue has been submitted.

Also, this only started happening to me after I upgraded to a quadro video card (need the stereo capabilities). This did not happen to me when I was using the Nvidia Geforce4 Titanium which probably isn’t too far off of your GeforceFX card.

Michael

Actually I misspoke; the chip in my notebook is a Quadro FX Go700. Regardless, it doesn’t exhibit the problem you’re seeing.

I’m hoping to have time to install an ATI card in one of my desktops soon and to be able to reproduce some of the resizing and other problems people are seeing.

I just upgraded to the latest nvidia drivers (6106) and that seems to have fixed this problem.

It’s good that your issue has been resolved but disappointing to know that it was (apparently) a driver bug that was exposed by JOGL.

If you have time, I’d appreciate it if you could downgrade your drivers to the earlier (buggy) version and try running your app with JOGL 1.1 beta 4 with -DATI_WORKAROUND=true specified on the command line. This should cause your application’s OpenGL calls to be serialized with respect to the AWT; I’d like to know whether this would have solved your problem earlier.