From 5160bab94ce1c786057215d7d8c5adf1dbb7953c Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Jul 08 2019 07:24:16 +0000 Subject: Fix regression causing screen tearing with xserver 1.20.5 Resolves: rhbz#1726419 --- diff --git a/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch b/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch new file mode 100644 index 0000000..29ae6f5 --- /dev/null +++ b/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch @@ -0,0 +1,49 @@ +From 8d2c776b2e14b3edcb27ced96cda7bede82c39cc Mon Sep 17 00:00:00 2001 +From: Olivier Fourdan +Date: Thu, 4 Jul 2019 08:42:15 +0200 +Subject: [PATCH xserver] Revert "present/scmd: Check that the flip and screen + pixmap pitches match" + +This reverts commit ef91da2757050652c724f6e674e8b1acf5d0cb31. +Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/839 +--- + present/present_scmd.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/present/present_scmd.c b/present/present_scmd.c +index 7c2f80997..8417d0925 100644 +--- a/present/present_scmd.c ++++ b/present/present_scmd.c +@@ -78,7 +78,7 @@ present_check_flip(RRCrtcPtr crtc, + PresentFlipReason *reason) + { + ScreenPtr screen = window->drawable.pScreen; +- PixmapPtr screen_pixmap, window_pixmap; ++ PixmapPtr window_pixmap; + WindowPtr root = screen->root; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + +@@ -99,9 +99,8 @@ present_check_flip(RRCrtcPtr crtc, + return FALSE; + + /* Make sure the window hasn't been redirected with Composite */ +- screen_pixmap = screen->GetScreenPixmap(screen); + window_pixmap = screen->GetWindowPixmap(window); +- if (window_pixmap != screen_pixmap && ++ if (window_pixmap != screen->GetScreenPixmap(screen) && + window_pixmap != screen_priv->flip_pixmap && + window_pixmap != present_flip_pending_pixmap(screen)) + return FALSE; +@@ -127,8 +126,7 @@ present_check_flip(RRCrtcPtr crtc, + window->drawable.x != pixmap->screen_x || window->drawable.y != pixmap->screen_y || + #endif + window->drawable.width != pixmap->drawable.width || +- window->drawable.height != pixmap->drawable.height || +- pixmap->devKind != screen_pixmap->devKind) { ++ window->drawable.height != pixmap->drawable.height) { + return FALSE; + } + +-- +2.21.0 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 2784b14..c835096 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -46,7 +46,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.20.5 -Release: 3%{?gitdate:.%{gitdate}}%{?dist} +Release: 4%{?gitdate:.%{gitdate}}%{?dist} URL: http://www.x.org License: MIT @@ -114,6 +114,10 @@ Patch27: 0001-xwayland-Check-status-in-GBM-pixmap-creation.patch Patch28: 0001-glamor-Make-pixmap-exportable-from-gbm_bo_from_pixma.patch Patch29: 0001-xwayland-Reset-scheduled-frames-after-hiding-tablet-.patch +# https://gitlab.freedesktop.org/xorg/xserver/issues/839 +# https://bugzilla.redhat.com/1726419 +Patch30: 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch + BuildRequires: systemtap-sdt-devel BuildRequires: git BuildRequires: automake autoconf libtool pkgconfig @@ -538,6 +542,10 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Mon Jul 8 2019 Olivier Fourdan 1.20.5-4 +- Fix regression causing screen tearing with upstream xserver 1.20.5 + (rhbz#1726419) + * Fri Jun 28 2019 Olivier Fourdan 1.20.5-3 - Remove atomic downstream patches causing regressions (#1714981, #1723715) - Xwayland crashes (#1708119, #1691745)