[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu+1'



Rebased ref, commits from common ancestor:
commit 040e9c201beed17ef95e9fd8c348e3b78cff5118
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Dec 2 13:07:42 2013 +0100

    fixup xmir patch building

diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index bc2fd5e..c649889 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1484,7 +1484,7 @@
 +xmir_window_disable_damage_tracking(xmir_window *xmir_win)
 +{
 +    if (xmir_win->damage != NULL) {
-+        DamageUnregister(&xmir_win->win->drawable, xmir_win->damage);
++        DamageUnregister(xmir_win->damage);
 +        DamageDestroy(xmir_win->damage);
 +        xmir_win->damage = NULL;
 +    }

commit e29f8177c0b72665334fc5fe8637de0b525785c0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Dec 2 12:57:11 2013 +0100

    disable xorg-servers linux acpi and apm support
    
    Can only cause bugs.

diff --git a/debian/rules b/debian/rules
index 3d1168d..741834e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -108,6 +108,8 @@ confflags += \
 	     --enable-dpms \
 	     $(config_backend) \
 	     --enable-xorg \
+	     --disable-linux-acpi \
+	     --disable-linux-apm \
 	     --disable-xquartz \
 	     --disable-xwin \
 	     --disable-xfake \

commit 494fddaa976c94320feb547e444d0b97a96f9c7d
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Dec 2 12:55:48 2013 +0100

    refresh xmir patch

diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index 6c82d8f..bc2fd5e 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,16 +1,14 @@
-diff --git a/configure.ac b/configure.ac
-index c6ecba4..07d02d0 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -635,6 +635,7 @@ AC_ARG_ENABLE(windowswm,      AS_HELP_STRING([--enable-windowswm], [Build XWin w
+@@ -631,6 +631,7 @@
  AC_ARG_ENABLE(libdrm,         AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
  AC_ARG_ENABLE(clientids,      AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
  AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
 +AC_ARG_ENABLE(xmir,           AS_HELP_STRING([--enable-xmir], [Build support for nesting in Mir (default: auto)]), [XMIR=$enableval], [XMIR=auto])
+ AC_ARG_ENABLE(linux_acpi, AC_HELP_STRING([--disable-linux-acpi], [Disable building ACPI support on Linux (if available).]), [enable_linux_acpi=$enableval], [enable_linux_acpi=yes])
+ AC_ARG_ENABLE(linux_apm, AC_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes])
  
- dnl DDXes.
- AC_ARG_ENABLE(xorg,    	      AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
-@@ -1148,6 +1149,15 @@ if test "x$XINERAMA" = xyes; then
+@@ -1275,6 +1276,15 @@
  	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
  fi
  
@@ -20,13 +18,13 @@ index c6ecba4..07d02d0 100644
 +        AC_SUBST([XMIR_CFLAGS])
 +        AC_DEFINE(XMIR, 1, [Support Mir nested mode])
 +	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES mirclient"
-+fi	      
++fi
 +AM_CONDITIONAL(XMIR, [test "x$XMIR" = xyes])
 +
  AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
  if test "x$XACE" = xyes; then
  	AC_DEFINE(XACE, 1, [Build X-ACE extension])
-@@ -2299,6 +2309,7 @@ hw/xfree86/utils/Makefile
+@@ -2439,6 +2449,7 @@
  hw/xfree86/utils/man/Makefile
  hw/xfree86/utils/cvt/Makefile
  hw/xfree86/utils/gtf/Makefile
@@ -34,11 +32,9 @@ index c6ecba4..07d02d0 100644
  hw/dmx/config/Makefile
  hw/dmx/config/man/Makefile
  hw/dmx/doc/Makefile
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index c3899b5..6821198 100644
 --- a/hw/xfree86/Makefile.am
 +++ b/hw/xfree86/Makefile.am
-@@ -25,15 +25,20 @@ if INT10MODULE
+@@ -30,15 +30,20 @@
  INT10_SUBDIR = int10
  endif
  
@@ -61,11 +57,9 @@ index c3899b5..6821198 100644
  
  bin_PROGRAMS = Xorg
  nodist_Xorg_SOURCES = sdksyms.c
-diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
-index 74d5ed3..538ba4b 100644
 --- a/hw/xfree86/common/xf86Config.c
 +++ b/hw/xfree86/common/xf86Config.c
-@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {
+@@ -118,6 +118,7 @@
      {.name = "fb",.toLoad = TRUE,.load_opt = NULL},
      {.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
  #endif
@@ -73,7 +67,7 @@ index 74d5ed3..538ba4b 100644
      {.name = NULL,.toLoad = FALSE,.load_opt = NULL}
  };
  
-@@ -260,6 +261,17 @@ xf86ModulelistFromConfig(pointer **optlist)
+@@ -260,6 +261,17 @@
          return NULL;
      }
  
@@ -91,11 +85,9 @@ index 74d5ed3..538ba4b 100644
      if (xf86configptr->conf_modules) {
          /* Walk the disable list and let people know what we've parsed to
           * not be loaded 
-diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
-index 7a949fd..4d416b4 100644
 --- a/hw/xfree86/common/xf86Events.c
 +++ b/hw/xfree86/common/xf86Events.c
-@@ -105,8 +105,6 @@ extern fd_set EnabledDevices;
+@@ -105,8 +105,6 @@
  extern void (*xf86OSPMClose) (void);
  #endif
  
@@ -104,7 +96,7 @@ index 7a949fd..4d416b4 100644
  /*
   * Allow arbitrary drivers or other XFree86 code to register with our main
   * Wakeup handler.
-@@ -410,7 +408,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev)
+@@ -411,7 +409,7 @@
   * xf86VTSwitch --
   *      Handle requests for switching the vt.
   */
@@ -113,7 +105,7 @@ index 7a949fd..4d416b4 100644
  xf86VTSwitch(void)
  {
      int i;
-@@ -466,7 +464,7 @@ xf86VTSwitch(void)
+@@ -471,7 +469,7 @@
  
          xf86AccessLeave();      /* We need this here, otherwise */
  
@@ -122,7 +114,7 @@ index 7a949fd..4d416b4 100644
              /*
               * switch failed
               */
-@@ -522,7 +520,7 @@ xf86VTSwitch(void)
+@@ -530,7 +528,7 @@
      }
      else {
          DebugF("xf86VTSwitch: Entering\n");
@@ -131,22 +123,18 @@ index 7a949fd..4d416b4 100644
              return;
  
  #ifdef XF86PM
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index 7df7a80..17ed7c6 100644
 --- a/hw/xfree86/common/xf86Globals.c
 +++ b/hw/xfree86/common/xf86Globals.c
-@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE;
+@@ -206,3 +206,6 @@
  #endif
  RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
  Bool xorgHWAccess = FALSE;
 +Bool xorgMir = FALSE;
 +const char *mirID = NULL;
 +const char *mirSocket = NULL;
-diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
-index 721159d..d319e0c 100644
 --- a/hw/xfree86/common/xf86Helper.c
 +++ b/hw/xfree86/common/xf86Helper.c
-@@ -100,7 +100,14 @@ xf86DeleteDriver(int drvIndex)
+@@ -100,7 +100,14 @@
          if (xf86DriverList[drvIndex]->module)
              UnloadModule(xf86DriverList[drvIndex]->module);
          free(xf86DriverList[drvIndex]);
@@ -162,11 +150,9 @@ index 721159d..d319e0c 100644
      }
  }
  
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index 91ec4c8..0508e8d 100644
 --- a/hw/xfree86/common/xf86Init.c
 +++ b/hw/xfree86/common/xf86Init.c
-@@ -530,7 +530,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -554,7 +554,7 @@
           * needed at this early stage.
           */
  
@@ -175,7 +161,7 @@ index 91ec4c8..0508e8d 100644
              xorgHWFlags flags = HW_IO;
  
              if (xf86DriverList[i]->Identify != NULL)
-@@ -541,11 +541,20 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -565,11 +565,20 @@
                                                GET_REQUIRED_HW_INTERFACES,
                                                &flags);
  
@@ -196,7 +182,7 @@ index 91ec4c8..0508e8d 100644
          }
  
          if (xorgHWOpenConsole)
-@@ -631,9 +640,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -662,9 +671,13 @@
          }
  
          /* Remove (unload) drivers that are not required */
@@ -212,7 +198,7 @@ index 91ec4c8..0508e8d 100644
  
          /*
           * At this stage we know how many screens there are.
-@@ -1454,6 +1467,17 @@ ddxProcessArgument(int argc, char **argv, int i)
+@@ -1490,6 +1503,17 @@
          xf86Info.ShareVTs = TRUE;
          return 1;
      }
@@ -230,7 +216,7 @@ index 91ec4c8..0508e8d 100644
  
      /* OS-specific processing */
      return xf86ProcessArgument(argc, argv, i);
-@@ -1527,6 +1551,8 @@ ddxUseMsg(void)
+@@ -1563,6 +1587,8 @@
      ErrorF
          ("-novtswitch            don't automatically switch VT at reset & exit\n");
      ErrorF("-sharevts              share VTs with another X server\n");
@@ -239,11 +225,9 @@ index 91ec4c8..0508e8d 100644
      /* OS-specific usage */
      xf86UseMsg();
      ErrorF("\n");
-diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
-index 58cfe0a..96372fa 100644
 --- a/hw/xfree86/common/xf86Priv.h
 +++ b/hw/xfree86/common/xf86Priv.h
-@@ -91,6 +91,9 @@ extern _X_EXPORT int xf86NumScreens;
+@@ -93,6 +93,9 @@
  extern _X_EXPORT const char *xf86VisualNames[];
  extern _X_EXPORT int xf86Verbose;       /* verbosity level */
  extern _X_EXPORT int xf86LogVerbose;    /* log file verbosity level */
@@ -253,7 +237,7 @@ index 58cfe0a..96372fa 100644
  
  extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
  
-@@ -147,6 +150,9 @@ xf86HandlePMEvents(int fd, pointer data);
+@@ -149,6 +152,9 @@
  extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events,
                                                int num);
  extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event);
@@ -263,17 +247,15 @@ index 58cfe0a..96372fa 100644
  
  /* xf86Helper.c */
  extern _X_EXPORT void
-diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
-index 860704e..5277c94 100644
 --- a/hw/xfree86/ramdac/xf86Cursor.c
 +++ b/hw/xfree86/ramdac/xf86Cursor.c
-@@ -58,7 +58,12 @@ xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -58,7 +58,12 @@
      xf86CursorScreenPtr ScreenPriv;
      miPointerScreenPtr PointPriv;
  
 -    if (!xf86InitHardwareCursor(pScreen, infoPtr))
 +    infoPtr->pScrn = xf86ScreenToScrn(pScreen);
-+    
++
 +    /* If we can't create a hardware cursor don't bother initialising HW cursor support */
 +    if (infoPtr->MaxWidth != 0 &&
 +        infoPtr->MaxHeight != 0 &&
@@ -281,11 +263,9 @@ index 860704e..5277c94 100644
          return FALSE;
  
      if (!dixRegisterPrivateKey(&xf86CursorScreenKeyRec, PRIVATE_SCREEN, 0))
-diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
-index 197abff..399bfb9 100644
 --- a/hw/xfree86/ramdac/xf86HWCurs.c
 +++ b/hw/xfree86/ramdac/xf86HWCurs.c
-@@ -114,8 +114,6 @@ xf86InitHardwareCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -114,8 +114,6 @@
          infoPtr->RealizeCursor = RealizeCursorInterleave0;
      }
  
@@ -294,9 +274,6 @@ index 197abff..399bfb9 100644
      return TRUE;
  }
  
-diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am
-new file mode 100644
-index 0000000..80715f8
 --- /dev/null
 +++ b/hw/xfree86/xmir/Makefile.am
 @@ -0,0 +1,26 @@
@@ -326,9 +303,6 @@ index 0000000..80715f8
 +	xmir-private.h
 +
 +sdk_HEADERS = xmir.h
-diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c
-new file mode 100644
-index 0000000..8fd8640
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-output.c
 @@ -0,0 +1,678 @@
@@ -657,7 +631,7 @@ index 0000000..8fd8640
 +    const char *error_msg;
 +
 +    if (mode->HDisplay == 0 || mode->VDisplay == 0)
-+        return FALSE;    
++        return FALSE;
 +
 +    xf86Msg(X_INFO, "Initial configuration for crtc %p:\n", crtc);
 +    xmir_dump_config(xmir_crtc->config);
@@ -823,7 +797,7 @@ index 0000000..8fd8640
 +static void
 +xmir_output_destroy(xf86OutputPtr xf86output)
 +{
-+    /* The MirDisplayOutput* in driver_private gets cleaned up by 
++    /* The MirDisplayOutput* in driver_private gets cleaned up by
 +       mir_display_config_destroy() */
 +}
 +
@@ -920,7 +894,7 @@ index 0000000..8fd8640
 +    xmir_update_config(crtc_config);
 +
 +    /* Trigger RANDR refresh */
-+    RRGetInfo(xf86ScrnToScreen(scrn), TRUE);   
++    RRGetInfo(xf86ScrnToScreen(scrn), TRUE);
 +}
 +
 +static void
