Tim Rowley wrote:
>
> Jens Owen wrote:
> > It would be interesting to hear more details from their developers
> > regarding the comment they put in their README: "If an OpenGL
> > application is forcibly terminated by closing the X connection then
> > there may be leftovers on the desktop. This appears to be a problem in
> > the DRI infrastructure the driver is based upon."
>
> The problem we were seeing is that closing the connection didn't update
> the context stamp, so the dri driver could still get the lock without
> talking to the server. This meant frames were still in flight when
> xlib finally realized the connection was closed and exited. We saw
> the same behavior with a Radeon card. The easiest way to reproduce
> this is to start gears and then kill the connection (wm or xkill).
>
> > Are there any Kyro developers listening on this list?
>
> Yes.
>
> - Tim Rowley
> [EMAIL PROTECTED]
Good to hear from you Tim.
I couldn't reproduce this with the Radeon TCL driver I have installed
(page flipping enabled) running on a KDE desktop.
Could you try this patch on your system? It bumps the clipstamp at
cleanup.
-- /\
Jens Owen / \/\ _
[EMAIL PROTECTED] / \ \ \ Steamboat Springs, Colorado
Index: xc/programs/Xserver/GL/dri/dri.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/GL/dri/dri.c,v
retrieving revision 1.37.2.1
diff -u -r1.37.2.1 dri.c
--- xc/programs/Xserver/GL/dri/dri.c 21 May 2002 17:31:34 -0000 1.37.2.1
+++ xc/programs/Xserver/GL/dri/dri.c 28 May 2002 03:34:22 -0000
@@ -987,6 +987,10 @@
pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin);
if (pDRIDrawablePriv->drawableIndex != -1) {
+ /* bump stamp to force outstanding 3D requests to resync */
+ pDRIPriv->pSAREA->drawableTable[pDRIDrawablePriv->drawableIndex].stamp
+ = DRIDrawableValidationStamp++;
+
/* release drawable table entry */
pDRIPriv->DRIDrawables[pDRIDrawablePriv->drawableIndex] = NULL;
}