From 48dc8f4c68a571a35d62484e7114752efafa3504 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 17 Dec 2013 10:17:41 -0500 Subject: [PATCH] 1.15RC4 - Re-disable int10 on arm --- ...-a-typo-near-dri3-shmfence-detection.patch | 28 + ...n-CloseScreen-hook-not-ext-CloseDown.patch | 4 +- ...cb_connect-returns-an-error-not-NULL.patch | 29 - ...cursively-set-window-pixmaps-on-flip.patch | 93 +++ 0001-xfree86-Prefer-fbdev-to-vesa.patch | 62 -- 0001-xinerama-Export-the-screen-region.patch | 42 -- 0002-dix-Add-PostDispatchCallback.patch | 60 -- ...ve-handle-WxH-as-valid-geometry-spec.patch | 36 - 0002-xkb-Add-struct-XkbCompContext.patch | 4 +- 0003-damageext-Xineramify-v6.patch | 630 ------------------ ...hyr-events-to-use-POINTER_DESKTOP-an.patch | 70 -- ...out-code-to-start-and-finish-xkbcomp.patch | 4 +- ...posite-Fix-COW-creation-for-Xinerama.patch | 35 - ...or-jumps-on-CursorOffScreen-behavior.patch | 64 -- 0004-xkb-Add-XkbCompileKeymapFromString.patch | 4 +- ...nline-assembly-.il-file-for-Solaris-.patch | 102 --- ...miXSetPictureClipRegion-for-window-p.patch | 55 -- ...unction-to-create-a-client-for-an-fd.patch | 8 +- ...NewInputDevice-and-xf86AllocateInput.patch | 4 +- ...es-Fix-PanoramiXSetWindowShapeRegion.patch | 50 -- ...clude-export-key_is_down-and-friends.patch | 41 -- ...rect-window-for-input-device-feature.patch | 6 +- ...RedirectSubwindows-and-CompositeUnRe.patch | 65 -- ...e-touch-test-only-when-building-Xorg.patch | 36 - ...-third-version-of-the-AuthMagic-func.patch | 8 +- ...NULL-for-compat-output-if-no-outputs.patch | 32 - ...le.patch => 0009-Add-xwayland-module.patch | 27 +- ...-mieq-Bump-default-queue-size-to-512.patch | 46 -- ...W_WAYLAND-flag-to-let-drivers-explic.patch | 6 +- ...-t-create-alpha-buffers-if-the-windo.patch | 6 +- ...and-handle-global-object-destruction.patch | 6 +- ...and-add-support-for-multiple-outputs.patch | 6 +- ...14-xwayland-Probe-outputs-on-preinit.patch | 6 +- ...wlshm-driver-as-fallback-for-Wayland.patch | 16 +- ...end-out-of-bounds-damage-co-ordinate.patch | 6 +- ...duce-an-auto-mode-for-enable-wayland.patch | 12 +- ...ardcode-DRM-libs-and-lwayland-client.patch | 6 +- ...-Support-16bpp-X-surfaces-in-DRM-SHM.patch | 6 +- ...-Remove-Xdnd-selection-watching-code.patch | 6 +- ...t-non-wayland-capable-servers-from-d.patch | 6 +- ...G_WAYLAND-symbol-to-xorg-config.h.in.patch | 25 +- ...llback-loading-of-the-wayland-driver.patch | 14 +- ...xwayland-Don-t-include-xorg-server.h.patch | 8 +- ... 0025-os-Don-t-include-xorg-server.h.patch | 6 +- ...istenOnOpenFD-and-AddClientOnOpenFD-.patch | 8 +- ...027-xwayland-Remove-unused-variables.patch | 8 +- ...er-screen-private-key-for-cursor-pri.patch | 6 +- ...XWayland-Don-t-commit-empty-surfaces.patch | 8 +- ...0030-xwayland-Also-look-for-wlglamor.patch | 10 +- ...-xwayland-Add-wlglamor-the-right-way.patch | 10 +- ...-redirect-windows-leave-it-to-the-wm.patch | 10 +- ...h => 0033-xwayland-Fix-hidden-cursor.patch | 6 +- ...mpositeRedirectSubwindows-and-Compos.patch | 68 -- ...bCopyDeviceKeymap-to-apply-a-given-k.patch | 6 +- ...-function-to-copy-a-keymap-s-control.patch | 6 +- ... 0036-xwayland-Handle-keymap-changes.patch | 6 +- ...and-Fix-re-wrapping-of-RealizeWindow.patch | 25 + 0038-xwayland-Adapt-to-1.15-Damage-API.patch | 24 + driver-abi-rebuild.sh | 6 +- sources | 2 +- xorg-x11-server.spec | 144 ++-- ...-1.12-Xext-fix-selinux-build-failure.patch | 52 -- 62 files changed, 385 insertions(+), 1806 deletions(-) create mode 100644 0001-configure-Fix-a-typo-near-dri3-shmfence-detection.patch delete mode 100644 0001-ephyr-xcb_connect-returns-an-error-not-NULL.patch create mode 100644 0001-present-recursively-set-window-pixmaps-on-flip.patch delete mode 100644 0001-xfree86-Prefer-fbdev-to-vesa.patch delete mode 100644 0001-xinerama-Export-the-screen-region.patch delete mode 100644 0002-dix-Add-PostDispatchCallback.patch delete mode 100644 0002-kdrive-handle-WxH-as-valid-geometry-spec.patch delete mode 100644 0003-damageext-Xineramify-v6.patch delete mode 100644 0003-kdrive-modify-ephyr-events-to-use-POINTER_DESKTOP-an.patch delete mode 100644 0004-composite-Fix-COW-creation-for-Xinerama.patch delete mode 100644 0004-kdrive-fix-cursor-jumps-on-CursorOffScreen-behavior.patch delete mode 100644 0005-Stop-including-inline-assembly-.il-file-for-Solaris-.patch delete mode 100644 0005-fixes-Fix-PanoramiXSetPictureClipRegion-for-window-p.patch delete mode 100644 0006-fixes-Fix-PanoramiXSetWindowShapeRegion.patch delete mode 100644 0006-include-export-key_is_down-and-friends.patch rename 0008-Add-redirect-window-for-input-device-feature.patch => 0007-Add-redirect-window-for-input-device-feature.patch (94%) delete mode 100644 0007-Export-CompositeRedirectSubwindows-and-CompositeUnRe.patch delete mode 100644 0007-test-build-the-touch-test-only-when-building-Xorg.patch rename 0009-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch => 0008-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch (96%) delete mode 100644 0008-xfree86-return-NULL-for-compat-output-if-no-outputs.patch rename 0010-Add-xwayland-module.patch => 0009-Add-xwayland-module.patch (99%) delete mode 100644 0009-mieq-Bump-default-queue-size-to-512.patch rename 0011-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch => 0010-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch (90%) rename 0012-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch => 0011-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch (87%) rename 0013-xwayland-handle-global-object-destruction.patch => 0012-xwayland-handle-global-object-destruction.patch (98%) rename 0014-xwayland-add-support-for-multiple-outputs.patch => 0013-xwayland-add-support-for-multiple-outputs.patch (98%) rename 0015-xwayland-Probe-outputs-on-preinit.patch => 0014-xwayland-Probe-outputs-on-preinit.patch (89%) rename 0016-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch => 0015-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch (84%) rename 0017-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch => 0016-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch (88%) rename 0018-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch => 0017-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch (87%) rename 0019-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch => 0018-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch (90%) rename 0020-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch => 0019-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch (95%) rename 0021-xwayland-Remove-Xdnd-selection-watching-code.patch => 0020-xwayland-Remove-Xdnd-selection-watching-code.patch (93%) rename 0022-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch => 0021-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch (87%) rename 0023-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch => 0022-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch (53%) rename 0024-Fix-fallback-loading-of-the-wayland-driver.patch => 0023-Fix-fallback-loading-of-the-wayland-driver.patch (78%) rename 0025-xwayland-Don-t-include-xorg-server.h.patch => 0024-xwayland-Don-t-include-xorg-server.h.patch (91%) rename 0026-os-Don-t-include-xorg-server.h.patch => 0025-os-Don-t-include-xorg-server.h.patch (86%) rename 0027-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch => 0026-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch (82%) rename 0028-xwayland-Remove-unused-variables.patch => 0027-xwayland-Remove-unused-variables.patch (79%) rename 0029-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch => 0028-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch (95%) rename 0030-XWayland-Don-t-commit-empty-surfaces.patch => 0029-XWayland-Don-t-commit-empty-surfaces.patch (86%) rename 0031-xwayland-Also-look-for-wlglamor.patch => 0030-xwayland-Also-look-for-wlglamor.patch (72%) rename 0032-xwayland-Add-wlglamor-the-right-way.patch => 0031-xwayland-Add-wlglamor-the-right-way.patch (79%) rename 0033-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch => 0032-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch (91%) rename 0035-xwayland-Fix-hidden-cursor.patch => 0033-xwayland-Fix-hidden-cursor.patch (90%) delete mode 100644 0034-Revert-Export-CompositeRedirectSubwindows-and-Compos.patch rename 0036-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch => 0034-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch (96%) rename 0037-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch => 0035-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch (94%) rename 0038-xwayland-Handle-keymap-changes.patch => 0036-xwayland-Handle-keymap-changes.patch (95%) create mode 100644 0037-xwayland-Fix-re-wrapping-of-RealizeWindow.patch create mode 100644 0038-xwayland-Adapt-to-1.15-Damage-API.patch delete mode 100644 xserver-1.12-Xext-fix-selinux-build-failure.patch diff --git a/0001-configure-Fix-a-typo-near-dri3-shmfence-detection.patch b/0001-configure-Fix-a-typo-near-dri3-shmfence-detection.patch new file mode 100644 index 0000000..7132fa0 --- /dev/null +++ b/0001-configure-Fix-a-typo-near-dri3-shmfence-detection.patch @@ -0,0 +1,28 @@ +From 53271cd4c761e884dd9060912e000b07bbaf0c3a Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Thu, 12 Dec 2013 10:57:40 -0500 +Subject: [PATCH] configure: Fix a typo near dri3/shmfence detection + +" is not the mate of ]. + +Signed-off-by: Adam Jackson +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 8bedd35..3f2c2d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1218,7 +1218,7 @@ case "$DRI3,$HAVE_XSHMFENCE" in + yes,yes | auto,yes) + ;; + yes,no) +- AC_MSG_ERROR("DRI3 requested, but xshmfence not found.]) ++ AC_MSG_ERROR([DRI3 requested, but xshmfence not found.]) + DRI3=no + ;; + no,*) +-- +1.8.4.2 + diff --git a/0001-dbe-Cleanup-in-CloseScreen-hook-not-ext-CloseDown.patch b/0001-dbe-Cleanup-in-CloseScreen-hook-not-ext-CloseDown.patch index 86f4d18..eebbee4 100644 --- a/0001-dbe-Cleanup-in-CloseScreen-hook-not-ext-CloseDown.patch +++ b/0001-dbe-Cleanup-in-CloseScreen-hook-not-ext-CloseDown.patch @@ -1,4 +1,4 @@ -From 893eb3b6920b8e703f2e10c1c71cd0f788bfb468 Mon Sep 17 00:00:00 2001 +From bd6c61de441087b808a45ff3fea4fe5a31455c5c Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Thu, 12 Jan 2012 18:16:08 +0000 Subject: [PATCH 01/38] dbe: Cleanup in CloseScreen hook not ext CloseDown @@ -121,5 +121,5 @@ index 2002066..7733d0e 100644 /* Per-screen DIX routines */ Bool (*SetupBackgroundPainter) (WindowPtr /*pWin */ , -- -1.8.3.1 +1.8.4.2 diff --git a/0001-ephyr-xcb_connect-returns-an-error-not-NULL.patch b/0001-ephyr-xcb_connect-returns-an-error-not-NULL.patch deleted file mode 100644 index 3d16dd5..0000000 --- a/0001-ephyr-xcb_connect-returns-an-error-not-NULL.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c8c5105c1d5c093675d7f571f158147f22f7572b Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Tue, 29 Oct 2013 14:33:56 +1000 -Subject: [PATCH 1/9] ephyr: xcb_connect returns an error, not NULL - -Signed-off-by: Peter Hutterer -Reviewed-by: Keith Packard ---- - hw/kdrive/ephyr/hostx.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c -index ee9ae45..3e01a47 100644 ---- a/hw/kdrive/ephyr/hostx.c -+++ b/hw/kdrive/ephyr/hostx.c -@@ -304,8 +304,8 @@ hostx_init(void) - | XCB_EVENT_MASK_STRUCTURE_NOTIFY; - - EPHYR_DBG("mark"); -- -- if ((HostX.conn = xcb_connect(NULL, &HostX.screen)) == NULL) { -+ HostX.conn = xcb_connect(NULL, &HostX.screen); -+ if (xcb_connection_has_error(HostX.conn)) { - fprintf(stderr, "\nXephyr cannot open host display. Is DISPLAY set?\n"); - exit(1); - } --- -1.8.3.1 - diff --git a/0001-present-recursively-set-window-pixmaps-on-flip.patch b/0001-present-recursively-set-window-pixmaps-on-flip.patch new file mode 100644 index 0000000..c59fc3f --- /dev/null +++ b/0001-present-recursively-set-window-pixmaps-on-flip.patch @@ -0,0 +1,93 @@ +From fe07ec19e212a68076560d243a2a935c54589068 Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Tue, 10 Dec 2013 11:27:47 -0800 +Subject: [PATCH] present: recursively set window pixmaps on flip + +Newly created windows inherit the pixmap of their parent, similarly, +reparenting a tree inherits the pixmap of the destination tree. + +Making present preserve the invariant that unredirected windows always +have the same pixmap as their parent ensures that the above cases work +correctly. + +v2: name the recursive function to 'set_tree_pixmap' instead of 'set_window_pixmap' + +Signed-off-by: Keith Packard +Reviewed-by: Adam Jackson +--- + present/present.c | 44 +++++++++++++++++++++++++++++++++++++------- + 1 file changed, 37 insertions(+), 7 deletions(-) + +diff --git a/present/present.c b/present/present.c +index ffbb0b3..50bd055 100644 +--- a/present/present.c ++++ b/present/present.c +@@ -312,6 +312,36 @@ present_flip_idle(ScreenPtr screen) + } + } + ++struct pixmap_visit { ++ PixmapPtr old; ++ PixmapPtr new; ++}; ++ ++static int ++present_set_tree_pixmap_visit(WindowPtr window, pointer data) ++{ ++ struct pixmap_visit *visit = data; ++ ScreenPtr screen = window->drawable.pScreen; ++ ++ if ((*screen->GetWindowPixmap)(window) != visit->old) ++ return WT_DONTWALKCHILDREN; ++ (*screen->SetWindowPixmap)(window, visit->new); ++ return WT_WALKCHILDREN; ++} ++ ++static void ++present_set_tree_pixmap(WindowPtr window, PixmapPtr pixmap) ++{ ++ struct pixmap_visit visit; ++ ScreenPtr screen = window->drawable.pScreen; ++ ++ visit.old = (*screen->GetWindowPixmap)(window); ++ visit.new = pixmap; ++ if (visit.old == visit.new) ++ return; ++ TraverseTree(window, present_set_tree_pixmap_visit, &visit); ++} ++ + static void + present_unflip(ScreenPtr screen) + { +@@ -321,10 +351,10 @@ present_unflip(ScreenPtr screen) + assert (!screen_priv->flip_pending); + + if (screen_priv->flip_window) +- (*screen->SetWindowPixmap)(screen_priv->flip_window, +- (*screen->GetScreenPixmap)(screen)); ++ present_set_tree_pixmap(screen_priv->flip_window, ++ (*screen->GetScreenPixmap)(screen)); + +- (*screen->SetWindowPixmap)(screen->root, (*screen->GetScreenPixmap)(screen)); ++ present_set_tree_pixmap(screen->root, (*screen->GetScreenPixmap)(screen)); + + /* Update the screen pixmap with the current flip pixmap contents + */ +@@ -527,10 +557,10 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) + * 2) Set current flip window pixmap to the new pixmap + */ + if (screen_priv->flip_window && screen_priv->flip_window != window) +- (*screen->SetWindowPixmap)(screen_priv->flip_window, +- (*screen->GetScreenPixmap)(screen)); +- (*screen->SetWindowPixmap)(vblank->window, vblank->pixmap); +- (*screen->SetWindowPixmap)(screen->root, vblank->pixmap); ++ present_set_tree_pixmap(screen_priv->flip_window, ++ (*screen->GetScreenPixmap)(screen)); ++ present_set_tree_pixmap(vblank->window, vblank->pixmap); ++ present_set_tree_pixmap(screen->root, vblank->pixmap); + + /* Report update region as damaged + */ +-- +1.8.4.2 + diff --git a/0001-xfree86-Prefer-fbdev-to-vesa.patch b/0001-xfree86-Prefer-fbdev-to-vesa.patch deleted file mode 100644 index 2b34dbb..0000000 --- a/0001-xfree86-Prefer-fbdev-to-vesa.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 3818d72812f895207a0e89d0d4ebaeca941f852a Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 18 Nov 2013 11:26:46 -0500 -Subject: [PATCH] xfree86: Prefer fbdev to vesa - -Signed-off-by: Adam Jackson ---- - hw/xfree86/common/xf86AutoConfig.c | 17 +++++++++-------- - hw/xfree86/common/xf86Config.c | 2 +- - 2 files changed, 10 insertions(+), 9 deletions(-) - -diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index cc6dcce..4c5d1d5 100644 ---- a/hw/xfree86/common/xf86AutoConfig.c -+++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -267,14 +267,6 @@ listPossibleVideoDrivers(char *matches[], int nmatches) - if (i < (nmatches - 1)) - i = xf86PciMatchDriver(matches, nmatches); - #endif -- /* Fallback to platform default hardware */ -- if (i < (nmatches - 1)) { --#if defined(__i386__) || defined(__amd64__) || defined(__hurd__) -- matches[i++] = xnfstrdup("vesa"); --#elif defined(__sparc__) && !defined(sun) -- matches[i++] = xnfstrdup("sunffb"); --#endif -- } - - #if defined(__linux__) - matches[i++] = xnfstrdup("modesetting"); -@@ -296,6 +288,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches) - #endif - } - #endif /* !sun */ -+ -+ /* Fallback to platform default hardware */ -+ if (i < (nmatches - 1)) { -+#if defined(__i386__) || defined(__amd64__) || defined(__hurd__) -+ matches[i++] = xnfstrdup("vesa"); -+#elif defined(__sparc__) && !defined(sun) -+ matches[i++] = xnfstrdup("sunffb"); -+#endif -+ } - } - - /* copy a screen section and enter the desired driver -diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 8255d8d..66f98b2 100644 ---- a/hw/xfree86/common/xf86Config.c -+++ b/hw/xfree86/common/xf86Config.c -@@ -519,7 +519,7 @@ xf86InputDriverlistFromConfig(void) - static void - fixup_video_driver_list(char **drivers) - { -- static const char *fallback_hw[4] = { "vesa", "fbdev", "wsfb", NULL }; -+ static const char *fallback_hw[4] = { "fbdev", "vesa", "wsfb", NULL }; - #ifdef XORG_WAYLAND - static const char *fallback_wl[2] = { "wayland", NULL }; - #endif --- -1.8.4.2 - diff --git a/0001-xinerama-Export-the-screen-region.patch b/0001-xinerama-Export-the-screen-region.patch deleted file mode 100644 index 51f761b..0000000 --- a/0001-xinerama-Export-the-screen-region.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7a9c524d0f68127baa0ced0a7f6b52b899a7cccb Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 29 Oct 2013 10:44:07 -0400 -Subject: [PATCH 1/6] xinerama: Export the screen region - -damageext wants this so it can intersect subtract requests against the -root window geometry. - -Signed-off-by: Adam Jackson ---- - Xext/panoramiX.c | 2 +- - Xext/panoramiXsrv.h | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c -index 2b3a570..15c38a9 100644 ---- a/Xext/panoramiX.c -+++ b/Xext/panoramiX.c -@@ -73,7 +73,7 @@ int PanoramiXPixWidth = 0; - int PanoramiXPixHeight = 0; - int PanoramiXNumScreens = 0; - --static RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL }; -+_X_EXPORT RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL }; - - static int PanoramiXNumDepths; - static DepthPtr PanoramiXDepths; -diff --git a/Xext/panoramiXsrv.h b/Xext/panoramiXsrv.h -index 7c605fe..0fcde4f 100644 ---- a/Xext/panoramiXsrv.h -+++ b/Xext/panoramiXsrv.h -@@ -11,6 +11,7 @@ - extern _X_EXPORT int PanoramiXNumScreens; - extern _X_EXPORT int PanoramiXPixWidth; - extern _X_EXPORT int PanoramiXPixHeight; -+extern _X_EXPORT RegionRec PanoramiXScreenRegion; - - extern _X_EXPORT VisualID PanoramiXTranslateVisualID(int screen, VisualID orig); - extern _X_EXPORT void PanoramiXConsolidate(void); --- -1.8.3.1 - diff --git a/0002-dix-Add-PostDispatchCallback.patch b/0002-dix-Add-PostDispatchCallback.patch deleted file mode 100644 index ef32a97..0000000 --- a/0002-dix-Add-PostDispatchCallback.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 13f334e3699d8ca1fe02d07b1cbff8a348c47e49 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 2 Oct 2013 11:01:16 -0400 -Subject: [PATCH 2/6] dix: Add PostDispatchCallback - -This is required to Xineramify the Damage extension, since we need to -collect regions across screens. You can't quite use FlushCallback for -this since WriteEventsToClient can itself trigger FlushCallback and you -recurse. - -There are probably other cases where this would be useful though, for -example some of our abuse of BlockHandler may want to move to this -callback. - -Signed-off-by: Adam Jackson ---- - dix/dispatch.c | 5 ++++- - include/dixstruct.h | 1 + - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/dix/dispatch.c b/dix/dispatch.c -index 4fecfea..53cabdf 100644 ---- a/dix/dispatch.c -+++ b/dix/dispatch.c -@@ -167,6 +167,7 @@ static int nextFreeClientID; /* always MIN free client ID */ - static int nClients; /* number of authorized clients */ - - CallbackListPtr ClientStateCallback; -+CallbackListPtr PostDispatchCallback; - - /* dispatchException & isItTimeToYield must be declared volatile since they - * are modified by signal handlers - otherwise optimizer may assume it doesn't -@@ -428,9 +429,11 @@ Dispatch(void) - result = BadLength; - else { - result = XaceHookDispatch(client, client->majorOp); -- if (result == Success) -+ if (result == Success) { - result = - (*client->requestVector[client->majorOp]) (client); -+ CallCallbacks(&PostDispatchCallback, &result); -+ } - XaceHookAuditEnd(client, result); - } - #ifdef XSERVER_DTRACE -diff --git a/include/dixstruct.h b/include/dixstruct.h -index 456e633..d55b047 100644 ---- a/include/dixstruct.h -+++ b/include/dixstruct.h -@@ -39,6 +39,7 @@ SOFTWARE. - */ - - extern _X_EXPORT CallbackListPtr ClientStateCallback; -+extern _X_EXPORT CallbackListPtr PostDispatchCallback; - - typedef struct { - ClientPtr client; --- -1.8.3.1 - diff --git a/0002-kdrive-handle-WxH-as-valid-geometry-spec.patch b/0002-kdrive-handle-WxH-as-valid-geometry-spec.patch deleted file mode 100644 index 063e68e..0000000 --- a/0002-kdrive-handle-WxH-as-valid-geometry-spec.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d66832a3b8a8675f1e5f3656dcb1bbe95598f0ea Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Thu, 14 Nov 2013 13:21:54 +1000 -Subject: [PATCH 2/9] kdrive: handle WxH as valid geometry spec - -If a screen size was specified as WxH, the loop returned early and kdOrigin -was never advanced. Thus, screen->origin was always 0 (or whatever was given -at the -origin commandline flag). - -If a screen size was given with a bit depth (WxHxD), kdOrigin would always -advance by the current screen, offsetting the next screen. - -Signed-off-by: Keith Packard -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer ---- - hw/kdrive/src/kdrive.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c -index f8949be..3829684 100644 ---- a/hw/kdrive/src/kdrive.c -+++ b/hw/kdrive/src/kdrive.c -@@ -328,7 +328,8 @@ KdParseScreen(KdScreenInfo * screen, const char *arg) - screen->height = pixels; - screen->height_mm = mm; - } -- if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y') -+ if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y' && -+ (delim != '\0' || i == 0)) - return; - } - --- -1.8.3.1 - diff --git a/0002-xkb-Add-struct-XkbCompContext.patch b/0002-xkb-Add-struct-XkbCompContext.patch index 6a87dac..e8014b5 100644 --- a/0002-xkb-Add-struct-XkbCompContext.patch +++ b/0002-xkb-Add-struct-XkbCompContext.patch @@ -1,4 +1,4 @@ -From 9ebe5168a76b769139c5173bf86b97eaa1e40bc3 Mon Sep 17 00:00:00 2001 +From 8470f377fc36772d885f4b614f4d42443c4b812b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 9 Apr 2013 16:54:55 -0400 Subject: [PATCH 02/38] xkb: Add struct XkbCompContext @@ -186,5 +186,5 @@ index d462957..5da3a35 100644 LogMessage(X_ERROR, "Couldn't open compiled keymap file %s\n", fileName); -- -1.8.3.1 +1.8.4.2 diff --git a/0003-damageext-Xineramify-v6.patch b/0003-damageext-Xineramify-v6.patch deleted file mode 100644 index 7f23b88..0000000 --- a/0003-damageext-Xineramify-v6.patch +++ /dev/null @@ -1,630 +0,0 @@ -From 728866dbc1246a04dc614fac94b81f6baed19959 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 16 Sep 2013 15:17:26 -0400 -Subject: [PATCH 3/6] damageext: Xineramify (v6) - -v6: -- Clip window damages even more excruciatingly correctly - -Screen 0 holds the "real" damage for all drawable types; the window -report hooks for other screens look up screen 0 and pile on. Therefore -we don't need to wrap Subtract, though we do have to be careful how we -subtract since we need to clip to the (apparent) root window geometry. -The real compexity is the cleverness required for deferring writing the -events, but there's no getting around that. - -Add is probably (still) somewhat broken since it will only hit screen 0, -but Add really only exists for DRI1's sake, and DRI1 disables itself -with Xinerama enabled anyway. In the absence of a use case, I'm leaving -it unwrapped under Xinerama; if someone wants to define how it ought to -work, be my guest. - -Signed-off-by: Adam Jackson - -stuff ---- - Xext/panoramiX.c | 3 + - Xext/panoramiX.h | 3 + - damageext/damageext.c | 425 ++++++++++++++++++++++++++++++++++++++++++----- - damageext/damageextint.h | 4 + - 4 files changed, 390 insertions(+), 45 deletions(-) - -diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c -index 15c38a9..ce0d072 100644 ---- a/Xext/panoramiX.c -+++ b/Xext/panoramiX.c -@@ -54,6 +54,7 @@ Equipment Corporation. - #include "resource.h" - #include "picturestr.h" - #include "xfixesint.h" -+#include "damageextint.h" - #ifdef COMPOSITE - #include "compint.h" - #endif -@@ -582,6 +583,7 @@ PanoramiXExtensionInit(void) - - PanoramiXRenderInit(); - PanoramiXFixesInit(); -+ PanoramiXDamageInit(); - #ifdef COMPOSITE - PanoramiXCompositeInit(); - #endif -@@ -887,6 +889,7 @@ PanoramiXResetProc(ExtensionEntry * extEntry) - - PanoramiXRenderReset(); - PanoramiXFixesReset(); -+ PanoramiXDamageReset(); - #ifdef COMPOSITE - PanoramiXCompositeReset (); - #endif -diff --git a/Xext/panoramiX.h b/Xext/panoramiX.h -index 6578dfa..b06fce4 100644 ---- a/Xext/panoramiX.h -+++ b/Xext/panoramiX.h -@@ -64,6 +64,9 @@ typedef struct { - struct { - Bool root; - } pict; -+ struct { -+ Bool queued; -+ } damage; - char raw_data[4]; - } u; - } PanoramiXRes; -diff --git a/damageext/damageext.c b/damageext/damageext.c -index 9521c26..7c86491 100644 ---- a/damageext/damageext.c -+++ b/damageext/damageext.c -@@ -1,5 +1,6 @@ - /* - * Copyright © 2002 Keith Packard -+ * Copyright 2013 Red Hat, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that -@@ -28,6 +29,15 @@ - #include "protocol-versions.h" - #include "extinit.h" - -+#ifdef PANORAMIX -+#include "panoramiX.h" -+#include "panoramiXsrv.h" -+ -+static RESTYPE XRT_DAMAGE; -+static int (*PanoramiXSaveDamageVector[XDamageNumberRequests]) (ClientPtr); -+ -+#endif -+ - static unsigned char DamageReqCode; - static int DamageEventBase; - static RESTYPE DamageExtType; -@@ -37,25 +47,61 @@ static DevPrivateKeyRec DamageClientPrivateKeyRec; - #define DamageClientPrivateKey (&DamageClientPrivateKeyRec) - - static void -+DamageNoteCritical(ClientPtr pClient) -+{ -+ DamageClientPtr pDamageClient = GetDamageClient(pClient); -+ -+ /* Composite extension marks clients with manual Subwindows as critical */ -+ if (pDamageClient->critical > 0) { -+ SetCriticalOutputPending(); -+ pClient->smart_priority = SMART_MAX_PRIORITY; -+ } -+} -+ -+static void -+damageGetGeometry(DrawablePtr draw, int *x, int *y, int *w, int *h) -+{ -+#ifdef PANORAMIX -+ if (!noPanoramiXExtension && draw->type == DRAWABLE_WINDOW) { -+ WindowPtr win = (WindowPtr)draw; -+ -+ if (!win->parent) { -+ *x = screenInfo.x; -+ *y = screenInfo.y; -+ *w = screenInfo.width; -+ *h = screenInfo.height; -+ return; -+ } -+ } -+#endif -+ -+ *x = draw->x; -+ *y = draw->y; -+ *w = draw->width; -+ *h = draw->height; -+} -+ -+static void - DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) - { - ClientPtr pClient = pDamageExt->pClient; -- DamageClientPtr pDamageClient = GetDamageClient(pClient); - DrawablePtr pDrawable = pDamageExt->pDrawable; - xDamageNotifyEvent ev; -- int i; -+ int i, x, y, w, h; -+ -+ damageGetGeometry(pDrawable, &x, &y, &w, &h); - - UpdateCurrentTimeIf(); - ev = (xDamageNotifyEvent) { - .type = DamageEventBase + XDamageNotify, - .level = pDamageExt->level, - .drawable = pDamageExt->drawable, -- .damage = pDamageExt->id, -+ .damage = pDamageExt->report_id, - .timestamp = currentTime.milliseconds, -- .geometry.x = pDrawable->x, -- .geometry.y = pDrawable->y, -- .geometry.width = pDrawable->width, -- .geometry.height = pDrawable->height -+ .geometry.x = x, -+ .geometry.y = y, -+ .geometry.width = w, -+ .geometry.height = h - }; - if (pBoxes) { - for (i = 0; i < nBoxes; i++) { -@@ -72,15 +118,12 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) - else { - ev.area.x = 0; - ev.area.y = 0; -- ev.area.width = pDrawable->width; -- ev.area.height = pDrawable->height; -+ ev.area.width = w; -+ ev.area.height = h; - WriteEventsToClient(pClient, 1, (xEvent *) &ev); - } -- /* Composite extension marks clients with manual Subwindows as critical */ -- if (pDamageClient->critical > 0) { -- SetCriticalOutputPending(); -- pClient->smart_priority = SMART_MAX_PRIORITY; -- } -+ -+ DamageNoteCritical(pClient); - } - - static void -@@ -162,19 +205,55 @@ ProcDamageQueryVersion(ClientPtr client) - return Success; - } - -+static DamageExtPtr -+DamageExtCreate(DrawablePtr pDrawable, DamageReportLevel level, -+ ClientPtr client, XID id, XID drawable, XID report_id, -+ DamageReportFunc reportFunc) -+{ -+ DamageExtPtr pDamageExt = malloc(sizeof(DamageExtRec)); -+ if (!pDamageExt) -+ return NULL; -+ -+ pDamageExt->id = id; -+ pDamageExt->report_id = report_id; -+ pDamageExt->drawable = drawable; -+ pDamageExt->pDrawable = pDrawable; -+ pDamageExt->level = level; -+ pDamageExt->pClient = client; -+ pDamageExt->pDamage = DamageCreate(reportFunc, DamageExtDestroy, level, -+ FALSE, pDrawable->pScreen, pDamageExt); -+ if (!pDamageExt->pDamage) { -+ free(pDamageExt); -+ return NULL; -+ } -+ -+ if (!AddResource(id, DamageExtType, (pointer) pDamageExt)) -+ return NULL; -+ -+ DamageSetReportAfterOp(pDamageExt->pDamage, TRUE); -+ DamageRegister(pDrawable, pDamageExt->pDamage); -+ -+ if (pDrawable->type == DRAWABLE_WINDOW) { -+ RegionPtr pRegion = &((WindowPtr) pDrawable)->borderClip; -+ RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y); -+ DamageReportDamage(pDamageExt->pDamage, pRegion); -+ RegionTranslate(pRegion, pDrawable->x, pDrawable->y); -+ } -+ -+ return pDamageExt; -+} -+ - static int --ProcDamageCreate(ClientPtr client) -+doDamageCreate(ClientPtr client, XID reportDrawable, XID reportDamage, -+ DamageReportFunc reportFunc) - { - DrawablePtr pDrawable; - DamageExtPtr pDamageExt; - DamageReportLevel level; -- RegionPtr pRegion; - int rc; - - REQUEST(xDamageCreateReq); - -- REQUEST_SIZE_MATCH(xDamageCreateReq); -- LEGAL_NEW_RESOURCE(stuff->damage, client); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixGetAttrAccess | DixReadAccess); - if (rc != Success) -@@ -198,39 +277,25 @@ ProcDamageCreate(ClientPtr client) - return BadValue; - } - -- pDamageExt = malloc(sizeof(DamageExtRec)); -+ pDamageExt = DamageExtCreate(pDrawable, level, client, stuff->damage, -+ reportDrawable, reportDamage, reportFunc); - if (!pDamageExt) - return BadAlloc; -- pDamageExt->id = stuff->damage; -- pDamageExt->drawable = stuff->drawable; -- pDamageExt->pDrawable = pDrawable; -- pDamageExt->level = level; -- pDamageExt->pClient = client; -- pDamageExt->pDamage = DamageCreate(DamageExtReport, -- DamageExtDestroy, -- level, -- FALSE, pDrawable->pScreen, pDamageExt); -- if (!pDamageExt->pDamage) { -- free(pDamageExt); -- return BadAlloc; -- } -- if (!AddResource(stuff->damage, DamageExtType, (pointer) pDamageExt)) -- return BadAlloc; -- -- DamageSetReportAfterOp(pDamageExt->pDamage, TRUE); -- DamageRegister(pDamageExt->pDrawable, pDamageExt->pDamage); -- -- if (pDrawable->type == DRAWABLE_WINDOW) { -- pRegion = &((WindowPtr) pDrawable)->borderClip; -- RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y); -- DamageReportDamage(pDamageExt->pDamage, pRegion); -- RegionTranslate(pRegion, pDrawable->x, pDrawable->y); -- } - - return Success; - } - - static int -+ProcDamageCreate(ClientPtr client) -+{ -+ REQUEST(xDamageCreateReq); -+ REQUEST_SIZE_MATCH(xDamageCreateReq); -+ LEGAL_NEW_RESOURCE(stuff->damage, client); -+ return doDamageCreate(client, stuff->drawable, stuff->damage, -+ DamageExtReport); -+} -+ -+static int - ProcDamageDestroy(ClientPtr client) - { - REQUEST(xDamageDestroyReq); -@@ -242,6 +307,88 @@ ProcDamageDestroy(ClientPtr client) - return Success; - } - -+#ifdef PANORAMIX -+static RegionPtr -+DamageExtSubtractWindowClip(DamageExtPtr pDamageExt) -+{ -+ WindowPtr win = (WindowPtr)pDamageExt->pDrawable; -+ PanoramiXRes *res = NULL; -+ RegionPtr ret; -+ int i; -+ -+ if (!win->parent) -+ return &PanoramiXScreenRegion; -+ -+ dixLookupResourceByType((void **)&res, win->drawable.id, XRT_WINDOW, -+ serverClient, DixReadAccess); -+ if (!res) -+ return NULL; -+ -+ ret = RegionCreate(NULL, 0); -+ if (!ret) -+ return NULL; -+ -+ FOR_NSCREENS_FORWARD(i) { -+ ScreenPtr screen; -+ if (Success != dixLookupWindow(&win, res->info[i].id, serverClient, -+ DixReadAccess)) -+ goto out; -+ -+ screen = win->drawable.pScreen; -+ -+ RegionTranslate(ret, -screen->x, -screen->y); -+ if (!RegionUnion(ret, ret, &win->borderClip)) -+ goto out; -+ RegionTranslate(ret, screen->x, screen->y); -+ } -+ -+ return ret; -+ -+out: -+ RegionDestroy(ret); -+ return NULL; -+} -+ -+static void -+DamageExtFreeWindowClip(RegionPtr reg) -+{ -+ if (reg != &PanoramiXScreenRegion) -+ RegionDestroy(reg); -+} -+#endif -+ -+/* -+ * DamageSubtract intersects with borderClip, so we must reconstruct the -+ * protocol's perspective of same... -+ */ -+static Bool -+DamageExtSubtract(DamageExtPtr pDamageExt, const RegionPtr pRegion) -+{ -+ DamagePtr pDamage = pDamageExt->pDamage; -+ -+#ifdef PANORAMIX -+ if (!noPanoramiXExtension) { -+ RegionPtr damage = DamageRegion(pDamage); -+ RegionSubtract(damage, damage, pRegion); -+ -+ if (pDamageExt->pDrawable->type == DRAWABLE_WINDOW) { -+ DrawablePtr pDraw = pDamageExt->pDrawable; -+ RegionPtr clip = DamageExtSubtractWindowClip(pDamageExt); -+ if (clip) { -+ RegionTranslate(clip, -pDraw->x, -pDraw->y); -+ RegionIntersect(damage, damage, clip); -+ RegionTranslate(clip, pDraw->x, pDraw->y); -+ DamageExtFreeWindowClip(clip); -+ } -+ } -+ -+ return RegionNotEmpty(damage); -+ } -+#endif -+ -+ return DamageSubtract(pDamage, pRegion); -+} -+ - static int - ProcDamageSubtract(ClientPtr client) - { -@@ -261,7 +408,7 @@ ProcDamageSubtract(ClientPtr client) - if (pRepair) { - if (pParts) - RegionIntersect(pParts, DamageRegion(pDamage), pRepair); -- if (DamageSubtract(pDamage, pRepair)) -+ if (DamageExtSubtract(pDamageExt, pRepair)) - DamageExtReport(pDamage, DamageRegion(pDamage), - (void *) pDamageExt); - } -@@ -271,6 +418,7 @@ ProcDamageSubtract(ClientPtr client) - DamageEmpty(pDamage); - } - } -+ - return Success; - } - -@@ -460,6 +608,188 @@ SDamageNotifyEvent(xDamageNotifyEvent * from, xDamageNotifyEvent * to) - cpswaps(from->geometry.height, to->geometry.height); - } - -+#ifdef PANORAMIX -+ -+static void -+damageDispatchCallback(CallbackListPtr *cbl, void *closure, void *unused) -+{ -+ DamageExtPtr pDamageExt = closure; -+ RegionPtr pRegion = DamageRegion(pDamageExt->pDamage); -+ PanoramiXRes *damage = NULL; -+ -+ DamageExtReport(pDamageExt->pDamage, pRegion, pDamageExt); -+ DeleteCallback(&PostDispatchCallback, damageDispatchCallback, pDamageExt); -+ -+ dixLookupResourceByType((void **)&damage, pDamageExt->id, XRT_DAMAGE, -+ serverClient, DixWriteAccess); -+ -+ if (damage) -+ damage->u.damage.queued = FALSE; -+} -+ -+/* for screen 0 */ -+static void -+PanoramiXDamageQueue(DamagePtr pDamage, RegionPtr pRegion, void *closure) -+{ -+ DamageExtPtr pDamageExt = closure; -+ PanoramiXRes *damage = NULL; -+ -+ /* happens on unmap? sigh xinerama */ -+ if (RegionNil(pRegion)) -+ return; -+ -+ dixLookupResourceByType((void **)&damage, pDamageExt->report_id, XRT_DAMAGE, -+ serverClient, DixWriteAccess); -+ -+ if (damage) { -+ if (!damage->u.damage.queued) { -+ AddCallback(&PostDispatchCallback, damageDispatchCallback, -+ pDamageExt); -+ damage->u.damage.queued = TRUE; -+ } -+ } -+ -+ DamageNoteCritical(pDamageExt->pClient); -+} -+ -+/* for screens 1 to n */ -+static void -+PanoramiXDamageAccumulate(DamagePtr pDamage, RegionPtr pRegion, void *closure) -+{ -+ DamageExtPtr pDamageExt = closure, pDamageExt0 = NULL; -+ PanoramiXRes *damage = NULL; -+ -+ /* happens on unmap? sigh xinerama */ -+ if (RegionNil(pRegion)) -+ return; -+ -+ dixLookupResourceByType((void **)&damage, pDamageExt->report_id, XRT_DAMAGE, -+ serverClient, DixWriteAccess); -+ -+ if (damage) { -+ dixLookupResourceByType((void **)&pDamageExt0, damage->info[0].id, -+ DamageExtType, serverClient, DixWriteAccess); -+ -+ if (pDamageExt0) { -+ DrawablePtr pDrawable = pDamageExt->pDrawable; -+ ScreenPtr pScreen = pDrawable->pScreen; -+ -+ if (pDrawable->type == DRAWABLE_WINDOW) { -+ WindowPtr pWin = (WindowPtr)pDrawable; -+ -+ if (!pWin->parent) -+ if (RegionNotEmpty(pRegion)) -+ RegionTranslate(pRegion, pScreen->x, pScreen->y); -+ } -+ -+ DamageReportDamage(pDamageExt0->pDamage, pRegion); -+ DamageEmpty(pDamageExt->pDamage); -+ } -+ } -+} -+ -+static int -+PanoramiXDamageCreate(ClientPtr client) -+{ -+ PanoramiXRes *draw, *damage; -+ int i, rc; -+ -+ REQUEST(xDamageCreateReq); -+ -+ REQUEST_SIZE_MATCH(xDamageCreateReq); -+ LEGAL_NEW_RESOURCE(stuff->damage, client); -+ rc = dixLookupResourceByClass((void **)&draw, stuff->drawable, XRC_DRAWABLE, -+ client, DixGetAttrAccess | DixReadAccess); -+ if (rc != Success) -+ return rc; -+ -+ if (!(damage = calloc(1, sizeof(PanoramiXRes)))) -+ return BadAlloc; -+ -+ damage->type = XRT_DAMAGE; -+ if (!AddResource(stuff->damage, XRT_DAMAGE, damage)) -+ return BadAlloc; -+ -+ /* pixmaps exist on all screens, so just watching screen 0 works */ -+ if (draw->type == XRT_PIXMAP) { -+ damage->info[0].id = stuff->damage; -+ -+ rc = PanoramiXSaveDamageVector[X_DamageCreate](client); -+ if (rc != Success) { -+ FreeResource(damage->info[0].id, None); -+ return rc; -+ } -+ } else { -+ rc = doDamageCreate(client, stuff->drawable, stuff->damage, -+ PanoramiXDamageQueue); -+ if (rc == Success) { -+ panoramix_setup_ids(damage, client, stuff->damage); -+ -+ FOR_NSCREENS_FORWARD_SKIP(i) { -+ stuff->damage = damage->info[i].id; -+ stuff->drawable = draw->info[i].id; -+ rc = doDamageCreate(client, draw->info[0].id, -+ damage->info[0].id, -+ PanoramiXDamageAccumulate); -+ if (rc != Success) -+ FreeResource(damage->info[0].id, None); -+ } -+ } else { -+ FreeResource(damage->info[0].id, None); -+ } -+ } -+ -+ return rc; -+} -+ -+static int -+PanoramiXDamageDestroy(ClientPtr client) -+{ -+ REQUEST(xDamageDestroyReq); -+ PanoramiXRes *damage; -+ int i, rc = Success; -+ -+ REQUEST_SIZE_MATCH(xDamageDestroyReq); -+ -+ rc = dixLookupResourceByType((void **)&damage, stuff->damage, XRT_DAMAGE, -+ client, DixDestroyAccess); -+ if (rc != Success) -+ return rc; -+ -+ FOR_NSCREENS_BACKWARD(i) { -+ stuff->damage = damage->info[i].id; -+ if (stuff->damage) { -+ rc = PanoramiXSaveDamageVector[X_DamageDestroy](client); -+ if (rc != Success) -+ break; -+ } -+ } -+ -+ return rc; -+} -+ -+void -+PanoramiXDamageInit(void) -+{ -+ XRT_DAMAGE = CreateNewResourceType(XineramaDeleteResource, -+ "XineramaDamage"); -+ -+ memcpy(PanoramiXSaveDamageVector, ProcDamageVector, -+ sizeof(ProcDamageVector)); -+ -+ ProcDamageVector[X_DamageCreate] = PanoramiXDamageCreate; -+ ProcDamageVector[X_DamageDestroy] = PanoramiXDamageDestroy; -+} -+ -+void -+PanoramiXDamageReset(void) -+{ -+ memcpy(ProcDamageVector, PanoramiXSaveDamageVector, -+ sizeof(ProcDamageVector)); -+} -+ -+#endif /* PANORAMIX */ -+ - void - DamageExtensionInit(void) - { -@@ -490,5 +820,10 @@ DamageExtensionInit(void) - (EventSwapPtr) SDamageNotifyEvent; - SetResourceTypeErrorValue(DamageExtType, - extEntry->errorBase + BadDamage); -+#ifdef PANORAMIX -+ if (XRT_DAMAGE) -+ SetResourceTypeErrorValue(XRT_DAMAGE, -+ extEntry->errorBase + BadDamage); -+#endif - } - } -diff --git a/damageext/damageextint.h b/damageext/damageextint.h -index 2723379..7319a1d 100644 ---- a/damageext/damageextint.h -+++ b/damageext/damageextint.h -@@ -54,6 +54,7 @@ typedef struct _DamageExt { - DamageReportLevel level; - ClientPtr pClient; - XID id; -+ XID report_id; - XID drawable; - } DamageExtRec, *DamageExtPtr; - -@@ -67,4 +68,7 @@ typedef struct _DamageExt { - void - DamageExtSetCritical(ClientPtr pClient, Bool critical); - -+void PanoramiXDamageInit(void); -+void PanoramiXDamageReset(void); -+ - #endif /* _DAMAGEEXTINT_H_ */ --- -1.8.3.1 - diff --git a/0003-kdrive-modify-ephyr-events-to-use-POINTER_DESKTOP-an.patch b/0003-kdrive-modify-ephyr-events-to-use-POINTER_DESKTOP-an.patch deleted file mode 100644 index b0d4398..0000000 --- a/0003-kdrive-modify-ephyr-events-to-use-POINTER_DESKTOP-an.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a94d945065177d73f3ee8dc0b9147264ba281136 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Tue, 29 Oct 2013 14:24:41 +1000 -Subject: [PATCH 3/9] kdrive: modify ephyr events to use POINTER_DESKTOP and - scale them to that - -A multi-head Xephyr instance has the pointer stuck on one screen -because of bad coordinate calculation. The coordinates passed to -GetPointerEvents are per-screen, so the cursor gets stuck on the left-most -screen by default. - -Adjust and mark the events as POINTER_DESKTOP, so the DIX -can adjust them accordingly. - -Signed-off-by: Peter Hutterer -Reviewed-by: Keith Packard ---- - hw/kdrive/ephyr/ephyr.c | 9 ++++++++- - hw/kdrive/src/kdrive.h | 1 + - hw/kdrive/src/kinput.c | 2 ++ - 3 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c -index 91e949d..ef4b321 100644 ---- a/hw/kdrive/ephyr/ephyr.c -+++ b/hw/kdrive/ephyr/ephyr.c -@@ -959,7 +959,14 @@ ephyrProcessMouseMotion(xcb_generic_event_t *xev) - } - EPHYR_LOG("final (x,y):(%d,%d)\n", x, y); - #endif -- KdEnqueuePointerEvent(ephyrMouse, mouseState, x, y, 0); -+ -+ /* convert coords into desktop-wide coordinates. -+ * fill_pointer_events will convert that back to -+ * per-screen coordinates where needed */ -+ x += screen->pScreen->x; -+ y += screen->pScreen->y; -+ -+ KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_POINTER_DESKTOP, x, y, 0); - } - } - -diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h -index d5d0799..296d611 100644 ---- a/hw/kdrive/src/kdrive.h -+++ b/hw/kdrive/src/kdrive.h -@@ -506,6 +506,7 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki, unsigned char scan_code, - #define KD_BUTTON_4 0x08 - #define KD_BUTTON_5 0x10 - #define KD_BUTTON_8 0x80 -+#define KD_POINTER_DESKTOP 0x40000000 - #define KD_MOUSE_DELTA 0x80000000 - - void -diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c -index d845830..abda693 100644 ---- a/hw/kdrive/src/kinput.c -+++ b/hw/kdrive/src/kinput.c -@@ -1895,6 +1895,8 @@ KdEnqueuePointerEvent(KdPointerInfo * pi, unsigned long flags, int rx, int ry, - } - else { - dixflags = POINTER_ABSOLUTE; -+ if (flags & KD_POINTER_DESKTOP) -+ dixflags |= POINTER_DESKTOP; - if (x != pi->dixdev->last.valuators[0] || - y != pi->dixdev->last.valuators[1]) - _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, --- -1.8.3.1 - diff --git a/0003-xkb-Split-out-code-to-start-and-finish-xkbcomp.patch b/0003-xkb-Split-out-code-to-start-and-finish-xkbcomp.patch index 1623810..77a8222 100644 --- a/0003-xkb-Split-out-code-to-start-and-finish-xkbcomp.patch +++ b/0003-xkb-Split-out-code-to-start-and-finish-xkbcomp.patch @@ -1,4 +1,4 @@ -From d71fbbc66b9a014831039758105aab6bd95421a5 Mon Sep 17 00:00:00 2001 +From 7d08561178ab9384791a944bdb5797cf2ea14e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 9 Apr 2013 17:11:03 -0400 Subject: [PATCH 03/38] xkb: Split out code to start and finish xkbcomp @@ -77,5 +77,5 @@ index 5da3a35..001ff46 100644 XkbDDXOpenConfigFile(char *mapName, char *fileNameRtrn, int fileNameRtrnLen) { -- -1.8.3.1 +1.8.4.2 diff --git a/0004-composite-Fix-COW-creation-for-Xinerama.patch b/0004-composite-Fix-COW-creation-for-Xinerama.patch deleted file mode 100644 index fa492d3..0000000 --- a/0004-composite-Fix-COW-creation-for-Xinerama.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cb020861deb8bfa91579de72f3860c445ed752d3 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Thu, 7 Nov 2013 13:59:30 -0500 -Subject: [PATCH 4/6] composite: Fix COW creation for Xinerama - -Say you have two 800x600 screens left/right of each other. A window -that's 200x200 at +700+0 in protocol coordinate space will appear to be -at -100+0 in the coordinate space of the right hand screen. Put another -way: windows are in the coordinate space of their root window pixmap. - -We weren't doing this translation for the COW, so when rendering came in -to it you'd see the top-left chunk of the COW on all screens. Cool -effect and all, but wrong. - -Signed-off-by: Adam Jackson ---- - composite/compoverlay.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/composite/compoverlay.c b/composite/compoverlay.c -index d3cfaf0..575be42 100644 ---- a/composite/compoverlay.c -+++ b/composite/compoverlay.c -@@ -142,7 +142,7 @@ compCreateOverlayWindow(ScreenPtr pScreen) - #endif - - pWin = cs->pOverlayWin = -- CreateWindow(cs->overlayWid, pRoot, 0, 0, w, h, 0, -+ CreateWindow(cs->overlayWid, pRoot, -pScreen->x, -pScreen->y, w, h, 0, - InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0], - pRoot->drawable.depth, - serverClient, pScreen->rootVisual, &result); --- -1.8.3.1 - diff --git a/0004-kdrive-fix-cursor-jumps-on-CursorOffScreen-behavior.patch b/0004-kdrive-fix-cursor-jumps-on-CursorOffScreen-behavior.patch deleted file mode 100644 index 3cfeddb..0000000 --- a/0004-kdrive-fix-cursor-jumps-on-CursorOffScreen-behavior.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 550baf38f6096658f0bcf0ad647c4fedf93132f2 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Fri, 4 Oct 2013 10:55:52 +1000 -Subject: [PATCH 4/9] kdrive: fix cursor jumps on CursorOffScreen behavior - -This patch fixes cursor jumps when there is a grab on the Xephyr window and -the pointer moves outside the window. - -So on two side-by-side 640x480 screens, a coordinate of 0/481 -triggers KdCursorOffscreen. - -If the delta between two screens is 0, they share the same offset for -that dimension. When searching for the new screen, the loop always rules out -the current screen. So we get to the second screen, trigger the conditions -where dy <= 0 and decide that this new screen is the correct one. The result -is that whenever KdCursorOffScreen is called, the pointer jumps to the other -screen. - -Change to check for dy < 0 etc. so that the cursor stays on the same screen if -there is no other screen at the target location. - -Signed-off-by: Peter Hutterer -Reviewed-by: Keith Packard ---- - hw/kdrive/src/kinput.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c -index abda693..a9a9fa5 100644 ---- a/hw/kdrive/src/kinput.c -+++ b/hw/kdrive/src/kinput.c -@@ -2030,25 +2030,25 @@ KdCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) - dx = KdScreenOrigin(pNewScreen)->x - KdScreenOrigin(pScreen)->x; - dy = KdScreenOrigin(pNewScreen)->y - KdScreenOrigin(pScreen)->y; - if (*x < 0) { -- if (dx <= 0 && -dx < best_x) { -+ if (dx < 0 && -dx < best_x) { - best_x = -dx; - n_best_x = n; - } - } - else if (*x >= pScreen->width) { -- if (dx >= 0 && dx < best_x) { -+ if (dx > 0 && dx < best_x) { - best_x = dx; - n_best_x = n; - } - } - if (*y < 0) { -- if (dy <= 0 && -dy < best_y) { -+ if (dy < 0 && -dy < best_y) { - best_y = -dy; - n_best_y = n; - } - } - else if (*y >= pScreen->height) { -- if (dy >= 0 && dy < best_y) { -+ if (dy > 0 && dy < best_y) { - best_y = dy; - n_best_y = n; - } --- -1.8.3.1 - diff --git a/0004-xkb-Add-XkbCompileKeymapFromString.patch b/0004-xkb-Add-XkbCompileKeymapFromString.patch index 3ed62f1..0ac25f4 100644 --- a/0004-xkb-Add-XkbCompileKeymapFromString.patch +++ b/0004-xkb-Add-XkbCompileKeymapFromString.patch @@ -1,4 +1,4 @@ -From 3f37d9a8a3ceaf888feb4994a4c61e14e903a368 Mon Sep 17 00:00:00 2001 +From 927e9c1b26b618a20d590062d346b9a53b120d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 9 Apr 2013 17:45:08 -0400 Subject: [PATCH 04/38] xkb: Add XkbCompileKeymapFromString() @@ -315,5 +315,5 @@ index f72655f..f3f0d8f 100644 /* -- -1.8.3.1 +1.8.4.2 diff --git a/0005-Stop-including-inline-assembly-.il-file-for-Solaris-.patch b/0005-Stop-including-inline-assembly-.il-file-for-Solaris-.patch deleted file mode 100644 index b29de62..0000000 --- a/0005-Stop-including-inline-assembly-.il-file-for-Solaris-.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0ba7fc8472f1227fd1cd51bd58048f164b8ea1ab Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith -Date: Tue, 12 Nov 2013 14:46:04 -0800 -Subject: [PATCH 5/9] Stop including inline assembly .il file for Solaris - Studio builds - -Since all the inb/outb/etc. use in the X server itself (except for -xf86SlowBcopy) has been replaced by calls to libpciaccess, we no -longer need to pass inline assembly files to replace the gcc inline -assembly from hw/xfree86/common/compiler.h when building Xorg itself. - -The .il files are still generated and installed in the SDK for the -benefit of drivers who may use them. - -Binary diff of before and after showed that xf86SlowBcopy was the -only function changed across the Xorg binary and all modules built -in the Xserver build, it just calls the outb() function now instead -of having the outb instructions inlined, making it a slightly slower -bcopy. - -Signed-off-by: Alan Coopersmith -Reviewed-by: Keith Packard -Signed-off-by: Keith Packard ---- - configure.ac | 9 --------- - exa/Makefile.am | 4 ---- - hw/xfree86/Makefile.am | 11 ----------- - 3 files changed, 24 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 4be8fcb..1e6f813 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1879,9 +1879,6 @@ if test "x$XORG" = xyes; then - if test "${OS_MINOR}" -lt 8 ; then - AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.]) - fi -- if test "x$SUNCC" = "xyes"; then -- solaris_asm_inline="yes" -- fi - AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"]) - - case $host_cpu in -@@ -1902,11 +1899,6 @@ if test "x$XORG" = xyes; then - xorg@lists.freedesktop.org.]) ;; - esac - AC_SUBST([SOLARIS_INOUT_ARCH]) -- if test x$solaris_asm_inline = xyes ; then -- SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il' -- XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)' -- fi -- AC_SUBST([SOLARIS_ASM_CFLAGS]) - ;; - gnu*) - XORG_OS_SUBDIR="hurd" -@@ -2012,7 +2004,6 @@ AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes]) - AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes]) - AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes]) - AM_CONDITIONAL([LNXAPM], [test "x$linux_apm" = xyes]) --AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes]) - AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes]) - AM_CONDITIONAL([DGA], [test "x$DGA" = xyes]) - AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes]) -diff --git a/exa/Makefile.am b/exa/Makefile.am -index c1f1e86..6a09966 100644 ---- a/exa/Makefile.am -+++ b/exa/Makefile.am -@@ -1,9 +1,5 @@ - noinst_LTLIBRARIES = libexa.la - --# Override these since EXA doesn't need them and the needed files aren't --# built (in hw/xfree86/os-support/solaris) until after EXA is built --SOLARIS_ASM_CFLAGS="" -- - if XORG - sdk_HEADERS = exa.h - endif -diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am -index 485386f..15670d0 100644 ---- a/hw/xfree86/Makefile.am -+++ b/hw/xfree86/Makefile.am -@@ -80,17 +80,6 @@ BUILT_SOURCES = xorg.conf.example - DISTCLEANFILES = xorg.conf.example - EXTRA_DIST = xorgconf.cpp - --if SOLARIS_ASM_INLINE --# Needs to be built before any files are compiled when using Sun compilers --# so in*/out* inline definitions are properly processed. -- --BUILT_SOURCES += os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il -- --os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il: -- cd os-support/solaris ; \ -- $(MAKE) $(AM_MAKEFLAGS) solaris-@SOLARIS_INOUT_ARCH@.il --endif -- - # Without logdir, X will post an error on the terminal and will not start - install-data-local: - $(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir) --- -1.8.3.1 - diff --git a/0005-fixes-Fix-PanoramiXSetPictureClipRegion-for-window-p.patch b/0005-fixes-Fix-PanoramiXSetPictureClipRegion-for-window-p.patch deleted file mode 100644 index 378b6ab..0000000 --- a/0005-fixes-Fix-PanoramiXSetPictureClipRegion-for-window-p.patch +++ /dev/null @@ -1,55 +0,0 @@ -From b355ac5f3ab8cea52ebb61271247cb1cded6f9bf Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 4 Nov 2013 17:49:33 -0500 -Subject: [PATCH 5/6] fixes: Fix PanoramiXSetPictureClipRegion for window - pictures - -Windows in Xinerama are in the coordinate space of their root window -pixmap, not in protocol space. This fixes 'xcompmgr -n' when Xinerama -is active. - -Signed-off-by: Adam Jackson ---- - xfixes/region.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/xfixes/region.c b/xfixes/region.c -index 0e9ca44..eb4a082 100644 ---- a/xfixes/region.c -+++ b/xfixes/region.c -@@ -886,6 +886,8 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client) - REQUEST(xXFixesSetPictureClipRegionReq); - int result = Success, j; - PanoramiXRes *pict; -+ PicturePtr pPicture; -+ RegionPtr reg = NULL; - - REQUEST_SIZE_MATCH(xXFixesSetPictureClipRegionReq); - -@@ -896,10 +898,23 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client) - return result; - } - -+ VERIFY_PICTURE(pPicture, stuff->picture, client, DixSetAttrAccess); -+ if (pPicture->pDrawable && pPicture->pDrawable->type == DRAWABLE_WINDOW) -+ VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess); -+ - FOR_NSCREENS_BACKWARD(j) { -+ ScreenPtr screen = screenInfo.screens[j]; - stuff->picture = pict->info[j].id; -+ -+ if (reg) -+ RegionTranslate(reg, -screen->x, -screen->y); -+ - result = - (*PanoramiXSaveXFixesVector[X_XFixesSetPictureClipRegion]) (client); -+ -+ if (reg) -+ RegionTranslate(reg, screen->x, screen->y); -+ - if (result != Success) - break; - } --- -1.8.3.1 - diff --git a/0005-os-Add-a-function-to-create-a-client-for-an-fd.patch b/0005-os-Add-a-function-to-create-a-client-for-an-fd.patch index 7a0e939..224d923 100644 --- a/0005-os-Add-a-function-to-create-a-client-for-an-fd.patch +++ b/0005-os-Add-a-function-to-create-a-client-for-an-fd.patch @@ -1,4 +1,4 @@ -From 92b914a0d1df9d53bdb0e69d8acef8b7a6ee969d Mon Sep 17 00:00:00 2001 +From efa65f0bd25889d34b690b91839a0b36d5864b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 21 Jun 2011 21:28:31 -0400 Subject: [PATCH 05/38] os: Add a function to create a client for an fd @@ -22,7 +22,7 @@ index b76ab6e..8ad9af0 100644 #endif /* OPAQUE_H */ diff --git a/include/os.h b/include/os.h -index 450e1a8..2a24f4b 100644 +index 9b67294..c36d09a 100644 --- a/include/os.h +++ b/include/os.h @@ -166,8 +166,9 @@ extern _X_EXPORT void MakeClientGrabImpervious(ClientPtr /*client */ ); @@ -116,7 +116,7 @@ index 162e1d9..a95e7da 100644 + #endif diff --git a/os/utils.c b/os/utils.c -index fb20da7..42aa13b 100644 +index 608ee6a..a0cf951 100644 --- a/os/utils.c +++ b/os/utils.c @@ -805,7 +805,11 @@ ProcessCommandLine(int argc, char *argv[]) @@ -133,5 +133,5 @@ index fb20da7..42aa13b 100644 argv[i]); } -- -1.8.3.1 +1.8.4.2 diff --git a/0006-Export-xf86NewInputDevice-and-xf86AllocateInput.patch b/0006-Export-xf86NewInputDevice-and-xf86AllocateInput.patch index eddb5f6..79e3c91 100644 --- a/0006-Export-xf86NewInputDevice-and-xf86AllocateInput.patch +++ b/0006-Export-xf86NewInputDevice-and-xf86AllocateInput.patch @@ -1,4 +1,4 @@ -From 0de4805467ee2491890fd4a0e4261f397eb16584 Mon Sep 17 00:00:00 2001 +From f5767856b6dc214a7beb7c1f914a2e491da3f0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 21 Jul 2011 09:55:46 -0700 Subject: [PATCH 06/38] Export xf86NewInputDevice and xf86AllocateInput @@ -40,5 +40,5 @@ index 35c38a5..ff3d894 100644 /* xf86Helper.c */ extern _X_EXPORT void xf86AddInputDriver(InputDriverPtr driver, pointer module, -- -1.8.3.1 +1.8.4.2 diff --git a/0006-fixes-Fix-PanoramiXSetWindowShapeRegion.patch b/0006-fixes-Fix-PanoramiXSetWindowShapeRegion.patch deleted file mode 100644 index f7cf0d5..0000000 --- a/0006-fixes-Fix-PanoramiXSetWindowShapeRegion.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ad2ba329d91157cd5ad09d871d0d5a74998d2518 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 4 Nov 2013 17:49:34 -0500 -Subject: [PATCH 6/6] fixes: Fix PanoramiXSetWindowShapeRegion - -Windows in Xinerama are in the coordinate space of their root window -pixmap, not in protocol space. - -Signed-off-by: Adam Jackson ---- - xfixes/region.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/xfixes/region.c b/xfixes/region.c -index eb4a082..752cef1 100644 ---- a/xfixes/region.c -+++ b/xfixes/region.c -@@ -857,6 +857,7 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client) - { - int result = Success, j; - PanoramiXRes *win; -+ RegionPtr reg = NULL; - - REQUEST(xXFixesSetWindowShapeRegionReq); - -@@ -869,10 +870,21 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client) - return result; - } - -+ VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess); -+ - FOR_NSCREENS_FORWARD(j) { -+ ScreenPtr screen = screenInfo.screens[j]; - stuff->dest = win->info[j].id; -+ -+ if (reg) -+ RegionTranslate(reg, -screen->x, -screen->y); -+ - result = - (*PanoramiXSaveXFixesVector[X_XFixesSetWindowShapeRegion]) (client); -+ -+ if (reg) -+ RegionTranslate(reg, screen->x, screen->y); -+ - if (result != Success) - break; - } --- -1.8.3.1 - diff --git a/0006-include-export-key_is_down-and-friends.patch b/0006-include-export-key_is_down-and-friends.patch deleted file mode 100644 index e480160..0000000 --- a/0006-include-export-key_is_down-and-friends.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8ff7e32c3ef7b0c13c4ab9664f651e9782d35a85 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 13 Nov 2013 17:14:11 +1000 -Subject: [PATCH 6/9] include: export key_is_down and friends - -VNC needs key_is_down to check if a key is processed as down before it -simulates various key releases. Make it available, because I seriously can't -be bothered thinking about how to rewrite VNC to not need that. - -Signed-off-by: Peter Hutterer -Acked-by: Keith Packard ---- - include/input.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/include/input.h b/include/input.h -index 350daba..2d5e531 100644 ---- a/include/input.h -+++ b/include/input.h -@@ -244,12 +244,12 @@ typedef struct _InputAttributes { - #define KEY_POSTED 2 - #define BUTTON_POSTED 2 - --extern void set_key_down(DeviceIntPtr pDev, int key_code, int type); --extern void set_key_up(DeviceIntPtr pDev, int key_code, int type); --extern int key_is_down(DeviceIntPtr pDev, int key_code, int type); --extern void set_button_down(DeviceIntPtr pDev, int button, int type); --extern void set_button_up(DeviceIntPtr pDev, int button, int type); --extern int button_is_down(DeviceIntPtr pDev, int button, int type); -+extern _X_EXPORT void set_key_down(DeviceIntPtr pDev, int key_code, int type); -+extern _X_EXPORT void set_key_up(DeviceIntPtr pDev, int key_code, int type); -+extern _X_EXPORT int key_is_down(DeviceIntPtr pDev, int key_code, int type); -+extern _X_EXPORT void set_button_down(DeviceIntPtr pDev, int button, int type); -+extern _X_EXPORT void set_button_up(DeviceIntPtr pDev, int button, int type); -+extern _X_EXPORT int button_is_down(DeviceIntPtr pDev, int button, int type); - - extern void InitCoreDevices(void); - extern void InitXTestDevices(void); --- -1.8.3.1 - diff --git a/0008-Add-redirect-window-for-input-device-feature.patch b/0007-Add-redirect-window-for-input-device-feature.patch similarity index 94% rename from 0008-Add-redirect-window-for-input-device-feature.patch rename to 0007-Add-redirect-window-for-input-device-feature.patch index 7238595..245f6a0 100644 --- a/0008-Add-redirect-window-for-input-device-feature.patch +++ b/0007-Add-redirect-window-for-input-device-feature.patch @@ -1,7 +1,7 @@ -From 149dba7f44e01b88fd9c2aba1dfc707c6917bae5 Mon Sep 17 00:00:00 2001 +From 65f033e38116ed4ebf318a7521190536e8fc6b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 18 Sep 2009 22:09:03 -0400 -Subject: [PATCH 08/38] Add redirect window for input device feature +Subject: [PATCH 07/38] Add redirect window for input device feature --- Xi/exevents.c | 13 +++++++++++++ @@ -85,5 +85,5 @@ index dc36c5d..09471cf 100644 typedef struct _KeyClassRec { -- -1.8.3.1 +1.8.4.2 diff --git a/0007-Export-CompositeRedirectSubwindows-and-CompositeUnRe.patch b/0007-Export-CompositeRedirectSubwindows-and-CompositeUnRe.patch deleted file mode 100644 index 7d81c89..0000000 --- a/0007-Export-CompositeRedirectSubwindows-and-CompositeUnRe.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 6eb7ab0f4fc69fe1bf8ee0477e8e8b32ede44e43 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= -Date: Fri, 18 Sep 2009 22:02:43 -0400 -Subject: [PATCH 07/38] Export CompositeRedirectSubwindows and - CompositeUnRedirectSubwindows - ---- - composite/compalloc.c | 11 +++++++++++ - composite/compositeext.h | 4 ++++ - 2 files changed, 15 insertions(+) - -diff --git a/composite/compalloc.c b/composite/compalloc.c -index b7d731e..98b27b1 100644 ---- a/composite/compalloc.c -+++ b/composite/compalloc.c -@@ -46,6 +46,7 @@ - #endif - - #include "compint.h" -+#include "compositeext.h" - - static void - compScreenUpdate(ScreenPtr pScreen) -@@ -411,6 +412,11 @@ compRedirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update) - return Success; - } - -+int CompositeRedirectSubwindows (WindowPtr pWin, int update) -+{ -+ return compRedirectSubwindows (serverClient, pWin, update); -+} -+ - /* - * Free one of the per-client per-subwindows resources, - * which frees one redirect per subwindow -@@ -482,6 +488,11 @@ compUnredirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update) - return BadValue; - } - -+int CompositeUnRedirectSubwindows (WindowPtr pWin, int update) -+{ -+ return compUnredirectSubwindows (serverClient, pWin, update); -+} -+ - /* - * Add redirection information for one subwindow (during reparent) - */ -diff --git a/composite/compositeext.h b/composite/compositeext.h -index 0b148f0..a072966 100644 ---- a/composite/compositeext.h -+++ b/composite/compositeext.h -@@ -34,6 +34,10 @@ - extern _X_EXPORT Bool CompositeRegisterAlternateVisuals(ScreenPtr pScreen, - VisualID * vids, - int nVisuals); -+extern _X_EXPORT int CompositeRedirectSubwindows(WindowPtr pWin, -+ int update); -+extern _X_EXPORT int CompositeUnRedirectSubwindows (WindowPtr pWin, -+ int update); - - extern _X_EXPORT RESTYPE CompositeClientWindowType; - --- -1.8.3.1 - diff --git a/0007-test-build-the-touch-test-only-when-building-Xorg.patch b/0007-test-build-the-touch-test-only-when-building-Xorg.patch deleted file mode 100644 index ff3e019..0000000 --- a/0007-test-build-the-touch-test-only-when-building-Xorg.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d7ee27e5e415778240919082c83a65226c6f17e6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dan=20Hor=C3=A1k?= -Date: Tue, 29 Oct 2013 12:09:25 -0400 -Subject: [PATCH 7/9] test: build the touch test only when building Xorg -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Adam Jackson -Signed-off-by: Dan Horák -Signed-off-by: Keith Packard ---- - test/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/Makefile.am b/test/Makefile.am -index e59c412..2852bb3 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -1,11 +1,11 @@ - if ENABLE_UNIT_TESTS - SUBDIRS= . --noinst_PROGRAMS = list string touch -+noinst_PROGRAMS = list string - if XORG - # Tests that require at least some DDX functions in order to fully link - # 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 -+noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch - endif - check_LTLIBRARIES = libxservertest.la - --- -1.8.3.1 - diff --git a/0009-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch b/0008-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch similarity index 96% rename from 0009-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch rename to 0008-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch index 10bc205..fe860d7 100644 --- a/0009-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch +++ b/0008-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch @@ -1,7 +1,7 @@ -From 9c78591012c5ea0e5cd729b8b20eddce825295ed Mon Sep 17 00:00:00 2001 +From 39fddd5e087ee7681e7a26182dd7398dd64bc43f Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Wed, 21 Aug 2013 21:23:09 -0700 -Subject: [PATCH 09/38] dri2: Introduce a third version of the AuthMagic +Subject: [PATCH 08/38] dri2: Introduce a third version of the AuthMagic function This most recent version takes a client pointer to allow xwayland to @@ -91,7 +91,7 @@ index 1e7afdd..38b4f58 100644 DrawablePtr pDraw, XID id, diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c -index e1decec..4ab0186 100644 +index ffd66fa..b858213 100644 --- a/hw/xfree86/dri2/dri2ext.c +++ b/hw/xfree86/dri2/dri2ext.c @@ -136,11 +136,23 @@ ProcDRI2Connect(ClientPtr client) @@ -140,5 +140,5 @@ index e1decec..4ab0186 100644 return Success; } -- -1.8.3.1 +1.8.4.2 diff --git a/0008-xfree86-return-NULL-for-compat-output-if-no-outputs.patch b/0008-xfree86-return-NULL-for-compat-output-if-no-outputs.patch deleted file mode 100644 index 6dad682..0000000 --- a/0008-xfree86-return-NULL-for-compat-output-if-no-outputs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d1440783a7367ff0d0c47d256bbca3b3cf8a5034 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Tue, 29 Oct 2013 12:09:26 -0400 -Subject: [PATCH 8/9] xfree86: return NULL for compat output if no outputs. - -With outputless GPUs showing up we crash here if there are not outputs -try and recover with a bit of grace. - -Reviewed-by: Adam Jackson -Signed-off-by: Dave Airlie -Signed-off-by: Keith Packard ---- - hw/xfree86/modes/xf86Crtc.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 2a02c85..a441fd1 100644 ---- a/hw/xfree86/modes/xf86Crtc.c -+++ b/hw/xfree86/modes/xf86Crtc.c -@@ -1863,6 +1863,9 @@ SetCompatOutput(xf86CrtcConfigPtr config) - DisplayModePtr maxmode = NULL, testmode, mode; - int o, compat = -1, count, mincount = 0; - -+ if (config->num_output == 0) -+ return NULL; -+ - /* Look for one that's definitely connected */ - for (o = 0; o < config->num_output; o++) { - test = config->output[o]; --- -1.8.3.1 - diff --git a/0010-Add-xwayland-module.patch b/0009-Add-xwayland-module.patch similarity index 99% rename from 0010-Add-xwayland-module.patch rename to 0009-Add-xwayland-module.patch index c011237..e53a923 100644 --- a/0010-Add-xwayland-module.patch +++ b/0009-Add-xwayland-module.patch @@ -1,7 +1,7 @@ -From 4a3354179f4e758971667ac6359080a014dcb033 Mon Sep 17 00:00:00 2001 +From 010bee24b74e4ca0df6c69094b825d5232f85377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 18 Sep 2009 22:08:16 -0400 -Subject: [PATCH 10/38] Add xwayland module +Subject: [PATCH 09/38] Add xwayland module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -32,11 +32,11 @@ Squashed and rebased from the xwayland-1.12 branch. Contributions from hw/xfree86/xwayland/xwayland-input.c | 610 +++++++++++++++++++++++++++++++++ hw/xfree86/xwayland/xwayland-output.c | 309 +++++++++++++++++ hw/xfree86/xwayland/xwayland-private.h | 132 +++++++ - hw/xfree86/xwayland/xwayland-window.c | 316 +++++++++++++++++ + hw/xfree86/xwayland/xwayland-window.c | 317 +++++++++++++++++ hw/xfree86/xwayland/xwayland.c | 392 +++++++++++++++++++++ hw/xfree86/xwayland/xwayland.h | 83 +++++ include/xorg-server.h.in | 3 + - 20 files changed, 2594 insertions(+), 10 deletions(-) + 20 files changed, 2595 insertions(+), 10 deletions(-) create mode 100644 hw/xfree86/xwayland/Makefile.am create mode 100644 hw/xfree86/xwayland/drm.xml create mode 100644 hw/xfree86/xwayland/xserver.xml @@ -50,10 +50,10 @@ Squashed and rebased from the xwayland-1.12 branch. Contributions from create mode 100644 hw/xfree86/xwayland/xwayland.h diff --git a/configure.ac b/configure.ac -index 1e6f813..ab693e9 100644 +index 8bedd35..8078846 100644 --- a/configure.ac +++ b/configure.ac -@@ -636,6 +636,7 @@ AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg +@@ -629,6 +629,7 @@ AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes]) 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]) @@ -61,7 +61,7 @@ index 1e6f813..ab693e9 100644 dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -1024,6 +1025,14 @@ fi +@@ -1018,6 +1019,14 @@ fi if test "x$MITSHM" = xauto; then MITSHM="$ac_cv_sysv_ipc" fi @@ -76,7 +76,7 @@ index 1e6f813..ab693e9 100644 AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes]) if test "x$MITSHM" = xyes; then AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension]) -@@ -1204,12 +1213,13 @@ esac +@@ -1241,12 +1250,13 @@ esac AM_CONDITIONAL(DRI3, test "x$DRI3" = xyes) @@ -91,7 +91,7 @@ index 1e6f813..ab693e9 100644 if test "x$DRI2" = xyes; then save_CFLAGS=$CFLAGS -@@ -2399,6 +2409,7 @@ hw/xfree86/dixmods/Makefile +@@ -2462,6 +2472,7 @@ hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile @@ -130,7 +130,7 @@ index 15670d0..cf60196 100644 bin_PROGRAMS = Xorg diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 74d5ed3..39cd58c 100644 +index b5efc02..3b0bb89 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -118,7 +118,8 @@ static ModuleDefault ModuleDefaults[] = { @@ -2071,10 +2071,10 @@ index 0000000..e427316 +#endif /* _XWAYLAND_PRIVATE_H_ */ diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c new file mode 100644 -index 0000000..925d63c +index 0000000..d56e0d0 --- /dev/null +++ b/hw/xfree86/xwayland/xwayland-window.c -@@ -0,0 +1,316 @@ +@@ -0,0 +1,317 @@ +/* + * Copyright © 2011 Intel Corporation + * @@ -2317,6 +2317,7 @@ index 0000000..925d63c + xorg_list_del(&xwl_window->link); + if (RegionNotEmpty(DamageRegion(xwl_window->damage))) + xorg_list_del(&xwl_window->link_damage); ++ DamageUnregister(&window->drawable, xwl_window->damage); + DamageDestroy(xwl_window->damage); + free(xwl_window); + dixSetPrivate(&window->devPrivates, &xwl_window_private_key, NULL); @@ -2891,5 +2892,5 @@ index 0c651bf..7f6eba2 100644 + #endif /* _XORG_SERVER_H_ */ -- -1.8.3.1 +1.8.4.2 diff --git a/0009-mieq-Bump-default-queue-size-to-512.patch b/0009-mieq-Bump-default-queue-size-to-512.patch deleted file mode 100644 index 00d2a4e..0000000 --- a/0009-mieq-Bump-default-queue-size-to-512.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0492deb8f8238b7782e5a706ec6219d88aa1091d Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 29 Oct 2013 12:09:27 -0400 -Subject: [PATCH 9/9] mieq: Bump default queue size to 512 - -Based on some bugzilla scraping I did around November 2012. Of xserver -bugs in Red Hat bugzilla with an EQ size message in the log, the -distribution looked like: - -String | Matches -------------------------------------- -Increasing EQ size to 512 | 460 -Increasing EQ size to 1024 | 52 -Increasing EQ size to 2048 | 6 -Increasing EQ size to 4096 | 0 - -Most of the "512" ones appear to be mostly harmless, some relatively -expensive path in either rendering or resource destruction simply taking -too long due to external pressures like paging or CPU contention. So -let's raise the initial queue size, both to reduce the number of -spurious abrt reports and to drop fewer events in all but the most -pathological cases. - -Signed-off-by: Adam Jackson -Reviewed-by: Jasper St. Pierre -Signed-off-by: Keith Packard ---- - mi/mieq.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mi/mieq.c b/mi/mieq.c -index d7d73de..4c07480 100644 ---- a/mi/mieq.c -+++ b/mi/mieq.c -@@ -60,7 +60,7 @@ in this Software without prior written authorization from The Open Group. - #endif - - /* Maximum size should be initial size multiplied by a power of 2 */ --#define QUEUE_INITIAL_SIZE 256 -+#define QUEUE_INITIAL_SIZE 512 - #define QUEUE_RESERVED_SIZE 64 - #define QUEUE_MAXIMUM_SIZE 4096 - #define QUEUE_DROP_BACKTRACE_FREQUENCY 100 --- -1.8.3.1 - diff --git a/0011-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch b/0010-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch similarity index 90% rename from 0011-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch rename to 0010-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch index 2ea1319..b3c155a 100644 --- a/0011-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch +++ b/0010-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch @@ -1,7 +1,7 @@ -From 201a3ac6c7cca0eb118cdb41f859d553b85204ad Mon Sep 17 00:00:00 2001 +From b50ab974f639e02f878e608bf7f6097be7fbc60c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 21 Aug 2013 23:02:58 -0700 -Subject: [PATCH 11/38] xwayland: Add a HW_WAYLAND flag to let drivers +Subject: [PATCH 10/38] xwayland: Add a HW_WAYLAND flag to let drivers explicitly opt-in --- @@ -45,5 +45,5 @@ index 4c2d147..976fa30 100644 typedef CARD32 xorgHWFlags; -- -1.8.3.1 +1.8.4.2 diff --git a/0012-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch b/0011-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch similarity index 87% rename from 0012-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch rename to 0011-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch index e30e4d2..91869bc 100644 --- a/0012-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch +++ b/0011-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch @@ -1,7 +1,7 @@ -From 17318d4351f4bc3e7c91f89d9c1bb061348fbb1b Mon Sep 17 00:00:00 2001 +From 341f2f5de09e59c3498d5f4e626b8fd86f4a0dcd Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Wed, 21 Aug 2013 09:53:25 +0200 -Subject: [PATCH 12/38] xwayland-shm: don't create alpha buffers if the window +Subject: [PATCH 11/38] xwayland-shm: don't create alpha buffers if the window doesn't have alpha If the window is using a 24 bit visual, we must request a buffer @@ -27,5 +27,5 @@ index f59bfe4..880b7ec 100644 return xwl_window->buffer ? Success : BadDrawable; -- -1.8.3.1 +1.8.4.2 diff --git a/0013-xwayland-handle-global-object-destruction.patch b/0012-xwayland-handle-global-object-destruction.patch similarity index 98% rename from 0013-xwayland-handle-global-object-destruction.patch rename to 0012-xwayland-handle-global-object-destruction.patch index c74229b..e844d5a 100644 --- a/0013-xwayland-handle-global-object-destruction.patch +++ b/0012-xwayland-handle-global-object-destruction.patch @@ -1,7 +1,7 @@ -From 44131ac8626d8397bf40adf3511bf0b92909f94f Mon Sep 17 00:00:00 2001 +From 1e37681072a69decce7441e762cb5f4ce1a80d73 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Wed, 21 Aug 2013 09:53:26 +0200 -Subject: [PATCH 13/38] xwayland: handle global object destruction +Subject: [PATCH 12/38] xwayland: handle global object destruction Certain global objects, such as outputs, can be destroyed during the session. We must handle that and not crash. @@ -230,5 +230,5 @@ index 880b7ec..2047a85 100644 } -- -1.8.3.1 +1.8.4.2 diff --git a/0014-xwayland-add-support-for-multiple-outputs.patch b/0013-xwayland-add-support-for-multiple-outputs.patch similarity index 98% rename from 0014-xwayland-add-support-for-multiple-outputs.patch rename to 0013-xwayland-add-support-for-multiple-outputs.patch index e1bd140..ba72b97 100644 --- a/0014-xwayland-add-support-for-multiple-outputs.patch +++ b/0013-xwayland-add-support-for-multiple-outputs.patch @@ -1,7 +1,7 @@ -From 0d1ec467dd566895b5a71b02f8851a89f8a7512c Mon Sep 17 00:00:00 2001 +From c22c7d4062b24f10a1d841629cc1e1822cad1f45 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Thu, 22 Aug 2013 16:23:48 +0200 -Subject: [PATCH 14/38] xwayland: add support for multiple outputs +Subject: [PATCH 13/38] xwayland: add support for multiple outputs Drop xf86InitialConfiguration, which just gets in the way of the compositor doing its own output arrangement, and transform @@ -211,5 +211,5 @@ index 7005db2..b0b2201 100644 -- -1.8.3.1 +1.8.4.2 diff --git a/0015-xwayland-Probe-outputs-on-preinit.patch b/0014-xwayland-Probe-outputs-on-preinit.patch similarity index 89% rename from 0015-xwayland-Probe-outputs-on-preinit.patch rename to 0014-xwayland-Probe-outputs-on-preinit.patch index e6ae850..4c168f6 100644 --- a/0015-xwayland-Probe-outputs-on-preinit.patch +++ b/0014-xwayland-Probe-outputs-on-preinit.patch @@ -1,7 +1,7 @@ -From ab2bf3a98241bc7a8e8a3d09b780dd8f975def8d Mon Sep 17 00:00:00 2001 +From 21d9ed2b2ad45c7c363194a4c4fe2306bb26b130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Sun, 1 Sep 2013 23:14:43 +0200 -Subject: [PATCH 15/38] xwayland: Probe outputs on preinit +Subject: [PATCH 14/38] xwayland: Probe outputs on preinit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -30,5 +30,5 @@ index 66c7d48..691b5f0 100644 xf86SetScrnInfoModes(scrninfo); -- -1.8.3.1 +1.8.4.2 diff --git a/0016-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch b/0015-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch similarity index 84% rename from 0016-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch rename to 0015-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch index 4b5fe41..3da2eb6 100644 --- a/0016-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch +++ b/0015-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch @@ -1,7 +1,7 @@ -From 2553d412bf0b9c6dbf7a46dd8596ff7b9387e713 Mon Sep 17 00:00:00 2001 +From 4e8eb23a03e14ce149e302e4dfc6e6af6fa61424 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Fri, 16 Aug 2013 13:21:21 +0100 -Subject: [PATCH 16/38] XFree86: Load wlshm driver as fallback for Wayland +Subject: [PATCH 15/38] XFree86: Load wlshm driver as fallback for Wayland Since fbdev or vesa are unlikely to be too useful there ... @@ -12,10 +12,10 @@ Signed-off-by: Daniel Stone 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index 95d58fe..d5a3370 100644 +index af2b7f8..a3e1fa7 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -283,10 +283,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches) +@@ -275,10 +275,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches) #if !defined(sun) /* Fallback to platform default frame buffer driver */ if (i < (nmatches - 1)) { @@ -34,15 +34,15 @@ index 95d58fe..d5a3370 100644 } #endif /* !sun */ diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 39cd58c..c65cb80 100644 +index 3b0bb89..aebfc1b 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -519,7 +519,11 @@ xf86InputDriverlistFromConfig(void) static void fixup_video_driver_list(char **drivers) { -- static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL }; -+ static const char *fallback_hw[4] = { "vesa", "fbdev", "wsfb", NULL }; +- static const char *fallback[4] = { "fbdev", "vesa", "wsfb", NULL }; ++ static const char *fallback_hw[4] = { "fbdev", "vesa", "wsfb", NULL }; +#ifdef XORG_WAYLAND + static const char *fallback_wayland[2] = { "wlshm", NULL }; +#endif @@ -69,5 +69,5 @@ index 39cd58c..c65cb80 100644 *drv = *end; *end = x; -- -1.8.3.1 +1.8.4.2 diff --git a/0017-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch b/0016-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch similarity index 88% rename from 0017-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch rename to 0016-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch index 0ef19c6..026f22e 100644 --- a/0017-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch +++ b/0016-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch @@ -1,7 +1,7 @@ -From c928d93ae7f803f1bda0bc0dca4d1ca3c580d28d Mon Sep 17 00:00:00 2001 +From 6cfe64769a4f8e9646e4d6766ffdf689a0963ffd Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 7 Nov 2012 17:22:42 +1100 -Subject: [PATCH 17/38] XWayland: Don't send out-of-bounds damage co-ordinates +Subject: [PATCH 16/38] XWayland: Don't send out-of-bounds damage co-ordinates Make sure we don't send damage regions larger than the buffer. @@ -33,5 +33,5 @@ index 2047a85..6a515f5 100644 wl_surface_attach(xwl_window->surface, xwl_window->buffer, -- -1.8.3.1 +1.8.4.2 diff --git a/0018-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch b/0017-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch similarity index 87% rename from 0018-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch rename to 0017-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch index 10c6d15..b09a6ca 100644 --- a/0018-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch +++ b/0017-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch @@ -1,7 +1,7 @@ -From d5a81751ea614f75bd4b53fea562667f3fa16c9b Mon Sep 17 00:00:00 2001 +From 70bf99f09cac43a9016039f762e5186c6ca2b6c6 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Tue, 16 Oct 2012 17:14:01 +1100 -Subject: [PATCH 18/38] xwayland: Introduce an auto mode for --enable-wayland +Subject: [PATCH 17/38] xwayland: Introduce an auto mode for --enable-wayland Signed-off-by: Daniel Stone --- @@ -9,10 +9,10 @@ Signed-off-by: Daniel Stone 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index ab693e9..3699525 100644 +index 8078846..c60fd44 100644 --- a/configure.ac +++ b/configure.ac -@@ -636,7 +636,7 @@ AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg +@@ -629,7 +629,7 @@ AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes]) 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]) @@ -21,7 +21,7 @@ index ab693e9..3699525 100644 dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -1026,12 +1026,16 @@ if test "x$MITSHM" = xauto; then +@@ -1020,12 +1020,16 @@ if test "x$MITSHM" = xauto; then MITSHM="$ac_cv_sysv_ipc" fi @@ -41,5 +41,5 @@ index ab693e9..3699525 100644 AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes]) if test "x$MITSHM" = xyes; then -- -1.8.3.1 +1.8.4.2 diff --git a/0019-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch b/0018-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch similarity index 90% rename from 0019-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch rename to 0018-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch index e0be897..7453d09 100644 --- a/0019-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch +++ b/0018-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch @@ -1,7 +1,7 @@ -From fe84a03afbc5d5b80735d106f699139d44769af0 Mon Sep 17 00:00:00 2001 +From c7d56befef2111c82e6720643824b9a46ae36670 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 7 Nov 2012 17:15:13 +1100 -Subject: [PATCH 19/38] XWayland: Don't hardcode DRM libs and -lwayland-client +Subject: [PATCH 18/38] XWayland: Don't hardcode DRM libs and -lwayland-client Take -lwayland-client from configure.ac, and only use DRM if we've actually asked for it. @@ -42,5 +42,5 @@ index b739145..22ab154 100644 endif -- -1.8.3.1 +1.8.4.2 diff --git a/0020-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch b/0019-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch similarity index 95% rename from 0020-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch rename to 0019-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch index f6abe4a..b96174a 100644 --- a/0020-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch +++ b/0019-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch @@ -1,7 +1,7 @@ -From b69be44270c90b9048505d5b18930c1ac18e9ddc Mon Sep 17 00:00:00 2001 +From c6da90b55546748d3f4a2f536f94751da3abcd77 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Fri, 16 Aug 2013 13:51:08 +0100 -Subject: [PATCH 20/38] XWayland: Support 16bpp X surfaces in DRM/SHM +Subject: [PATCH 19/38] XWayland: Support 16bpp X surfaces in DRM/SHM Properly look at the window's visual to determine which format we should use for allocation. @@ -93,5 +93,5 @@ index 6a515f5..36f7cbf 100644 return xwl_window->buffer ? Success : BadDrawable; -- -1.8.3.1 +1.8.4.2 diff --git a/0021-xwayland-Remove-Xdnd-selection-watching-code.patch b/0020-xwayland-Remove-Xdnd-selection-watching-code.patch similarity index 93% rename from 0021-xwayland-Remove-Xdnd-selection-watching-code.patch rename to 0020-xwayland-Remove-Xdnd-selection-watching-code.patch index 64c1e78..018cc5e 100644 --- a/0021-xwayland-Remove-Xdnd-selection-watching-code.patch +++ b/0020-xwayland-Remove-Xdnd-selection-watching-code.patch @@ -1,7 +1,7 @@ -From fdb47d16148e7cd2a4a7cc1d16fbd4a3b382046e Mon Sep 17 00:00:00 2001 +From caf0c07852843440139fcd23e621fe2e9522775f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 11 Sep 2013 11:15:18 -0700 -Subject: [PATCH 21/38] xwayland: Remove Xdnd selection watching code +Subject: [PATCH 20/38] xwayland: Remove Xdnd selection watching code We don't need this in the server, the wm can manage dnd proxying. --- @@ -66,5 +66,5 @@ index 36f7cbf..e8c58fd 100644 xorg_list_init(&xwl_screen->seat_list); xorg_list_init(&xwl_screen->damage_window_list); -- -1.8.3.1 +1.8.4.2 diff --git a/0022-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch b/0021-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch similarity index 87% rename from 0022-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch rename to 0021-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch index cf3f5bd..b9a1e21 100644 --- a/0022-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch +++ b/0021-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch @@ -1,7 +1,7 @@ -From cbca006b92b1ef56966b07e0573f9f068891cee5 Mon Sep 17 00:00:00 2001 +From d40219f38a33845d8a9850de47ff5d458a3d8209 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 13 Sep 2013 17:17:16 -0400 -Subject: [PATCH 22/38] xf86Init: trim out non-wayland capable servers from +Subject: [PATCH 21/38] xf86Init: trim out non-wayland capable servers from drive list Otherwise they'll cause the server to crash when run in wayland mode. @@ -30,5 +30,5 @@ index 2d3bb01..6282252 100644 xf86OpenConsole(); else -- -1.8.3.1 +1.8.4.2 diff --git a/0023-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch b/0022-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch similarity index 53% rename from 0023-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch rename to 0022-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch index e1fd0f6..6b522ef 100644 --- a/0023-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch +++ b/0022-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch @@ -1,30 +1,29 @@ -From e3fc1ac8cd899868f1679671380a484d61ec4882 Mon Sep 17 00:00:00 2001 +From a575da27027b91e44df75318f3b570bf8291fe7c Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 13 Sep 2013 15:52:29 +0200 -Subject: [PATCH 23/38] Add XORG_WAYLAND symbol to xorg-config.h.in +Subject: [PATCH 22/38] Add XORG_WAYLAND symbol to xorg-config.h.in We manually duplicate symbols that we want in both xorg-server.h and xorg-config.h. XORG_WAYLAND is one such symbol, but it was missing from xorg-config.h.in. --- - include/xorg-config.h.in | 6 ++++++ - 1 file changed, 6 insertions(+) + include/xorg-config.h.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in -index 487d7ad..a35a9b0 100644 +index 487d7ad..8aec1d8 100644 --- a/include/xorg-config.h.in +++ b/include/xorg-config.h.in -@@ -145,4 +145,10 @@ - /* Support APM/ACPI power management in the server */ - #undef XF86PM +@@ -142,7 +142,7 @@ + /* Define to 1 if you have the `seteuid' function. */ + #undef HAVE_SETEUID -+/* Have support for X shared memory fence library (xshmfence) */ -+#undef HAVE_XSHMFENCE -+ +-/* Support APM/ACPI power management in the server */ +-#undef XF86PM +/* Building Xorg server. */ +#undef XORG_WAYLAND -+ + #endif /* _XORG_CONFIG_H_ */ -- -1.8.3.1 +1.8.4.2 diff --git a/0024-Fix-fallback-loading-of-the-wayland-driver.patch b/0023-Fix-fallback-loading-of-the-wayland-driver.patch similarity index 78% rename from 0024-Fix-fallback-loading-of-the-wayland-driver.patch rename to 0023-Fix-fallback-loading-of-the-wayland-driver.patch index de23b92..a64ad92 100644 --- a/0024-Fix-fallback-loading-of-the-wayland-driver.patch +++ b/0023-Fix-fallback-loading-of-the-wayland-driver.patch @@ -1,7 +1,7 @@ -From 1df7c26010720e669d416b442e168002d7502d9d Mon Sep 17 00:00:00 2001 +From 7e1b4d2a4853e7a6c31e0ab0c1fe3405ec61c914 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 13 Sep 2013 15:52:30 +0200 -Subject: [PATCH 24/38] Fix fallback loading of the wayland driver +Subject: [PATCH 23/38] Fix fallback loading of the wayland driver Fix the array name to actually compile, and fix the driver name with the new upstream. @@ -11,10 +11,10 @@ with the new upstream. 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index d5a3370..b35cb96 100644 +index a3e1fa7..51a7960 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -285,7 +285,7 @@ listPossibleVideoDrivers(char *matches[], int nmatches) +@@ -277,7 +277,7 @@ listPossibleVideoDrivers(char *matches[], int nmatches) if (i < (nmatches - 1)) { #ifdef XORG_WAYLAND if (xorgWayland) @@ -24,12 +24,12 @@ index d5a3370..b35cb96 100644 #endif #if !defined(__linux__) && defined(__sparc__) diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index c65cb80..8255d8d 100644 +index aebfc1b..66f98b2 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -521,7 +521,7 @@ fixup_video_driver_list(char **drivers) { - static const char *fallback_hw[4] = { "vesa", "fbdev", "wsfb", NULL }; + static const char *fallback_hw[4] = { "fbdev", "vesa", "wsfb", NULL }; #ifdef XORG_WAYLAND - static const char *fallback_wayland[2] = { "wlshm", NULL }; + static const char *fallback_wl[2] = { "wayland", NULL }; @@ -37,5 +37,5 @@ index c65cb80..8255d8d 100644 const char **fallbacks; char **end, **drv; -- -1.8.3.1 +1.8.4.2 diff --git a/0025-xwayland-Don-t-include-xorg-server.h.patch b/0024-xwayland-Don-t-include-xorg-server.h.patch similarity index 91% rename from 0025-xwayland-Don-t-include-xorg-server.h.patch rename to 0024-xwayland-Don-t-include-xorg-server.h.patch index 82afb65..eb23738 100644 --- a/0025-xwayland-Don-t-include-xorg-server.h.patch +++ b/0024-xwayland-Don-t-include-xorg-server.h.patch @@ -1,7 +1,7 @@ -From 84fe9bdf95a03d7998132892899549a5233f619a Mon Sep 17 00:00:00 2001 +From b468fcfc1733feb014ef976fef29939f9f1dfc98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 13 Sep 2013 14:52:13 -0700 -Subject: [PATCH 25/38] xwayland: Don't include xorg-server.h +Subject: [PATCH 24/38] xwayland: Don't include xorg-server.h xorg-config.h now has the XORG_WAYLAND define. --- @@ -36,7 +36,7 @@ index 691b5f0..7004b9b 100644 #include #include diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c -index 925d63c..b7677ed 100644 +index d56e0d0..88f57ce 100644 --- a/hw/xfree86/xwayland/xwayland-window.c +++ b/hw/xfree86/xwayland/xwayland-window.c @@ -33,7 +33,6 @@ @@ -60,5 +60,5 @@ index e8c58fd..c70a52d 100644 #include -- -1.8.3.1 +1.8.4.2 diff --git a/0026-os-Don-t-include-xorg-server.h.patch b/0025-os-Don-t-include-xorg-server.h.patch similarity index 86% rename from 0026-os-Don-t-include-xorg-server.h.patch rename to 0025-os-Don-t-include-xorg-server.h.patch index 6d9f67d..5fe6791 100644 --- a/0026-os-Don-t-include-xorg-server.h.patch +++ b/0025-os-Don-t-include-xorg-server.h.patch @@ -1,7 +1,7 @@ -From e02033116fe579a14e1ca499ff407b99178b1afd Mon Sep 17 00:00:00 2001 +From 6e6f302a5bfa72b195021c0053aab3286d12f87a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 13 Sep 2013 14:53:16 -0700 -Subject: [PATCH 26/38] os: Don't include xorg-server.h +Subject: [PATCH 25/38] os: Don't include xorg-server.h Just always compile in ListenOnOpenFD and AddClientOnOpenFD, they don't depend on anything from Quartz or Wayland. @@ -36,5 +36,5 @@ index a95e7da..0a858b7 100644 - -#endif -- -1.8.3.1 +1.8.4.2 diff --git a/0027-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch b/0026-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch similarity index 82% rename from 0027-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch rename to 0026-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch index e9822bb..b986bc7 100644 --- a/0027-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch +++ b/0026-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch @@ -1,7 +1,7 @@ -From 7b45766152d2600279129722331df380f70a57ee Mon Sep 17 00:00:00 2001 +From 7f1df88e3c86e900fa22075aed41c5c3b3f36b75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 13 Sep 2013 15:16:31 -0700 -Subject: [PATCH 27/38] os: Also define ListenOnOpenFD and AddClientOnOpenFD +Subject: [PATCH 26/38] os: Also define ListenOnOpenFD and AddClientOnOpenFD unconditionally Remove the #ifdef from the header file as well. @@ -10,7 +10,7 @@ Remove the #ifdef from the header file as well. 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/os.h b/include/os.h -index 2a24f4b..542ca64 100644 +index c36d09a..8deb413 100644 --- a/include/os.h +++ b/include/os.h @@ -166,10 +166,9 @@ extern _X_EXPORT void MakeClientGrabImpervious(ClientPtr /*client */ ); @@ -26,5 +26,5 @@ index 2a24f4b..542ca64 100644 extern _X_EXPORT CARD32 GetTimeInMillis(void); extern _X_EXPORT CARD64 GetTimeInMicros(void); -- -1.8.3.1 +1.8.4.2 diff --git a/0028-xwayland-Remove-unused-variables.patch b/0027-xwayland-Remove-unused-variables.patch similarity index 79% rename from 0028-xwayland-Remove-unused-variables.patch rename to 0027-xwayland-Remove-unused-variables.patch index bb05860..19fea33 100644 --- a/0028-xwayland-Remove-unused-variables.patch +++ b/0027-xwayland-Remove-unused-variables.patch @@ -1,14 +1,14 @@ -From 190d17d13dcb7a784e80edc5564cb80b9ccf3b00 Mon Sep 17 00:00:00 2001 +From b2520bd345339bbf74ab0ee4e2194206f80f4d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 16 Sep 2013 11:51:57 -0700 -Subject: [PATCH 28/38] xwayland: Remove unused variables +Subject: [PATCH 27/38] xwayland: Remove unused variables --- hw/xfree86/xwayland/xwayland-window.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c -index b7677ed..3c85630 100644 +index 88f57ce..20db80c 100644 --- a/hw/xfree86/xwayland/xwayland-window.c +++ b/hw/xfree86/xwayland/xwayland-window.c @@ -92,9 +92,6 @@ xwl_create_window(WindowPtr window) @@ -22,5 +22,5 @@ index b7677ed..3c85630 100644 xwl_screen = xwl_screen_get(screen); -- -1.8.3.1 +1.8.4.2 diff --git a/0029-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch b/0028-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch similarity index 95% rename from 0029-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch rename to 0028-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch index 61c0696..3b2dff7 100644 --- a/0029-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch +++ b/0028-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch @@ -1,7 +1,7 @@ -From 7da89f1639cd65a114cfc97e5556a5c238c2cac9 Mon Sep 17 00:00:00 2001 +From 2890dca70f04c3961578062207c5354d48730da3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 16 Sep 2013 12:05:19 -0700 -Subject: [PATCH 29/38] xwayland: Use a per-screen private key for cursor +Subject: [PATCH 28/38] xwayland: Use a per-screen private key for cursor privates The cursor is a per-display object, so we need to set private data on it @@ -81,5 +81,5 @@ index b0b2201..aa9fc03 100644 DestroyWindowProcPtr DestroyWindow; RealizeWindowProcPtr RealizeWindow; -- -1.8.3.1 +1.8.4.2 diff --git a/0030-XWayland-Don-t-commit-empty-surfaces.patch b/0029-XWayland-Don-t-commit-empty-surfaces.patch similarity index 86% rename from 0030-XWayland-Don-t-commit-empty-surfaces.patch rename to 0029-XWayland-Don-t-commit-empty-surfaces.patch index 622807e..5228c5a 100644 --- a/0030-XWayland-Don-t-commit-empty-surfaces.patch +++ b/0029-XWayland-Don-t-commit-empty-surfaces.patch @@ -1,7 +1,7 @@ -From 6ffe400e53f9dc7f66b8f2588cc766f4254a39da Mon Sep 17 00:00:00 2001 +From 1cac327a6ef9c0ca44ec32c7146da37ecb930dca Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 12 Sep 2013 16:58:00 -0400 -Subject: [PATCH 30/38] XWayland: Don't commit empty surfaces +Subject: [PATCH 29/38] XWayland: Don't commit empty surfaces Instead of attaching, damaging and then committing a new buffer as soon as we allocate a pixmap, just attach and damage the entire buffer. When @@ -16,7 +16,7 @@ Signed-off-by: Daniel Stone 1 file changed, 1 deletion(-) diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c -index 3c85630..fb9c64a 100644 +index 20db80c..5045e65 100644 --- a/hw/xfree86/xwayland/xwayland-window.c +++ b/hw/xfree86/xwayland/xwayland-window.c @@ -80,7 +80,6 @@ xwl_window_attach(struct xwl_window *xwl_window, PixmapPtr pixmap) @@ -28,5 +28,5 @@ index 3c85630..fb9c64a 100644 callback = wl_display_sync(xwl_screen->display); wl_callback_add_listener(callback, &free_pixmap_listener, pixmap); -- -1.8.3.1 +1.8.4.2 diff --git a/0031-xwayland-Also-look-for-wlglamor.patch b/0030-xwayland-Also-look-for-wlglamor.patch similarity index 72% rename from 0031-xwayland-Also-look-for-wlglamor.patch rename to 0030-xwayland-Also-look-for-wlglamor.patch index c3cdb8e..206df01 100644 --- a/0031-xwayland-Also-look-for-wlglamor.patch +++ b/0030-xwayland-Also-look-for-wlglamor.patch @@ -1,17 +1,17 @@ -From 448ecd81741144f039d41feeca0319c70954e847 Mon Sep 17 00:00:00 2001 +From f3df4c8caf96cce10d7bd646f34df9c3bba4daa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 11 Oct 2013 16:14:54 -0700 -Subject: [PATCH 31/38] xwayland: Also look for wlglamor +Subject: [PATCH 30/38] xwayland: Also look for wlglamor --- hw/xfree86/common/xf86AutoConfig.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index b35cb96..9576b86 100644 +index 51a7960..523ddb7 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -285,6 +285,7 @@ listPossibleVideoDrivers(char *matches[], int nmatches) +@@ -277,6 +277,7 @@ listPossibleVideoDrivers(char *matches[], int nmatches) if (i < (nmatches - 1)) { #ifdef XORG_WAYLAND if (xorgWayland) @@ -20,5 +20,5 @@ index b35cb96..9576b86 100644 else #endif -- -1.8.3.1 +1.8.4.2 diff --git a/0032-xwayland-Add-wlglamor-the-right-way.patch b/0031-xwayland-Add-wlglamor-the-right-way.patch similarity index 79% rename from 0032-xwayland-Add-wlglamor-the-right-way.patch rename to 0031-xwayland-Add-wlglamor-the-right-way.patch index 586ffa5..25126ce 100644 --- a/0032-xwayland-Add-wlglamor-the-right-way.patch +++ b/0031-xwayland-Add-wlglamor-the-right-way.patch @@ -1,7 +1,7 @@ -From b7fccf0d62ecf16ad591270ed5130241f005b635 Mon Sep 17 00:00:00 2001 +From a7f4b0f1a49abdb79f7a787e582096af152382c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 11 Oct 2013 16:29:02 -0700 -Subject: [PATCH 32/38] xwayland: Add wlglamor the right way +Subject: [PATCH 31/38] xwayland: Add wlglamor the right way Defeated by #ifdefs. --- @@ -9,10 +9,10 @@ Defeated by #ifdefs. 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index 9576b86..cc6dcce 100644 +index 523ddb7..4c5d1d5 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -282,12 +282,12 @@ listPossibleVideoDrivers(char *matches[], int nmatches) +@@ -274,12 +274,12 @@ listPossibleVideoDrivers(char *matches[], int nmatches) #if !defined(sun) /* Fallback to platform default frame buffer driver */ @@ -29,5 +29,5 @@ index 9576b86..cc6dcce 100644 #if !defined(__linux__) && defined(__sparc__) matches[i++] = xnfstrdup("wsfb"); -- -1.8.3.1 +1.8.4.2 diff --git a/0033-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch b/0032-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch similarity index 91% rename from 0033-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch rename to 0032-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch index 5d37396..1615503 100644 --- a/0033-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch +++ b/0032-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch @@ -1,14 +1,14 @@ -From a7ba08d345c1f545f1f8711f5b6ec6b4f13865f5 Mon Sep 17 00:00:00 2001 +From 067752476a9c2bac9e01c3c923fa94b4bf0ec0c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 11 Oct 2013 15:41:59 -0700 -Subject: [PATCH 33/38] xwayland: Don't redirect windows, leave it to the wm +Subject: [PATCH 32/38] xwayland: Don't redirect windows, leave it to the wm --- hw/xfree86/xwayland/xwayland-window.c | 51 ----------------------------------- 1 file changed, 51 deletions(-) diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c -index fb9c64a..0cb4f28 100644 +index 5045e65..c03855c 100644 --- a/hw/xfree86/xwayland/xwayland-window.c +++ b/hw/xfree86/xwayland/xwayland-window.c @@ -31,11 +31,9 @@ @@ -73,7 +73,7 @@ index fb9c64a..0cb4f28 100644 static void damage_report(DamagePtr pDamage, RegionPtr pRegion, void *data) { -@@ -289,12 +244,6 @@ xwl_screen_init_window(struct xwl_screen *xwl_screen, ScreenPtr screen) +@@ -290,12 +245,6 @@ xwl_screen_init_window(struct xwl_screen *xwl_screen, ScreenPtr screen) if (!dixRegisterPrivateKey(&xwl_window_private_key, PRIVATE_WINDOW, 0)) return BadAlloc; @@ -87,5 +87,5 @@ index fb9c64a..0cb4f28 100644 screen->RealizeWindow = xwl_realize_window; -- -1.8.3.1 +1.8.4.2 diff --git a/0035-xwayland-Fix-hidden-cursor.patch b/0033-xwayland-Fix-hidden-cursor.patch similarity index 90% rename from 0035-xwayland-Fix-hidden-cursor.patch rename to 0033-xwayland-Fix-hidden-cursor.patch index 818ddc8..dd28a43 100644 --- a/0035-xwayland-Fix-hidden-cursor.patch +++ b/0033-xwayland-Fix-hidden-cursor.patch @@ -1,7 +1,7 @@ -From b6d7459e27814c23292e9e7172bb6f95b4aadd2b Mon Sep 17 00:00:00 2001 +From 844a73a64081044710d2f22ba5a52513c2cce708 Mon Sep 17 00:00:00 2001 From: Trevor McCort Date: Tue, 15 Oct 2013 19:41:12 -0500 -Subject: [PATCH 35/38] xwayland: Fix hidden cursor +Subject: [PATCH 33/38] xwayland: Fix hidden cursor If a cursor is set when bits->emptyMask is true, the xserver sets a NULL cursor instead. @@ -34,5 +34,5 @@ index 2cdd248..2b3cb5e 100644 &xwl_seat->xwl_screen->cursor_private_key); -- -1.8.3.1 +1.8.4.2 diff --git a/0034-Revert-Export-CompositeRedirectSubwindows-and-Compos.patch b/0034-Revert-Export-CompositeRedirectSubwindows-and-Compos.patch deleted file mode 100644 index d328e74..0000000 --- a/0034-Revert-Export-CompositeRedirectSubwindows-and-Compos.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 01ddf1dada61d3939b3b7188d1ddbef83ce2628b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= -Date: Fri, 11 Oct 2013 16:40:39 -0700 -Subject: [PATCH 34/38] Revert "Export CompositeRedirectSubwindows and - CompositeUnRedirectSubwindows" - -This reverts commit 15a7e62a9848f2089180c49b02887565d29bb896. - -Now that we don't redirect windows on behalf of the wm, we don't need this. ---- - composite/compalloc.c | 11 ----------- - composite/compositeext.h | 4 ---- - 2 files changed, 15 deletions(-) - -diff --git a/composite/compalloc.c b/composite/compalloc.c -index 98b27b1..b7d731e 100644 ---- a/composite/compalloc.c -+++ b/composite/compalloc.c -@@ -46,7 +46,6 @@ - #endif - - #include "compint.h" --#include "compositeext.h" - - static void - compScreenUpdate(ScreenPtr pScreen) -@@ -412,11 +411,6 @@ compRedirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update) - return Success; - } - --int CompositeRedirectSubwindows (WindowPtr pWin, int update) --{ -- return compRedirectSubwindows (serverClient, pWin, update); --} -- - /* - * Free one of the per-client per-subwindows resources, - * which frees one redirect per subwindow -@@ -488,11 +482,6 @@ compUnredirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update) - return BadValue; - } - --int CompositeUnRedirectSubwindows (WindowPtr pWin, int update) --{ -- return compUnredirectSubwindows (serverClient, pWin, update); --} -- - /* - * Add redirection information for one subwindow (during reparent) - */ -diff --git a/composite/compositeext.h b/composite/compositeext.h -index a072966..0b148f0 100644 ---- a/composite/compositeext.h -+++ b/composite/compositeext.h -@@ -34,10 +34,6 @@ - extern _X_EXPORT Bool CompositeRegisterAlternateVisuals(ScreenPtr pScreen, - VisualID * vids, - int nVisuals); --extern _X_EXPORT int CompositeRedirectSubwindows(WindowPtr pWin, -- int update); --extern _X_EXPORT int CompositeUnRedirectSubwindows (WindowPtr pWin, -- int update); - - extern _X_EXPORT RESTYPE CompositeClientWindowType; - --- -1.8.3.1 - diff --git a/0036-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch b/0034-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch similarity index 96% rename from 0036-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch rename to 0034-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch index 202f130..6339734 100644 --- a/0036-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch +++ b/0034-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch @@ -1,7 +1,7 @@ -From 1a1c70ed93c53c340c54ee673bc631ea459a4bfa Mon Sep 17 00:00:00 2001 +From 3c9434f3f70420780e1fc606175a7436f6fdbb15 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Tue, 22 Oct 2013 16:50:29 +0200 -Subject: [PATCH 36/38] xkb: Repurpose XkbCopyDeviceKeymap to apply a given +Subject: [PATCH 34/38] xkb: Repurpose XkbCopyDeviceKeymap to apply a given keymap to a device This will also make it useful for cases when we have a new keymap to @@ -95,5 +95,5 @@ index 6c6af60..1f8a839 100644 XkbSendNewKeyboardNotify(dst, &nkn); -- -1.8.3.1 +1.8.4.2 diff --git a/0037-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch b/0035-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch similarity index 94% rename from 0037-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch rename to 0035-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch index 3c6b0fa..caf2696 100644 --- a/0037-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch +++ b/0035-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch @@ -1,7 +1,7 @@ -From a409085a514770bf8316f44af3c0697ba0ed516a Mon Sep 17 00:00:00 2001 +From 260ca040db20c397af0803da5c1bf15bc3bc08f2 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Mon, 21 Oct 2013 14:41:53 +0200 -Subject: [PATCH 37/38] xkb: Factor out a function to copy a keymap's controls +Subject: [PATCH 35/38] xkb: Factor out a function to copy a keymap's controls unto another --- @@ -87,5 +87,5 @@ index 1f8a839..6cf6e79 100644 + dst->ctrls->num_groups = nTG; +} -- -1.8.3.1 +1.8.4.2 diff --git a/0038-xwayland-Handle-keymap-changes.patch b/0036-xwayland-Handle-keymap-changes.patch similarity index 95% rename from 0038-xwayland-Handle-keymap-changes.patch rename to 0036-xwayland-Handle-keymap-changes.patch index 993444d..2d31062 100644 --- a/0038-xwayland-Handle-keymap-changes.patch +++ b/0036-xwayland-Handle-keymap-changes.patch @@ -1,7 +1,7 @@ -From 8263ec0fe27eb573e50485112e97f56f61d443b4 Mon Sep 17 00:00:00 2001 +From 6240dcadc8f51b00abe7d1fc4e682b442809fb91 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Mon, 21 Oct 2013 14:41:54 +0200 -Subject: [PATCH 38/38] xwayland: Handle keymap changes +Subject: [PATCH 36/38] xwayland: Handle keymap changes --- hw/xfree86/xwayland/xwayland-input.c | 39 +++++++++++++++++++++++++++++++++--- @@ -83,5 +83,5 @@ index b1cc3ff..6a814c2 100644 extern _X_EXPORT int AllocDevicePair(ClientPtr client, const char *name, -- -1.8.3.1 +1.8.4.2 diff --git a/0037-xwayland-Fix-re-wrapping-of-RealizeWindow.patch b/0037-xwayland-Fix-re-wrapping-of-RealizeWindow.patch new file mode 100644 index 0000000..18a0a2f --- /dev/null +++ b/0037-xwayland-Fix-re-wrapping-of-RealizeWindow.patch @@ -0,0 +1,25 @@ +From 408c17759542df3c906fc6fd0c01a3963ac0f345 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= +Date: Wed, 4 Dec 2013 10:27:07 -0800 +Subject: [PATCH 37/38] xwayland: Fix re-wrapping of RealizeWindow + +--- + hw/xfree86/xwayland/xwayland-window.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c +index c03855c..ee95371 100644 +--- a/hw/xfree86/xwayland/xwayland-window.c ++++ b/hw/xfree86/xwayland/xwayland-window.c +@@ -110,7 +110,7 @@ xwl_realize_window(WindowPtr window) + + screen->RealizeWindow = xwl_screen->RealizeWindow; + ret = (*screen->RealizeWindow)(window); +- xwl_screen->RealizeWindow = xwl_screen->RealizeWindow; ++ xwl_screen->RealizeWindow = screen->RealizeWindow; + screen->RealizeWindow = xwl_realize_window; + + if (xwl_screen->flags & XWL_FLAGS_ROOTLESS) { +-- +1.8.4.2 + diff --git a/0038-xwayland-Adapt-to-1.15-Damage-API.patch b/0038-xwayland-Adapt-to-1.15-Damage-API.patch new file mode 100644 index 0000000..876cb66 --- /dev/null +++ b/0038-xwayland-Adapt-to-1.15-Damage-API.patch @@ -0,0 +1,24 @@ +From 76e317e6e80465ecdda849931789f1b606ff75ae Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Thu, 12 Dec 2013 09:47:12 -0500 +Subject: [PATCH 38/38] xwayland: Adapt to 1.15 Damage API + +--- + hw/xfree86/xwayland/xwayland-window.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/hw/xfree86/xwayland/xwayland-window.c b/hw/xfree86/xwayland/xwayland-window.c +index ee95371..9a6724e 100644 +--- a/hw/xfree86/xwayland/xwayland-window.c ++++ b/hw/xfree86/xwayland/xwayland-window.c +@@ -190,7 +190,6 @@ xwl_unrealize_window(WindowPtr window) + xorg_list_del(&xwl_window->link); + if (RegionNotEmpty(DamageRegion(xwl_window->damage))) + xorg_list_del(&xwl_window->link_damage); +- DamageUnregister(&window->drawable, xwl_window->damage); + DamageDestroy(xwl_window->damage); + free(xwl_window); + dixSetPrivate(&window->devPrivates, &xwl_window_private_key, NULL); +-- +1.8.4.2 + diff --git a/driver-abi-rebuild.sh b/driver-abi-rebuild.sh index 80750f0..b1276d9 100755 --- a/driver-abi-rebuild.sh +++ b/driver-abi-rebuild.sh @@ -39,10 +39,10 @@ echo $driverlist $extradrivers | xargs -n1 $pkg co $branch for i in xorg-x11-drv-*/ ; do [ -e $i/dead.package ] && continue pushd $i - rpmdev-bumpspec -c "- 1.15RC1 ABI rebuild" *.spec - $pkg commit -c -p && $pkg build --nowait + #rpmdev-bumpspec -c "- 1.15RC4 ABI rebuild" *.spec + #$pkg commit -c -p && $pkg build --nowait #$pkg mockbuild - #$pkg srpm + $pkg srpm #mockchain -r fedora-20-x86_64 -l $OLDPWD #mockchain -r rhel-7.0-candidate-x86_64 -l $OLDPWD popd diff --git a/sources b/sources index fabb4d8..8ee216d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -57b14ddab3693ce48eafcb9607a87353 xorg-server-1.14.99.902.tar.bz2 +c2f45a61a3cdf480c59d3f3dcc11bdc7 xorg-server-1.14.99.904.tar.bz2 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 92a2152..f6531f6 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -8,19 +8,19 @@ # format, and add a PatchN: line. If you want to push something upstream, # check out the master branch, pull, cherry-pick, and push. -%global gitdate 20131118 -%global stable_abi 0 +#global gitdate 20131118 +%global stable_abi 1 %if !0%{?gitdate} || %{stable_abi} # Released ABI versions. Have to keep these manually in sync with the # source because rpm is a terrible language. %global ansic_major 0 %global ansic_minor 4 -%global videodrv_major 14 -%global videodrv_minor 1 -%global xinput_major 19 -%global xinput_minor 2 -%global extension_major 7 +%global videodrv_major 15 +%global videodrv_minor 0 +%global xinput_major 20 +%global xinput_minor 0 +%global extension_major 8 %global extension_minor 0 %endif @@ -41,8 +41,8 @@ Summary: X.Org X11 X server Name: xorg-x11-server -Version: 1.14.99.902 -Release: 2%{?gitdate:.%{gitdate}}%{dist} +Version: 1.14.99.904 +Release: 1%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -75,56 +75,51 @@ Source31: xserver-sdk-abi-requires.git Source40: driver-abi-rebuild.sh # sync with tip -Patch0001: 0001-ephyr-xcb_connect-returns-an-error-not-NULL.patch -Patch0002: 0002-kdrive-handle-WxH-as-valid-geometry-spec.patch -Patch0003: 0003-kdrive-modify-ephyr-events-to-use-POINTER_DESKTOP-an.patch -Patch0004: 0004-kdrive-fix-cursor-jumps-on-CursorOffScreen-behavior.patch -Patch0005: 0005-Stop-including-inline-assembly-.il-file-for-Solaris-.patch -Patch0006: 0006-include-export-key_is_down-and-friends.patch -Patch0007: 0007-test-build-the-touch-test-only-when-building-Xorg.patch -Patch0008: 0008-xfree86-return-NULL-for-compat-output-if-no-outputs.patch -Patch0009: 0009-mieq-Bump-default-queue-size-to-512.patch +Patch0001: 0001-present-recursively-set-window-pixmaps-on-flip.patch + +# submitted +Patch0050: 0001-configure-Fix-a-typo-near-dri3-shmfence-detection.patch # xwayland. trivial rebase onto master: -# http://cgit.freedesktop.org/~ajax/xserver/log/?h=wl-rebase-for-f20 +# http://cgit.freedesktop.org/~ajax/xserver/log/?h=wayland-f21 Patch0101: 0001-dbe-Cleanup-in-CloseScreen-hook-not-ext-CloseDown.patch Patch0102: 0002-xkb-Add-struct-XkbCompContext.patch Patch0103: 0003-xkb-Split-out-code-to-start-and-finish-xkbcomp.patch Patch0104: 0004-xkb-Add-XkbCompileKeymapFromString.patch Patch0105: 0005-os-Add-a-function-to-create-a-client-for-an-fd.patch Patch0106: 0006-Export-xf86NewInputDevice-and-xf86AllocateInput.patch -Patch0107: 0007-Export-CompositeRedirectSubwindows-and-CompositeUnRe.patch -Patch0108: 0008-Add-redirect-window-for-input-device-feature.patch -Patch0109: 0009-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch -Patch0110: 0010-Add-xwayland-module.patch -Patch0111: 0011-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch -Patch0112: 0012-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch -Patch0113: 0013-xwayland-handle-global-object-destruction.patch -Patch0114: 0014-xwayland-add-support-for-multiple-outputs.patch -Patch0115: 0015-xwayland-Probe-outputs-on-preinit.patch -Patch0116: 0016-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch -Patch0117: 0017-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch -Patch0118: 0018-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch -Patch0119: 0019-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch -Patch0120: 0020-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch -Patch0121: 0021-xwayland-Remove-Xdnd-selection-watching-code.patch -Patch0122: 0022-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch -Patch0123: 0023-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch -Patch0124: 0024-Fix-fallback-loading-of-the-wayland-driver.patch -Patch0125: 0025-xwayland-Don-t-include-xorg-server.h.patch -Patch0126: 0026-os-Don-t-include-xorg-server.h.patch -Patch0127: 0027-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch -Patch0128: 0028-xwayland-Remove-unused-variables.patch -Patch0129: 0029-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch -Patch0130: 0030-XWayland-Don-t-commit-empty-surfaces.patch -Patch0131: 0031-xwayland-Also-look-for-wlglamor.patch -Patch0132: 0032-xwayland-Add-wlglamor-the-right-way.patch -Patch0133: 0033-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch -Patch0134: 0034-Revert-Export-CompositeRedirectSubwindows-and-Compos.patch -Patch0135: 0035-xwayland-Fix-hidden-cursor.patch -Patch0136: 0036-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch -Patch0137: 0037-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch -Patch0138: 0038-xwayland-Handle-keymap-changes.patch +Patch0107: 0007-Add-redirect-window-for-input-device-feature.patch +Patch0108: 0008-dri2-Introduce-a-third-version-of-the-AuthMagic-func.patch +Patch0109: 0009-Add-xwayland-module.patch +Patch0110: 0010-xwayland-Add-a-HW_WAYLAND-flag-to-let-drivers-explic.patch +Patch0111: 0011-xwayland-shm-don-t-create-alpha-buffers-if-the-windo.patch +Patch0112: 0012-xwayland-handle-global-object-destruction.patch +Patch0113: 0013-xwayland-add-support-for-multiple-outputs.patch +Patch0114: 0014-xwayland-Probe-outputs-on-preinit.patch +Patch0115: 0015-XFree86-Load-wlshm-driver-as-fallback-for-Wayland.patch +Patch0116: 0016-XWayland-Don-t-send-out-of-bounds-damage-co-ordinate.patch +Patch0117: 0017-xwayland-Introduce-an-auto-mode-for-enable-wayland.patch +Patch0118: 0018-XWayland-Don-t-hardcode-DRM-libs-and-lwayland-client.patch +Patch0119: 0019-XWayland-Support-16bpp-X-surfaces-in-DRM-SHM.patch +Patch0120: 0020-xwayland-Remove-Xdnd-selection-watching-code.patch +Patch0121: 0021-xf86Init-trim-out-non-wayland-capable-servers-from-d.patch +Patch0122: 0022-Add-XORG_WAYLAND-symbol-to-xorg-config.h.in.patch +Patch0123: 0023-Fix-fallback-loading-of-the-wayland-driver.patch +Patch0124: 0024-xwayland-Don-t-include-xorg-server.h.patch +Patch0125: 0025-os-Don-t-include-xorg-server.h.patch +Patch0126: 0026-os-Also-define-ListenOnOpenFD-and-AddClientOnOpenFD-.patch +Patch0127: 0027-xwayland-Remove-unused-variables.patch +Patch0128: 0028-xwayland-Use-a-per-screen-private-key-for-cursor-pri.patch +Patch0129: 0029-XWayland-Don-t-commit-empty-surfaces.patch +Patch0130: 0030-xwayland-Also-look-for-wlglamor.patch +Patch0131: 0031-xwayland-Add-wlglamor-the-right-way.patch +Patch0132: 0032-xwayland-Don-t-redirect-windows-leave-it-to-the-wm.patch +Patch0133: 0033-xwayland-Fix-hidden-cursor.patch +Patch0134: 0034-xkb-Repurpose-XkbCopyDeviceKeymap-to-apply-a-given-k.patch +Patch0135: 0035-xkb-Factor-out-a-function-to-copy-a-keymap-s-control.patch +Patch0136: 0036-xwayland-Handle-keymap-changes.patch +Patch0137: 0037-xwayland-Fix-re-wrapping-of-RealizeWindow.patch +Patch0138: 0038-xwayland-Adapt-to-1.15-Damage-API.patch # restore ABI Patch0200: 0001-mustard-Restore-XkbCopyDeviceKeymap.patch @@ -136,10 +131,6 @@ Patch5002: xserver-1.4.99-ssh-isnt-local.patch Patch6030: xserver-1.6.99-right-of.patch #Patch6044: xserver-1.6.99-hush-prerelease-warning.patch -# Fix libselinux-triggered build error -# RedHat/Fedora-specific patch -Patch7013: xserver-1.12-Xext-fix-selinux-build-failure.patch - Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch # do not upstream - do not even use here yet @@ -153,17 +144,6 @@ Patch8041: 0001-pixmap-fix-reverse-optimus-support-with-multiple-hea.patch Patch9001: 0001-xfree86-Only-look-at-wayland-capable-drivers-when-wa.patch Patch9002: 0001-xwayland-Just-send-the-bounding-box-of-the-damage.patch -# also submitted -Patch9011: 0001-xinerama-Export-the-screen-region.patch -Patch9012: 0002-dix-Add-PostDispatchCallback.patch -Patch9013: 0003-damageext-Xineramify-v6.patch -Patch9014: 0004-composite-Fix-COW-creation-for-Xinerama.patch -Patch9015: 0005-fixes-Fix-PanoramiXSetPictureClipRegion-for-window-p.patch -Patch9016: 0006-fixes-Fix-PanoramiXSetWindowShapeRegion.patch - -# also also submitted, 1030454, 1030695 -Patch9050: 0001-xfree86-Prefer-fbdev-to-vesa.patch - %global moduledir %{_libdir}/xorg/modules %global drimoduledir %{_libdir}/dri %global sdkdir %{_includedir}/xorg @@ -180,7 +160,7 @@ Patch9050: 0001-xfree86-Prefer-fbdev-to-vesa.patch %global enable_xorg --disable-xorg %endif -%ifnarch %{ix86} x86_64 %{arm} +%ifnarch %{ix86} x86_64 %global no_int10 --disable-vbe --disable-int10-module %endif @@ -192,10 +172,10 @@ BuildRequires: git-core BuildRequires: automake autoconf libtool pkgconfig BuildRequires: xorg-x11-util-macros >= 1.17 -BuildRequires: xorg-x11-proto-devel >= 7.7-6 +BuildRequires: xorg-x11-proto-devel >= 7.7-8 BuildRequires: xorg-x11-font-utils >= 7.2-11 -BuildRequires: xorg-x11-xtrans-devel >= 1.2.7 +BuildRequires: xorg-x11-xtrans-devel >= 1.3.2 BuildRequires: libXfont-devel libXau-devel libxkbfile-devel libXres-devel BuildRequires: libfontenc-devel libXtst-devel libXdmcp-devel BuildRequires: libX11-devel libXext-devel @@ -207,6 +187,7 @@ BuildRequires: libXi-devel libXpm-devel libXaw-devel libXfixes-devel %if !0%{?rhel} BuildRequires: wayland-devel pkgconfig(wayland-client) +BuildRequires: pkgconfig(xshmfence) >= 1.1 %endif BuildRequires: libXv-devel BuildRequires: pixman-devel >= 0.30.0 @@ -226,8 +207,6 @@ BuildRequires: libunwind-devel BuildRequires: pkgconfig(xcb-aux) pkgconfig(xcb-image) pkgconfig(xcb-icccm) BuildRequires: pkgconfig(xcb-keysyms) -# blocking on https://bugzilla.redhat.com/show_bug.cgi?id=1027380 -#BuildRequires: pkgconfig(xshmfence) # All server subpackages have a virtual provide for the name of the server # they deliver. The Xorg one is versioned, the others are intentionally @@ -298,7 +277,7 @@ Requires: xorg-x11-server-common >= %{version}-%{release} Provides: Xnest %description Xnest -Xnest is an X server, which has been implemented as an ordinary +Xnest is an X server which has been implemented as an ordinary X application. It runs in a window just like other X applications, but it is an X server itself in which you can run other software. It is a very useful tool for developers who wish to test their @@ -345,7 +324,7 @@ Requires: xorg-x11-server-common >= %{version}-%{release} Provides: Xephyr %description Xephyr -Xephyr is an X server, which has been implemented as an ordinary +Xephyr is an X server which has been implemented as an ordinary X application. It runs in a window just like other X applications, but it is an X server itself in which you can run other software. It is a very useful tool for developers who wish to test their @@ -434,7 +413,7 @@ test `getminor extension` == %{extension_minor} %global default_font_path "catalogue:/etc/X11/fontpath.d,built-ins" %if %{with_hw_servers} -%global dri_flags --with-dri-driver-path=%{drimoduledir} --enable-dri2 +%global dri_flags --with-dri-driver-path=%{drimoduledir} --enable-dri2 --enable-dri3 %else %global dri_flags --disable-dri %endif @@ -452,6 +431,7 @@ sed -i 's/WAYLAND_SCANNER_RULES.*//g' configure.ac # --with-pie ? autoreconf -f -v --install || exit 1 # export CFLAGS="${RPM_OPT_FLAGS}" +# XXX without dtrace %configure --enable-maintainer-mode %{xservers} \ --disable-static \ @@ -462,9 +442,9 @@ autoreconf -f -v --install || exit 1 --with-builderstring="Build ID: %{name} %{version}-%{release}" \ --with-os-name="$(hostname -s) $(uname -r)" \ --with-xkb-output=%{_localstatedir}/lib/xkb \ - --with-dtrace \ + --without-dtrace \ --disable-linux-acpi --disable-linux-apm \ - --enable-xselinux --enable-record \ + --enable-xselinux --enable-record --enable-present \ --enable-config-udev \ --disable-unit-tests \ %{?wayland} \ @@ -538,7 +518,7 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/xorg-server %endif # wtf -%ifnarch %{ix86} x86_64 %{arm} +%ifnarch %{ix86} x86_64 rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so %endif } @@ -586,7 +566,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xorg/modules/libshadowfb.so %{_libdir}/xorg/modules/libvgahw.so %{_libdir}/xorg/modules/libwfb.so -%ifarch %{ix86} x86_64 %{arm} +%ifarch %{ix86} x86_64 %{_libdir}/xorg/modules/libint10.so %{_libdir}/xorg/modules/libvbe.so %endif @@ -643,9 +623,9 @@ rm -rf $RPM_BUILD_ROOT %if %{with_hw_servers} %files devel -%defattr(-,root,root,-) %doc COPYING -%{_docdir}/xorg-server +%defattr(-,root,root,-) +#{_docdir}/xorg-server %{_bindir}/xserver-sdk-abi-requires %{_libdir}/pkgconfig/xorg-server.pc %dir %{_includedir}/xorg @@ -659,6 +639,10 @@ rm -rf $RPM_BUILD_ROOT %{xserver_source_dir} %changelog +* Tue Dec 17 2013 Adam Jackson 1.14.99.904-1 +- 1.15RC4 +- Re-disable int10 on arm + * Mon Dec 2 2013 Peter Robinson 1.14.99.902-2 - Add aarch64 to platforms that have libunwind diff --git a/xserver-1.12-Xext-fix-selinux-build-failure.patch b/xserver-1.12-Xext-fix-selinux-build-failure.patch deleted file mode 100644 index a48a013..0000000 --- a/xserver-1.12-Xext-fix-selinux-build-failure.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5d16c39108c72b08478b6bd548494d6c675495ee Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 4 Jan 2012 09:31:51 +1000 -Subject: [PATCH 6/7] Xext: fix selinux build failure - -The server builds with -Werror=missing-braces, causing - -xselinux_hooks.c: In function 'SELinuxFlaskInit': -xselinux_hooks.c:851:12: error: missing braces around initializer -[-Werror=missing-braces] -xselinux_hooks.c:851:12: error: (near initialization for -'avc_option.') [-Werror=missing-braces] -cc1: some warnings being treated as errors - -Source is libselinux' libselinux-rhat.patch which changes struct selinux_opt -from { int, char * } to { int, union { char*, char** }}. - -Signed-off-by: Peter Hutterer ---- - Xext/xselinux_hooks.c | 2 +- - Xext/xselinux_label.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c -index e9c7e93..0302f2f 100644 ---- a/Xext/xselinux_hooks.c -+++ b/Xext/xselinux_hooks.c -@@ -851,7 +851,7 @@ SELinuxFlaskReset(void) - void - SELinuxFlaskInit(void) - { -- struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, (char *) 0 }; -+ struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, { (char *) 0 } }; - security_context_t ctx; - int ret = TRUE; - -diff --git a/Xext/xselinux_label.c b/Xext/xselinux_label.c -index 2c33d1c..81f2f36 100644 ---- a/Xext/xselinux_label.c -+++ b/Xext/xselinux_label.c -@@ -361,7 +361,7 @@ SELinuxDefaultClientLabel(void) - void - SELinuxLabelInit(void) - { -- struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, (char *) 1 }; -+ struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, { (char *)1 } }; - - label_hnd = selabel_open(SELABEL_CTX_X, &selabel_option, 1); - if (!label_hnd) --- -1.7.10.1 -