xserver: Branch 'glucose-2' - 2 commits

Alan Hourihane alanh at kemper.freedesktop.org
Wed Mar 28 17:40:19 EEST 2007


 GL/glx/glxext.c     |    2 ++
 GL/glx/glxscreens.c |    3 +++
 2 files changed, 5 insertions(+)

New commits:
diff-tree 50cff83d0aee9af9234ad1118142cc55ee6a5919 (from a1bac4019f752c79ac2d3acc45e4a60fc9d3cfa2)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Wed Mar 28 15:40:16 2007 +0100

    glucose doesn't yet allow the Xserver to close down correctly.
    
    One of the problems is that the GLX code resets the DRI driver
    first and then CloseScreen is called in each driver causing things
    to blow up.
    
    Temporarily stop the GLX layer from resetting until an alternative
    approach can be worked out.

diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c
index 1f6c7f3..4da8b43 100644
--- a/GL/glx/glxext.c
+++ b/GL/glx/glxext.c
@@ -71,8 +71,10 @@ static int __glXDispatch(ClientPtr);
 */
 static void ResetExtension(ExtensionEntry* extEntry)
 {
+#if 0 /* glucose makes this a nuisance */
     __glXFlushContextCache();
     __glXResetScreens();
+#endif
 }
 
 /*
diff-tree a1bac4019f752c79ac2d3acc45e4a60fc9d3cfa2 (from 615cdbe20bd8134f140211e3ef38256d90b69321)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Wed Mar 28 15:38:54 2007 +0100

    Bring across a glx context fix from xgl.

diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c
index 43447a4..ab05649 100644
--- a/GL/glx/glxscreens.c
+++ b/GL/glx/glxscreens.c
@@ -234,12 +234,15 @@ static Bool PositionWindow(WindowPtr pWi
     }
 
     /* mark contexts as needing resize */
+    __glXFlushContextCache ();
 
     for (glxc = glxPriv->drawGlxc; glxc; glxc = glxc->nextDrawPriv) {
+	(*glxc->loseCurrent)(glxc);
 	glxc->pendingState |= __GLX_PENDING_RESIZE;
     }
 
     for (glxc = glxPriv->readGlxc; glxc; glxc = glxc->nextReadPriv) {
+	(*glxc->loseCurrent)(glxc);
 	glxc->pendingState |= __GLX_PENDING_RESIZE;
     }
 



More information about the xorg-commit mailing list