Accel OpenGL window out of date until glxSwapBuffers is called -> Fixed in SVN
|Reported by:||Travis Cobbs||Owned by:|
|Component:||3D support||Version:||VirtualBox 3.1.4|
|Guest type:||Linux||Host type:||Windows|
When accelerated OpenGL is enabled, it only works right for applications that call glxSwapBuffers frequently. Applications that don't do this when they aren't updating prevent any other windows from being displayed over the OpenGL window, and leave the OpenGL window behind when the application window is moved.
To reproduce this, install the qt4-demos package in Ubuntu. (I did this in Ubuntu 9.04, but it should do the same thing in Ubuntu 9.10.) Once qt4-demos is installed, run /usr/lib/qt4/examples/opengl/hellogl/hellogl. Once that has launched, just move its window. Notice that the OpenGL window gets left behind. Then, move some other window over the top of the OpenGL area. Notice that the OpenGL area obscures the other window even though the other window is supposed to be over the OpenGL window.
Drag one of the sliders in the hellogl UI and it will update its display, which triggers a call to glxSwapBuffers, and as soon as it does this, everything is fine again. You can't really tell that other windows on top work because dragging the sliders also brings the hellogl window to the front. However, if swap buffers were called in the background, the clipping problem would go away. To see an example of this, just run /usr/lib/qt4/examples/opengl/2dpainting/2dpainting. Notice that 2dpainting doesn't exhibit any of the problems listed. That appears to be because it is constantly updating and calling glxSwapBuffers.
Change History (4)
comment:3 by , 13 years ago
|Summary:||Accel OpenGL window out of date until glxSwapBuffers is called → Accel OpenGL window out of date until glxSwapBuffers is called -> Fixed in SVN|