@@ -1007,12 +981,9 @@ index 0000000..8fd8640
 +
 +    /* TODO: Use initial Mir state rather than setting up our own */
 +    xf86InitialConfiguration(scrn, TRUE);
-+  
++
 +    return TRUE;
 +}
-diff --git a/hw/xfree86/xmir/xmir-private.h b/hw/xfree86/xmir/xmir-private.h
-new file mode 100644
-index 0000000..15d89f0
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-private.h
 @@ -0,0 +1,106 @@
@@ -1122,9 +1093,6 @@ index 0000000..15d89f0
 +xmir_process_from_eventloop(void);
 +
 + #endif /* _MIR_PRIVATE_H */
-diff --git a/hw/xfree86/xmir/xmir-thread-proxy.c b/hw/xfree86/xmir/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..e0acceb
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-thread-proxy.c
 @@ -0,0 +1,124 @@
@@ -1221,7 +1189,7 @@ index 0000000..e0acceb
 +}
 +
 +void
-+xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg) 
++xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg)
 +{
 +	ssize_t written;
 +	const int total_size = sizeof *handler + handler->msg_size;
@@ -1252,9 +1220,6 @@ index 0000000..e0acceb
 +	}
 +}
 +
-diff --git a/hw/xfree86/xmir/xmir-window.c b/hw/xfree86/xmir/xmir-window.c
-new file mode 100644
-index 0000000..a5e97c7
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-window.c
 @@ -0,0 +1,343 @@
@@ -1593,7 +1558,7 @@ index 0000000..a5e97c7
 +    xmir->DestroyWindow = screen->DestroyWindow;
 +    screen->DestroyWindow = xmir_destroy_window;
 +
-+    xmir->submit_rendering_handler = 
++    xmir->submit_rendering_handler =
 +        xmir_register_handler(&xmir_handle_buffer_available,
 +                              sizeof (xmir_window *));
 +    if (xmir->submit_rendering_handler == NULL)
@@ -1601,9 +1566,6 @@ index 0000000..a5e97c7
 +
 +    return TRUE;
 +}
-diff --git a/hw/xfree86/xmir/xmir.c b/hw/xfree86/xmir/xmir.c
-new file mode 100644
-index 0000000..bb2bd59
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir.c
 @@ -0,0 +1,263 @@
@@ -1658,7 +1620,7 @@ index 0000000..bb2bd59
 +#include <mir_toolkit/mir_client_library_drm.h>
 +
 +static DevPrivateKeyRec xmir_screen_private_key;
-+/* 
++/*
 + * We have only a single Mir connection, regardless of how many
 + * drivers load.
 + */
@@ -1784,7 +1746,7 @@ index 0000000..bb2bd59
 +        xf86Msg(X_WARNING, "xf86Cursor initialisation failed\n");
 +
 +    /* Hook up focus -> VT switch proxy */
-+    xmir->focus_event_handler = 
++    xmir->focus_event_handler =
 +        xmir_register_handler(&xmir_handle_focus_event,
 +                              sizeof(Bool));
 +    if (xmir->focus_event_handler == NULL)
@@ -1806,7 +1768,7 @@ index 0000000..bb2bd59
 +_X_EXPORT void
 +xmir_screen_destroy(xmir_screen *xmir)
 +{
-+    
++
 +}
 +
 +_X_EXPORT void
@@ -1842,7 +1804,7 @@ index 0000000..bb2bd59
 +xMirSetup(pointer module, pointer opts, int *errmaj, int *errmin)
 +{
 +    static Bool setupDone = FALSE;
-+    
++
 +    if (setupDone) {
 +        if (errmaj)
 +            *errmaj = LDR_ONCEONLY;
@@ -1859,7 +1821,7 @@ index 0000000..bb2bd59
 +        return NULL;
 +    }
 +
-+    xmir_init_thread_to_eventloop();    
++    xmir_init_thread_to_eventloop();
 +
 +    setupDone = TRUE;
 +
@@ -1870,9 +1832,6 @@ index 0000000..bb2bd59
 +xMirTeardown(pointer module)
 +{
 +}
-diff --git a/hw/xfree86/xmir/xmir.h b/hw/xfree86/xmir/xmir.h
-new file mode 100644
-index 0000000..78396a3
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir.h
 @@ -0,0 +1,103 @@
@@ -1946,7 +1905,7 @@ index 0000000..78396a3
 +
 +_X_EXPORT void
 +xmir_screen_close(ScreenPtr screen, xmir_screen *xmir);
-+	
++
 +_X_EXPORT void
 +xmir_screen_destroy(xmir_screen *xmir);
 +
@@ -1979,11 +1938,9 @@ index 0000000..78396a3
 +xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_window_proc callback);
 +
 +#endif /* _XMIR_H */
-diff --git a/include/list.h b/include/list.h
-index 11de7c5..59f0233 100644
 --- a/include/list.h
 +++ b/include/list.h
-@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, struct xorg_list *next)
+@@ -184,6 +184,14 @@
      prev->next = next;
  }
  
@@ -1998,99 +1955,29 @@ index 11de7c5..59f0233 100644
  /**
   * Remove the element from the list it is in. Using this function will reset
   * the pointers to/from this element so it is removed from the list. It does
-diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
-index 81935be..c9cd4e8 100644
 --- a/include/xorg-server.h.in
 +++ b/include/xorg-server.h.in
-@@ -212,4 +212,7 @@
- #define _XSERVER64 1
- #endif
+@@ -224,4 +224,7 @@
+ /* Use XTrans FD passing support */
+ #undef XTRANS_SEND_FDS
  
 +/* Build XMIR nested server */
 +#undef XMIR
 +
  #endif /* _XORG_SERVER_H_ */
-diff --git a/miext/damage/damage.c b/miext/damage/damage.c
-index a98c20e..a1daebb 100644
---- a/miext/damage/damage.c
-+++ b/miext/damage/damage.c
-@@ -123,18 +123,14 @@ static void
- damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage,
-                                 RegionPtr pDamageRegion)
- {
--    BoxRec tmpBox;
--    RegionRec tmpRegion, newDamage;
--    Bool was_empty;
--
--    RegionUnion(&newDamage, pOldDamage, pDamageRegion);
--
-     switch (pDamage->damageLevel) {
-     case DamageReportRawRegion:
-         (*pDamage->damageReportPostRendering) (pDamage, pDamageRegion,
-                                                pDamage->closure);
-         break;
-     case DamageReportDeltaRegion:
-+    {
-+        RegionRec tmpRegion;
-         RegionNull(&tmpRegion);
-         RegionSubtract(&tmpRegion, pDamageRegion, pOldDamage);
-         if (RegionNotEmpty(&tmpRegion)) {
-@@ -143,25 +139,31 @@ damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage,
-         }
-         RegionUninit(&tmpRegion);
-         break;
-+    }
-     case DamageReportBoundingBox:
-+    {
-+        BoxRec tmpBox;
-+        RegionRec newDamage;
-         tmpBox = *RegionExtents(pOldDamage);
-+        RegionUnion(&newDamage, pOldDamage, pDamageRegion);
-         if (!BOX_SAME(&tmpBox, RegionExtents(&newDamage))) {
-             (*pDamage->damageReportPostRendering) (pDamage, &newDamage,
-                                                    pDamage->closure);
-         }
-         break;
-+    }
-     case DamageReportNonEmpty:
--        was_empty = !RegionNotEmpty(pOldDamage);
--        if (was_empty && RegionNotEmpty(&newDamage)) {
--            (*pDamage->damageReportPostRendering) (pDamage, &newDamage,
-+        if (RegionNotEmpty(pOldDamage))
-+            break;
-+
-+        if (RegionNotEmpty(pDamageRegion)) {
-+            (*pDamage->damageReportPostRendering) (pDamage, pDamageRegion,
-                                                    pDamage->closure);
-         }
-         break;
-     case DamageReportNone:
-         break;
-     }
--
--    RegionUninit(&newDamage);
- }
- 
- #if DAMAGE_DEBUG_ENABLE
-diff --git a/test/Makefile.am b/test/Makefile.am
-index 34f53fc..d1a0f27 100644
 --- a/test/Makefile.am
 +++ b/test/Makefile.am
-@@ -6,7 +6,12 @@ if XORG
+@@ -6,6 +6,9 @@
  # For now, requires xf86 ddx, could be adjusted to use another
  SUBDIRS += xi2
- noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging
--endif
-+
+ noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch
 +if XMIR
 +noinst_PROGRAMS += xmir-thread-proxy
 +endif #XMIR
-+
-+endif #XORG
+ endif
  check_LTLIBRARIES = libxservertest.la
  
- TESTS=$(noinst_PROGRAMS)
-@@ -38,6 +43,8 @@ touch_LDADD=$(TEST_LDADD)
+@@ -38,6 +41,8 @@
  signal_logging_LDADD=$(TEST_LDADD)
  hashtabletest_LDADD=$(TEST_LDADD) $(top_srcdir)/Xext/hashtable.c
  os_LDADD=$(TEST_LDADD)
@@ -2099,9 +1986,6 @@ index 34f53fc..d1a0f27 100644
  
  libxservertest_la_LIBADD = $(XSERVER_LIBS)
  if XORG
-diff --git a/test/xmir-thread-proxy.c b/test/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..7cf19cf
 --- /dev/null
 +++ b/test/xmir-thread-proxy.c
 @@ -0,0 +1,154 @@
@@ -2241,7 +2125,7 @@ index 0000000..7cf19cf
 +
 +	xmir_process_from_eventloop();
 +
-+	assert(check == NUM_THREADS);	
++	assert(check == NUM_THREADS);
 +}
 +
 +static void

commit 76fba15816b20e05fcbf6ac44063197b49043bcc
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Dec 2 12:47:40 2013 +0100

    remove aarch64.patch, upstream

diff --git a/debian/patches/aarch64.patch b/debian/patches/aarch64.patch
deleted file mode 100644
index c24c415..0000000
--- a/debian/patches/aarch64.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-Upstream-status: not sent yet
-
----
- hw/xfree86/os-support/linux/lnx_video.c |    4 ++--
- include/servermd.h                      |    7 +++++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-Index: b/hw/xfree86/os-support/linux/lnx_video.c
-===================================================================
---- a/hw/xfree86/os-support/linux/lnx_video.c
-+++ b/hw/xfree86/os-support/linux/lnx_video.c
-@@ -58,6 +58,7 @@
-       !defined(__sparc__) && \
-       !defined(__mips__) && \
-       !defined(__nds32__) && \
-+      !defined(__aarch64__) && \
-       !defined(__arm__)
- 
- /*
-Index: b/include/servermd.h
-===================================================================
---- a/include/servermd.h
-+++ b/include/servermd.h
-@@ -245,6 +245,13 @@
- /* ???? */
- #endif                          /* AMD64 */
- 
-+#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64)
-+#define IMAGE_BYTE_ORDER	MSBFirst
-+#define BITMAP_BIT_ORDER       MSBFirst
-+#define GLYPHPADBYTES		4
-+/* ???? */
-+#endif                          /* AArch64 */
-+
- #if	defined(SVR4) && (defined(__i386__) || defined(__i386) ) ||	\
- 	defined(__alpha__) || defined(__alpha) || \
- 	defined(__i386__) || \
diff --git a/debian/patches/series b/debian/patches/series
index 276d502..cee2ba5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -47,6 +47,5 @@ xf86-inactive-gpuscreen.patch
 rrcrtc-brackets-are-hard.patch
 config-add-no-removal.patch
 
-aarch64.patch
 xmir.patch
 pixman-validate.patch

commit 2571328296bba71d12ebb35843cce0f9b53f933c
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Dec 2 12:46:57 2013 +0100

    remove upstream glx patches

diff --git a/debian/patches/glx-corner-case-drawablegone.patch b/debian/patches/glx-corner-case-drawablegone.patch
deleted file mode 100644
index 13af4e3..0000000
--- a/debian/patches/glx-corner-case-drawablegone.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Adam Jackson <ajax@redhat.com>
-To: xorg-devel@lists.x.org
-Subject: [PATCH 3/3] glx: Fix a corner case in DrawableGone
-Date: Mon, 30 Sep 2013 12:11:24 -0400
-Message-Id: <1380557484-23805-4-git-send-email-ajax@redhat.com>
-
-Losing the drawable does not change our notion of current client.  Since
-the GL under us doesn't understand having a current context without
-current drawables (sigh), we do still need to loseCurrent so that we
-re-bind the context on the next request.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65030
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- glx/glxext.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glx/glxext.c b/glx/glxext.c
-index 534c791..75260a0 100644
---- a/glx/glxext.c
-+++ b/glx/glxext.c
-@@ -132,8 +132,8 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid)
-         next = c->next;
-         if (c->currentClient &&
- 		(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
-+            /* just force a re-bind the next time through */
-             (*c->loseCurrent) (c);
--            c->currentClient = NULL;
-         }
-         if (c->drawPriv == glxPriv)
-             c->drawPriv = NULL;
--- 
-1.8.3.1
-
-_______________________________________________
-xorg-devel@lists.x.org: X.Org development
-Archives: http://lists.x.org/archives/xorg-devel
-Info: http://lists.x.org/mailman/listinfo/xorg-devel
-
diff --git a/debian/patches/glx-fix-memory-leak.patch b/debian/patches/glx-fix-memory-leak.patch
deleted file mode 100644
index a627909..0000000
--- a/debian/patches/glx-fix-memory-leak.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-From: Adam Jackson <ajax@redhat.com>
-To: xorg-devel@lists.x.org
-Subject: [PATCH 2/3] glx: Fix memory leak in context garbage collection
-Date: Mon, 30 Sep 2013 12:11:23 -0400
-Message-Id: <1380557484-23805-3-git-send-email-ajax@redhat.com>
-
-I broke this, back in:
-
-    commit a48dadc98a28c969741979b70b7a639f24f4cbbd
-    Author: Adam Jackson <ajax@redhat.com>
-    Date:   Mon Mar 21 11:59:29 2011 -0400
-
-	glx: Reimplement context tags
-
-In that, I changed the glx client state to not explicitly track the list
-of current contexts for the client (since that was what we were deriving
-tags from).  The bug was that I removed the code for same from
-glxClientCallback without noticing that it had the side effect of
-effectively de-currenting those contexts, so that ContextGone could free
-them.  So, if you had a client exit with a context still current, the
-context's memory would leak.  Not a huge deal for direct clients, but
-viciously bad for indirect, since the swrast context state at the bottom
-of Mesa is like 15M.
-
-Fix this by promoting Bool isCurrent to ClientPtr currentClient, so that
-we have a back-pointer to chase when walking the list of contexts when
-ClientStateGone happens.
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- glx/createcontext.c |  2 +-
- glx/glxcmds.c       | 14 +++++++-------
- glx/glxcontext.h    | 10 +++++-----
- glx/glxext.c        | 36 +++++++++++++++++++++++++-----------
- 4 files changed, 38 insertions(+), 24 deletions(-)
-
-diff --git a/glx/createcontext.c b/glx/createcontext.c
-index 13d21cc..78792da 100644
---- a/glx/createcontext.c
-+++ b/glx/createcontext.c
-@@ -320,7 +320,7 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
-     ctx->id = req->context;
-     ctx->share_id = req->shareList;
-     ctx->idExists = True;
--    ctx->isCurrent = False;
-+    ctx->currentClient = False;
-     ctx->isDirect = req->isDirect;
-     ctx->hasUnflushedCommands = False;
-     ctx->renderMode = GL_RENDER;
-diff --git a/glx/glxcmds.c b/glx/glxcmds.c
-index 663448a..288b417 100644
---- a/glx/glxcmds.c
-+++ b/glx/glxcmds.c
-@@ -290,7 +290,7 @@ DoCreateContext(__GLXclientState * cl, GLXContextID gcId,
-     glxc->id = gcId;
-     glxc->share_id = shareList;
-     glxc->idExists = GL_TRUE;
--    glxc->isCurrent = GL_FALSE;
-+    glxc->currentClient = NULL;
-     glxc->isDirect = isDirect;
-     glxc->hasUnflushedCommands = GL_FALSE;
-     glxc->renderMode = GL_RENDER;
-@@ -398,7 +398,7 @@ __glXDisp_DestroyContext(__GLXclientState * cl, GLbyte * pc)
-         return err;
- 
-     glxc->idExists = GL_FALSE;
--    if (!glxc->isCurrent)
-+    if (!glxc->currentClient)
-         FreeResourceByType(req->context, __glXContextRes, FALSE);
- 
-     return Success;
-@@ -431,7 +431,7 @@ static void
- StopUsingContext(__GLXcontext * glxc)
- {
-     if (glxc) {
--        glxc->isCurrent = GL_FALSE;
-+        glxc->currentClient = NULL;
-         if (!glxc->idExists) {
-             FreeResourceByType(glxc->id, __glXContextRes, FALSE);
-         }
-@@ -441,7 +441,7 @@ StopUsingContext(__GLXcontext * glxc)
- static void
- StartUsingContext(__GLXclientState * cl, __GLXcontext * glxc)
- {
--    glxc->isCurrent = GL_TRUE;
-+    glxc->currentClient = cl->client;
- }
- 
- /**
-@@ -571,7 +571,7 @@ DoMakeCurrent(__GLXclientState * cl,
- 
-         if (!validGlxContext(client, contextId, DixUseAccess, &glxc, &error))
-             return error;
--        if ((glxc != prevglxc) && glxc->isCurrent) {
-+        if ((glxc != prevglxc) && glxc->currentClient) {
-             /* Context is current to somebody else */
-             return BadAccess;
-         }
-@@ -633,7 +633,7 @@ DoMakeCurrent(__GLXclientState * cl,
-             return __glXError(GLXBadContext);
-         }
- 
--        glxc->isCurrent = GL_TRUE;
-+        glxc->currentClient = client;
-     }
- 
-     StopUsingContext(prevglxc);
-@@ -854,7 +854,7 @@ __glXDisp_CopyContext(__GLXclientState * cl, GLbyte * pc)
-     /*
-      ** The destination context must not be current for any client.
-      */
--    if (dst->isCurrent) {
-+    if (dst->currentClient) {
-         client->errorValue = dest;
-         return BadAccess;
-     }
-diff --git a/glx/glxcontext.h b/glx/glxcontext.h
-index 96a4dd2..fd018d0 100644
---- a/glx/glxcontext.h
-+++ b/glx/glxcontext.h
-@@ -70,6 +70,11 @@ struct __GLXcontext {
-     __GLXscreen *pGlxScreen;
- 
-     /*
-+     ** If this context is current for a client, this will be that client
-+     */
-+    ClientPtr currentClient;
-+
-+    /*
-      ** The XID of this context.
-      */
-     XID id;
-@@ -85,11 +90,6 @@ struct __GLXcontext {
-     GLboolean idExists;
- 
-     /*
--     ** Whether this context is current for some client.
--     */
--    GLboolean isCurrent;
--
--    /*
-      ** Whether this context is a direct rendering context.
-      */
-     GLboolean isDirect;
-diff --git a/glx/glxext.c b/glx/glxext.c
-index 1bb884f..534c791 100644
---- a/glx/glxext.c
-+++ b/glx/glxext.c
-@@ -88,16 +88,15 @@ __glXResetLargeCommandStatus(__GLXclientState * cl)
- }
- 
- /*
--** This procedure is called when the client who created the context goes
--** away OR when glXDestroyContext is called.  In either case, all we do is
--** flag that the ID is no longer valid, and (maybe) free the context.
--** use.
--*/
-+ * This procedure is called when the client who created the context goes away
-+ * OR when glXDestroyContext is called.  In either case, all we do is flag that
-+ * the ID is no longer valid, and (maybe) free the context.
-+ */
- static int
- ContextGone(__GLXcontext * cx, XID id)
- {
-     cx->idExists = GL_FALSE;
--    if (!cx->isCurrent) {
-+    if (!cx->currentClient) {
-         __glXFreeContext(cx);
-     }
- 
-@@ -131,9 +130,10 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid)
- 
-     for (c = glxAllContexts; c; c = next) {
-         next = c->next;
--        if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
-+        if (c->currentClient &&
-+		(c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
-             (*c->loseCurrent) (c);
--            c->isCurrent = GL_FALSE;
-+            c->currentClient = NULL;
-         }
-         if (c->drawPriv == glxPriv)
-             c->drawPriv = NULL;
-@@ -187,14 +187,14 @@ __glXRemoveFromContextList(__GLXcontext * cx)
- GLboolean
- __glXFreeContext(__GLXcontext * cx)
- {
--    if (cx->idExists || cx->isCurrent)
-+    if (cx->idExists || cx->currentClient)
-         return GL_FALSE;
- 
-+    __glXRemoveFromContextList(cx);
-+
-     free(cx->feedbackBuf);
-     free(cx->selectBuf);
- 
--    __glXRemoveFromContextList(cx);
--
-     /* We can get here through both regular dispatching from
-      * __glXDispatch() or as a callback from the resource manager.  In
-      * the latter case we need to lift the DRI lock manually. */
-@@ -271,6 +271,7 @@ glxClientCallback(CallbackListPtr *list, pointer closure, pointer data)
-     NewClientInfoRec *clientinfo = (NewClientInfoRec *) data;
-     ClientPtr pClient = clientinfo->client;
-     __GLXclientState *cl = glxGetClient(pClient);
-+    __GLXcontext *c, *next;
- 
-     switch (pClient->clientState) {
-     case ClientStateRunning:
-@@ -282,6 +283,19 @@ glxClientCallback(CallbackListPtr *list, pointer closure, pointer data)
-         break;
- 
-     case ClientStateGone:
-+	/*
-+	 * reap any remaining contexts.  we're running just before
-+	 * FreeClientResources, so all we need to do is detach the client
-+	 * from the context, and ContextGone will do the rest.
-+	 */
-+	for (c = glxAllContexts; c; c = next) {
-+	    next = c->next;
-+	    if (c->currentClient == pClient) {
-+		(*c->loseCurrent) (c);
-+		c->currentClient = NULL;
-+	    }
-+	}
-+
-         free(cl->returnBuf);
-         free(cl->largeCmdBuf);
-         free(cl->GLClientextensions);
--- 
-1.8.3.1
-
-_______________________________________________
-xorg-devel@lists.x.org: X.Org development
-Archives: http://lists.x.org/archives/xorg-devel
-Info: http://lists.x.org/mailman/listinfo/xorg-devel
-
diff --git a/debian/patches/glx-link-against-glapi.patch b/debian/patches/glx-link-against-glapi.patch
deleted file mode 100644
index cda436c..0000000
--- a/debian/patches/glx-link-against-glapi.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/glx/Makefile.am b/glx/Makefile.am
-index 591c4ac..5f91946 100644
---- a/glx/Makefile.am
-+++ b/glx/Makefile.am
-@@ -10,7 +10,7 @@ AM_CFLAGS = \
- 	@XLIB_CFLAGS@ \
- 	@LIBDRM_CFLAGS@ \
- 	@GLX_DEFINES@ \
--	@GLX_ARCH_DEFINES@
-+	@GLX_ARCH_DEFINES@ -lglapi
- 
- # none yet
- #sdk_HEADERS =
-diff --git a/glx/glapi.c b/glx/glapi.c
-index ad7329e..8b754e6 100644
---- a/glx/glapi.c
-+++ b/glx/glapi.c
-@@ -80,13 +80,6 @@ static void init_glapi_relocs(void);
- /*@{*/
- #if defined(GLX_USE_TLS)
- 
--PUBLIC TLS struct _glapi_table *_glapi_tls_Dispatch = NULL;
--
--PUBLIC TLS void *_glapi_tls_Context;
--
--PUBLIC const struct _glapi_table *_glapi_Dispatch = NULL;
--PUBLIC const void *_glapi_Context = NULL;
--
- #else
- 


Reply to: