Bug #121897, was updated on 2000-Nov-07 10:54
Here is a current snapshot of the bug.
Project: Direct Rendering Infrastructure
Category: MGA X Server
Bug Group: Rendering Error
Summary: G400 glReadPixel() affected by overlaping windows
G400, PIII BX
DRI from CVS 7th Nov 2000
xserver run in 32bpp.
Backing store enabled (disabling makes no difference)
I have an application that makes extensive use of gltexsub and glreadpixels. It opens an double (or single) buffered
Xwindow and maps it.
Textures are rendered into this window and read back using glReadPixcels.
If the glx window is obsured by another, then the contents of the array returned are corrupted.
This happens if all of the following cases:-
render to back buffer and read from back
render to back, swap and read from front
render and read to front buffer.
This used to work ok, Infact I used only used to map the window if I was debuging. I readpixcels now returns black if I dont map the window.
The textures are RGB8 and the visual is RGBA.
I'll try and work on a simple testcase to demonstate it.
If I hit Ctrl-C, next time I run the application the textures are corrupted with blue and yellow tint on the display. Some times blobs are splattered arround the screen on start up. This can also causes the xserver to hang, but this can normaly be freed by sshing in and killing the glx application.
This used to work many months ago, just after 32 bit was working with mga. Sorry I dont have the date.
For detailed info, follow this link: