xserver: Branch 'master' - 11 commits

Keith Packard keithp at kemper.freedesktop.org
Sun Sep 23 15:54:37 PDT 2012


 dix/devices.c                |    3 +
 dix/window.c                 |  129 +++++++++++++++----------------------------
 exa/exa_priv.h               |    1 
 fb/fb.h                      |    1 
 hw/dmx/doc/dmx.xml           |   12 ----
 hw/kdrive/src/kdrive.h       |    1 
 hw/vfb/InitInput.c           |    1 
 hw/vfb/InitOutput.c          |    1 
 hw/xfree86/doc/ddxDesign.xml |   20 ------
 hw/xfree86/sdksyms.sh        |    1 
 hw/xnest/Screen.c            |    1 
 hw/xnest/Visual.c            |    1 
 hw/xquartz/darwin.c          |    1 
 hw/xwin/win.h                |    1 
 include/window.h             |    3 -
 mi/Makefile.am               |    3 -
 mi/mibstore.c                |   43 --------------
 mi/mibstore.h                |   23 -------
 miext/damage/damage.c        |   30 +++++++++-
 19 files changed, 81 insertions(+), 195 deletions(-)

New commits:
commit 4dc2a76740d921c824a4d8193f39dd373475f02a
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 17:57:00 2012 -0400

    miext/damage: Only wrap into the GC ops chain if there's a listener (v3)
    
     before           after          Operation
    --------    -----------------    -----------------
    1148346.9   1191807.5 (  1.04)   PutImage 10x10 square
    2091666.1   2180983.0 (  1.04)   ShmPutImage 10x10 square
    
    v3: In miDamage{R,Unr}egister, bump the serial number of the affected
    drawable (and all children if it's a window) so subsequent drawing
    against the damage will trigger another ValidateGC pass and we wrap
    in/out correctly.  Spotted by Aaron Plattner.
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/miext/damage/damage.c b/miext/damage/damage.c
index 2d2b422..a98c20e 100644
--- a/miext/damage/damage.c
+++ b/miext/damage/damage.c
@@ -436,9 +436,13 @@ damageCreateGC(GCPtr pGC)
 static void
 damageValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
 {
+    drawableDamage(pDrawable);
     DAMAGE_GC_FUNC_PROLOGUE(pGC);
     (*pGC->funcs->ValidateGC) (pGC, changes, pDrawable);
-    pGCPriv->ops = pGC->ops;    /* just so it's not NULL */
+    if (pDamage)
+        pGCPriv->ops = pGC->ops; /* so it's not NULL, so FUNC_EPILOGUE does work */
+    else
+        pGCPriv->ops = NULL;
     DAMAGE_GC_FUNC_EPILOGUE(pGC);
 }
 
@@ -1663,14 +1667,38 @@ miDamageCreate(DamagePtr pDamage)
 {
 }
 
+/*
+ * We only wrap into the GC when there's a registered listener.  For windows,
+ * damage includes damage to children.  So if there's a GC validated against
+ * a subwindow and we then register a damage on the parent, we need to bump
+ * the serial numbers of the children to re-trigger validation.
+ *
+ * Since we can't know if a GC has been validated against one of the affected
+ * children, just bump them all to be safe.
+ */
+static int 
+damageRegisterVisit(WindowPtr pWin, void *data)
+{
+    pWin->drawable.serialNumber = NEXT_SERIAL_NUMBER;
+    return WT_WALKCHILDREN;
+}
+
 void
 miDamageRegister(DrawablePtr pDrawable, DamagePtr pDamage)
 {
+    if (pDrawable->type == DRAWABLE_WINDOW)
+        TraverseTree((WindowPtr)pDrawable, damageRegisterVisit, NULL);
+    else
+        pDrawable->serialNumber = NEXT_SERIAL_NUMBER;
 }
 
 void
 miDamageUnregister(DrawablePtr pDrawable, DamagePtr pDamage)
 {
+    if (pDrawable->type == DRAWABLE_WINDOW)
+        TraverseTree((WindowPtr)pDrawable, damageRegisterVisit, NULL);
+    else
+        pDrawable->serialNumber = NEXT_SERIAL_NUMBER;
 }
 
 void
commit ad0156c369a40762df6b70780358ce14e5f2c9b1
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 11:16:26 2012 -0400

    dix: Remove MapUnmapEventsEnabled and friends
    
    This hack was added to suppress events generated by Composite's internal
    unmap/map cycle on redirection state change.  Since that cycle was
    removed in 193ecc8b4, these can go.
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Ville Syrjälä <syrjala at sci.fi>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/window.c b/dix/window.c
index 40f2516..e70531a 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2505,30 +2505,6 @@ RealizeTree(WindowPtr pWin)
     }
 }
 
-static WindowPtr windowDisableMapUnmapEvents;
-
-void
-DisableMapUnmapEvents(WindowPtr pWin)
-{
-    assert(windowDisableMapUnmapEvents == NULL);
-
-    windowDisableMapUnmapEvents = pWin;
-}
-
-void
-EnableMapUnmapEvents(WindowPtr pWin)
-{
-    assert(windowDisableMapUnmapEvents != NULL);
-
-    windowDisableMapUnmapEvents = NULL;
-}
-
-static Bool
-MapUnmapEventsEnabled(WindowPtr pWin)
-{
-    return pWin != windowDisableMapUnmapEvents;
-}
-
 static Bool
 MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client)
 {
@@ -2587,7 +2563,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
                 return Success;
 
         pWin->mapped = TRUE;
-        if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
+        if (SubStrSend(pWin, pParent))
             DeliverMapNotify(pWin);
 
         if (!pParent->realized)
@@ -2717,8 +2693,7 @@ UnrealizeTree(WindowPtr pWin, Bool fromConfigure)
             }
 #endif
             (*Unrealize) (pChild);
-            if (MapUnmapEventsEnabled(pWin))
-                DeleteWindowFromAnyEvents(pChild, FALSE);
+            DeleteWindowFromAnyEvents(pChild, FALSE);
             if (pChild->viewable) {
                 pChild->viewable = FALSE;
                 (*MarkUnrealizedWindow) (pChild, pWin, fromConfigure);
@@ -2766,7 +2741,7 @@ UnmapWindow(WindowPtr pWin, Bool fromConfigure)
 
     if ((!pWin->mapped) || (!(pParent = pWin->parent)))
         return Success;
-    if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
+    if (SubStrSend(pWin, pParent))
         DeliverUnmapNotify(pWin, fromConfigure);
     if (wasViewable && !fromConfigure) {
         pWin->valdata = UnmapValData;
@@ -2946,8 +2921,6 @@ SendVisibilityNotify(WindowPtr pWin)
     xEvent event;
     unsigned int visibility = pWin->visibility;
 
-    if (!MapUnmapEventsEnabled(pWin))
-        return;
 #ifdef PANORAMIX
     /* This is not quite correct yet, but it's close */
     if (!noPanoramiXExtension) {
diff --git a/include/window.h b/include/window.h
index f8fc2a5..b6d61c3 100644
--- a/include/window.h
+++ b/include/window.h
@@ -221,9 +221,6 @@ extern _X_EXPORT RegionPtr CreateBoundingShape(WindowPtr /* pWin */ );
 
 extern _X_EXPORT RegionPtr CreateClipShape(WindowPtr /* pWin */ );
 
-extern _X_EXPORT void DisableMapUnmapEvents(WindowPtr /* pWin */ );
-extern _X_EXPORT void EnableMapUnmapEvents(WindowPtr /* pWin */ );
-
 extern _X_EXPORT void SetRootClip(ScreenPtr pScreen, Bool enable);
 extern _X_EXPORT void PrintWindowTree(void);
 
commit 387b1ac33ca63d27e42d4f61cf248bafb7c43c17
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 11:16:25 2012 -0400

    dix: Factor out DeliverUnmapNotify
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/window.c b/dix/window.c
index 127f4c1..40f2516 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2737,6 +2737,17 @@ UnrealizeTree(WindowPtr pWin, Bool fromConfigure)
     }
 }
 
+static void
+DeliverUnmapNotify(WindowPtr pWin, Bool fromConfigure)
+{
+    xEvent event = {
+        .u.unmapNotify.window = pWin->drawable.id,
+        .u.unmapNotify.fromConfigure = fromConfigure
+    };
+    event.u.u.type = UnmapNotify;
+    DeliverEvents(pWin, &event, 1, NullWindow);
+}
+
 /*****
  * UnmapWindow
  *    If the window is already unmapped, this request has no effect.
@@ -2755,14 +2766,8 @@ UnmapWindow(WindowPtr pWin, Bool fromConfigure)
 
     if ((!pWin->mapped) || (!(pParent = pWin->parent)))
         return Success;
-    if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) {
-        xEvent event = {
-            .u.unmapNotify.window = pWin->drawable.id,
-            .u.unmapNotify.fromConfigure = fromConfigure
-        };
-        event.u.u.type = UnmapNotify;
-        DeliverEvents(pWin, &event, 1, NullWindow);
-    }
+    if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
+        DeliverUnmapNotify(pWin, fromConfigure);
     if (wasViewable && !fromConfigure) {
         pWin->valdata = UnmapValData;
         (*pScreen->MarkOverlappedWindows) (pWin, pWin->nextSib, &pLayerWin);
@@ -2813,14 +2818,8 @@ UnmapSubwindows(WindowPtr pWin)
 
     for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib) {
         if (pChild->mapped) {
-            if (parentNotify || StrSend(pChild)) {
-                xEvent event = {
-                    .u.unmapNotify.window = pChild->drawable.id,
-                    .u.unmapNotify.fromConfigure = xFalse
-                };
-                event.u.u.type = UnmapNotify;
-                DeliverEvents(pChild, &event, 1, NullWindow);
-            }
+            if (parentNotify || StrSend(pChild))
+                DeliverUnmapNotify(pChild, xFalse);
             if (pChild->viewable) {
                 pChild->valdata = UnmapValData;
                 anyMarked = TRUE;
commit d20cc0fca4e36ad9bdbda8950c4466b1976e70a1
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 11:16:24 2012 -0400

    dix: Factor out DeliverMapNotify
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/window.c b/dix/window.c
index 804ac0e..127f4c1 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2543,6 +2543,17 @@ MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client)
                                       client) == 1;
 }
 
+static void
+DeliverMapNotify(WindowPtr pWin)
+{
+    xEvent event = {
+        .u.mapNotify.window = pWin->drawable.id,
+        .u.mapNotify.override = pWin->overrideRedirect,
+    };
+    event.u.u.type = MapNotify;
+    DeliverEvents(pWin, &event, 1, NullWindow);
+}
+
 /*****
  * MapWindow
  *    If some other client has selected SubStructureReDirect on the parent
@@ -2576,14 +2587,8 @@ MapWindow(WindowPtr pWin, ClientPtr client)
                 return Success;
 
         pWin->mapped = TRUE;
-        if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) {
-            xEvent event = {
-                .u.mapNotify.window = pWin->drawable.id,
-                .u.mapNotify.override = pWin->overrideRedirect,
-            };
-            event.u.u.type = MapNotify;
-            DeliverEvents(pWin, &event, 1, NullWindow);
-        }
+        if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
+            DeliverMapNotify(pWin);
 
         if (!pParent->realized)
             return Success;
@@ -2650,14 +2655,8 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
                     continue;
 
             pWin->mapped = TRUE;
-            if (parentNotify || StrSend(pWin)) {
-                xEvent event = {
-                    .u.mapNotify.window = pWin->drawable.id,
-                    .u.mapNotify.override = pWin->overrideRedirect
-                };
-                event.u.u.type = MapNotify;
-                DeliverEvents(pWin, &event, 1, NullWindow);
-            }
+            if (parentNotify || StrSend(pWin))
+                DeliverMapNotify(pWin);
 
             if (!pFirstMapped)
                 pFirstMapped = pWin;
commit 63843cb70030812bb3a311b2e8dfb0d1b0a75176
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 11:16:23 2012 -0400

    dix: Factor out MaybeDeliverMapRequest
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/window.c b/dix/window.c
index 6fb420d..804ac0e 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2529,6 +2529,20 @@ MapUnmapEventsEnabled(WindowPtr pWin)
     return pWin != windowDisableMapUnmapEvents;
 }
 
+static Bool
+MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client)
+{
+    xEvent event = {
+        .u.mapRequest.window = pWin->drawable.id,
+        .u.mapRequest.parent = pParent->drawable.id
+    };
+    event.u.u.type = MapRequest;
+
+    return MaybeDeliverEventsToClient(pParent, &event, 1,
+                                      SubstructureRedirectMask,
+                                      client) == 1;
+}
+
 /*****
  * MapWindow
  *    If some other client has selected SubStructureReDirect on the parent
@@ -2557,18 +2571,9 @@ MapWindow(WindowPtr pWin, ClientPtr client)
     if ((pParent = pWin->parent)) {
         Bool anyMarked;
 
-        if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) {
-            xEvent event = {
-                .u.mapRequest.window = pWin->drawable.id,
-                .u.mapRequest.parent = pParent->drawable.id
-            };
-            event.u.u.type = MapRequest;
-
-            if (MaybeDeliverEventsToClient(pParent, &event, 1,
-                                           SubstructureRedirectMask,
-                                           client) == 1)
+        if ((!pWin->overrideRedirect) && (RedirectSend(pParent)))
+            if (MaybeDeliverMapRequest(pWin, pParent, client))
                 return Success;
-        }
 
         pWin->mapped = TRUE;
         if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) {
@@ -2640,18 +2645,9 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
     anyMarked = FALSE;
     for (pWin = pParent->firstChild; pWin; pWin = pWin->nextSib) {
         if (!pWin->mapped) {
-            if (parentRedirect && !pWin->overrideRedirect) {
-                xEvent event = {
-                    .u.mapRequest.window = pWin->drawable.id,
-                    .u.mapRequest.parent = pParent->drawable.id
-                };
-                event.u.u.type = MapRequest;
-
-                if (MaybeDeliverEventsToClient(pParent, &event, 1,
-                                               SubstructureRedirectMask,
-                                               client) == 1)
+            if (parentRedirect && !pWin->overrideRedirect)
+                if (MaybeDeliverMapRequest(pWin, pParent, client))
                     continue;
-            }
 
             pWin->mapped = TRUE;
             if (parentNotify || StrSend(pWin)) {
commit dab7a1ec7fd97e07405e0b01dc1f1ec6e5fc2e7c
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Sep 20 11:16:22 2012 -0400

    dix: Fix some indentation
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/window.c b/dix/window.c
index cdd12dc..6fb420d 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -1886,8 +1886,7 @@ AnyWindowOverlapsMe(WindowPtr pWin, WindowPtr pHead, BoxPtr box)
         if (pSib->mapped) {
             sbox = WindowExtents(pSib, &sboxrec);
             if (BOXES_OVERLAP(sbox, box)
-                && ShapeOverlap(pWin, box, pSib, sbox)
-                )
+                && ShapeOverlap(pWin, box, pSib, sbox))
                 return TRUE;
         }
     }
@@ -1905,8 +1904,7 @@ IOverlapAnyWindow(WindowPtr pWin, BoxPtr box)
         if (pSib->mapped) {
             sbox = WindowExtents(pSib, &sboxrec);
             if (BOXES_OVERLAP(sbox, box)
-                && ShapeOverlap(pWin, box, pSib, sbox)
-                )
+                && ShapeOverlap(pWin, box, pSib, sbox))
                 return TRUE;
         }
     }
@@ -2174,8 +2172,7 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
     else
         pSib = pWin->nextSib;
 
-    if ((!pWin->overrideRedirect) && (RedirectSend(pParent)
-        )) {
+    if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) {
         xEvent event = {
             .u.configureRequest.window = pWin->drawable.id,
             .u.configureRequest.sibling = (mask & CWSibling) ? sibwid : None,
@@ -2551,7 +2548,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
     if (pWin->mapped)
         return Success;
 
-    /*  general check for permission to map window */
+    /* general check for permission to map window */
     if (XaceHook(XACE_RESOURCE_ACCESS, client, pWin->drawable.id, RT_WINDOW,
                  pWin, RT_NONE, NULL, DixShowAccess) != Success)
         return Success;
@@ -2560,8 +2557,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
     if ((pParent = pWin->parent)) {
         Bool anyMarked;
 
-        if ((!pWin->overrideRedirect) && (RedirectSend(pParent)
-            )) {
+        if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) {
             xEvent event = {
                 .u.mapRequest.window = pWin->drawable.id,
                 .u.mapRequest.parent = pParent->drawable.id
commit 3d1051aecbb1955084804133cacd12c7f696833a
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Thu Sep 20 05:56:39 2012 +1000

    dix: set the device transformation matrix
    
    The property handler is registered after setting the property, so
    dev->transform remains as all-zeros. That causes pixman_f_transform_invert()
    to fail (in transformAbsolute()) and invert remains as garbage. This
    may then cause a cursor jump to 0,0.
    
    Since the axes are not yet initialized here and we need to allow for drivers
    changing the matrix, we cannot use the property handler for matrix
    initialization, essentially duplicating the code.
    
    Triggered by the fix to (#49347) in 749a593e49adccdf1225be28a521412ec85333f4
    
    https://bugzilla.redhat.com/show_bug.cgi?id=852841
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas at ubuntu.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/devices.c b/dix/devices.c
index 9cf04ed..66d4406 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -306,6 +306,9 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart)
     /* unity matrix */
     memset(transform, 0, sizeof(transform));
     transform[0] = transform[4] = transform[8] = 1.0f;
+    dev->transform.m[0][0] = 1.0;
+    dev->transform.m[1][1] = 1.0;
+    dev->transform.m[2][2] = 1.0;
 
     XIChangeDeviceProperty(dev, XIGetKnownProperty(XI_PROP_TRANSFORM),
                            XIGetKnownProperty(XATOM_FLOAT), 32,
commit 1cb0261ef54b7dd6a7ef84e1c3959e424706228b
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Thu Sep 6 00:38:26 2012 +0200

    dix: Delete mibstore.h
    
    Since Nov 2010 (commit c4c4676) the only purpose of mibstore.h was to
    define an empty function (miInitializeBackingStore()) for backward
    compatibility. Time to say goodbye.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/mi/Makefile.am b/mi/Makefile.am
index 96ceeaa..0cef779 100644
--- a/mi/Makefile.am
+++ b/mi/Makefile.am
@@ -1,7 +1,7 @@
 noinst_LTLIBRARIES = libmi.la
 
 if XORG
-sdk_HEADERS = micmap.h miline.h mipointer.h mi.h mibstore.h \
+sdk_HEADERS = micmap.h miline.h mipointer.h mi.h \
               migc.h mipointrst.h mizerarc.h micoord.h mifillarc.h \
               mispans.h miwideline.h mistruct.h mifpoly.h mioverlay.h
 endif
@@ -12,7 +12,6 @@ libmi_la_SOURCES = 	\
 	mi.h		\
 	miarc.c		\
 	mibitblt.c	\
-	mibstore.h	\
 	micmap.c	\
 	micmap.h	\
 	micoord.h	\
diff --git a/mi/mibstore.h b/mi/mibstore.h
deleted file mode 100644
index f8ed444..0000000
--- a/mi/mibstore.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*-
- * mibstore.h --
- *	Header file for users of the MI backing-store scheme.
- *
- * Copyright (c) 1987 by the Regents of the University of California
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies.  The University of California
- * makes no representations about the suitability of this
- * software for any purpose.  It is provided "as is" without
- * express or implied warranty.
- */
-
-#ifndef _MIBSTORE_H
-#define _MIBSTORE_H
-
-#include "screenint.h"
-
-#define miInitializeBackingStore(x) do {} while (0)
-
-#endif                          /* _MIBSTORE_H */
commit 08a9ed2524679ed939fa0ad466ee3faf905b8ac4
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Thu Sep 6 00:38:25 2012 +0200

    dix: Remove refs to mi backing store from docs
    
    Remove any reference to mibstore.h and miInitializeBackingStore() from
    the documentation.
    
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/dmx/doc/dmx.xml b/hw/dmx/doc/dmx.xml
index 793aace..6d7df41 100644
--- a/hw/dmx/doc/dmx.xml
+++ b/hw/dmx/doc/dmx.xml
@@ -1215,14 +1215,6 @@ area.  Common functions to wrap are CloseScreen() and SaveScreen().
 </para></listitem></varlistentry>
 
 <varlistentry>
-<term>miInitializeBackingStore()</term>
-<listitem>
-<para>This MI function initializes the
-screen's backing storage functions, which are used to save areas of
-windows that are currently covered by other windows.
-</para></listitem></varlistentry>
-
-<varlistentry>
 <term>miDCInitialize()</term>
 <listitem>
 <para>This MI function initializes the MI cursor
@@ -1320,8 +1312,8 @@ initialize each of its screens.
 <para>Xnest's ScreenInit() function is called
 xnestOpenScreen().  This function initializes its screen's depth and
 visual information, and then calls miScreenInit() to set up the default
-screen functions.  It then calls miInitializeBackingStore() and
-miDCInitialize() to initialize backing store and the software cursor.
+screen functions.  It then calls miDCInitialize() to initialize the
+software cursor.
 Finally, it replaces many of the screen functions with its own
 functions that repackage and send the requests to the real X server to
 which Xnest is attached.
diff --git a/hw/xfree86/doc/ddxDesign.xml b/hw/xfree86/doc/ddxDesign.xml
index 4c2ca47..7c2c20f 100644
--- a/hw/xfree86/doc/ddxDesign.xml
+++ b/hw/xfree86/doc/ddxDesign.xml
@@ -3561,13 +3561,6 @@ The following include files are typically required by video drivers:
 	  </para>
 
 	  <para>
-  All drivers implementing backing store need this:
-	    <literallayout><filename>
-    "mibstore.h"
-	      </filename></literallayout>
-	  </para>
-
-	  <para>
   All drivers using the mi colourmap code need this:
 	    <literallayout><filename>
     "micmap.h"
@@ -8092,13 +8085,6 @@ visible symbols.
       </para>
 
       <para>
-  All drivers implementing backing store need this:
-	<literallayout><filename>
-    "mibstore.h"
-	  </filename></literallayout>
-      </para>
-
-      <para>
   All drivers using the mi colourmap code need this:
 	<literallayout><filename>
     "micmap.h"
@@ -9103,12 +9089,6 @@ ZZZScreenInit(ScreenPtr pScreen, int argc, char **argv)
         return FALSE;
 
     /*
-     * If backing store is to be supported (as is usually the case),
-     * initialise it.
-     */
-    miInitializeBackingStore(pScreen);
-
-    /*
      * Set initial black & white colourmap indices.
      */
     xf86SetBlackWhitePixels(pScreen);
commit 76d8739b1f4ed07b874ae56a492d1e0aa0fd9b04
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Thu Sep 6 00:38:24 2012 +0200

    dix: Remove #includes of mibstore.h
    
    Remove more backing store leftovers.
    
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/exa/exa_priv.h b/exa/exa_priv.h
index ea7e7fa..7007578 100644
--- a/exa/exa_priv.h
+++ b/exa/exa_priv.h
@@ -41,7 +41,6 @@
 #include "pixmapstr.h"
 #include "windowstr.h"
 #include "servermd.h"
-#include "mibstore.h"
 #include "colormapst.h"
 #include "gcstruct.h"
 #include "input.h"
diff --git a/fb/fb.h b/fb/fb.h
index 40a7e38..75596c5 100644
--- a/fb/fb.h
+++ b/fb/fb.h
@@ -39,7 +39,6 @@
 #include "privates.h"
 #include "mi.h"
 #include "migc.h"
-#include "mibstore.h"
 #include "picturestr.h"
 
 #ifdef FB_ACCESS_WRAPPER
diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h
index b37041f..4829e1a 100644
--- a/hw/kdrive/src/kdrive.h
+++ b/hw/kdrive/src/kdrive.h
@@ -32,7 +32,6 @@
 #include "pixmapstr.h"
 #include "windowstr.h"
 #include "servermd.h"
-#include "mibstore.h"
 #include "colormapst.h"
 #include "gcstruct.h"
 #include "input.h"
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c
index 9d0fd98..52cde72 100644
--- a/hw/vfb/InitInput.c
+++ b/hw/vfb/InitInput.c
@@ -36,7 +36,6 @@ from The Open Group.
 #include "scrnintstr.h"
 #include "inputstr.h"
 #include <X11/Xos.h>
-#include "mibstore.h"
 #include "mipointer.h"
 #include "xkbsrv.h"
 #include <X11/keysym.h>
diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index 955624f..07ea8ea 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -41,7 +41,6 @@ from The Open Group.
 #include "servermd.h"
 #define PSZ 8
 #include "fb.h"
-#include "mibstore.h"
 #include "colormapst.h"
 #include "gcstruct.h"
 #include "input.h"
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 07372ad..fa19893 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -207,7 +207,6 @@ cat > sdksyms.c << EOF
 #include "miline.h"
 #include "mipointer.h"
 #include "mi.h"
-#include "mibstore.h"
 #include "migc.h"
 #include "mipointrst.h"
 #include "mizerarc.h"
diff --git a/hw/xnest/Screen.c b/hw/xnest/Screen.c
index 7b3c1b3..58b5a11 100644
--- a/hw/xnest/Screen.c
+++ b/hw/xnest/Screen.c
@@ -21,7 +21,6 @@ is" without express or implied warranty.
 #include "scrnintstr.h"
 #include "dix.h"
 #include "mi.h"
-#include "mibstore.h"
 #include "micmap.h"
 #include "colormapst.h"
 #include "resource.h"
diff --git a/hw/xnest/Visual.c b/hw/xnest/Visual.c
index 63198ba..11673c4 100644
--- a/hw/xnest/Visual.c
+++ b/hw/xnest/Visual.c
@@ -21,7 +21,6 @@ is" without express or implied warranty.
 #include "scrnintstr.h"
 #include "dix.h"
 #include "mi.h"
-#include "mibstore.h"
 #include "Xnest.h"
 
 #include "Display.h"
diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index d26f18a..bf51180 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -38,7 +38,6 @@
 #include "servermd.h"
 #include "inputstr.h"
 #include "scrnintstr.h"
-#include "mibstore.h"           // mi backing store implementation
 #include "mipointer.h"          // mi software cursor
 #include "micmap.h"             // mi colormap code
 #include "fb.h"                 // fb framebuffer code
diff --git a/hw/xwin/win.h b/hw/xwin/win.h
index 89e2a38..08d0d3f 100644
--- a/hw/xwin/win.h
+++ b/hw/xwin/win.h
@@ -169,7 +169,6 @@
 #include "micmap.h"
 #include "mifillarc.h"
 #include "mifpoly.h"
-#include "mibstore.h"
 #include "input.h"
 #include "mipointer.h"
 #include "X11/keysym.h"
commit 056fd15deaa85d3ed936df9a3b2e0cdcfa599da8
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Thu Sep 6 00:38:23 2012 +0200

    dix: Delete mibstore.c
    
    The only reference to mibstore.c was removed with commit c4c4676. Remove the
    file itself too.
    
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/mi/mibstore.c b/mi/mibstore.c
deleted file mode 100644
index 6cadb2b..0000000
--- a/mi/mibstore.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-#include "scrnintstr.h"
-#include "mibstore.h"
-
-/*
- * There is no longer an mi implementation of backing store.  This function
- * is only for source compatibility with old drivers.
- *
- * Note though that you do get backing store for free if your server has
- * Composite enabled, since the automatic redirection mechanism provides
- * essentially the same functionality.  See compChangeWindowAttributes()
- * for the implementation.
- */
-
-void
-miInitializeBackingStore(ScreenPtr pScreen)
-{
-}


More information about the xorg-commit mailing list