Fix regression causing screen tearing with xserver 1.20.5

Resolves: rhbz#1726419
This commit is contained in:
Olivier Fourdan 2019-07-08 09:20:44 +02:00
parent 84ed0d0988
commit 5160bab94c
2 changed files with 58 additions and 1 deletions

View File

@ -0,0 +1,49 @@
From 8d2c776b2e14b3edcb27ced96cda7bede82c39cc Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
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

View File

@ -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 <ofourdan@redhat.com> 1.20.5-4
- Fix regression causing screen tearing with upstream xserver 1.20.5
(rhbz#1726419)
* Fri Jun 28 2019 Olivier Fourdan <ofourdan@redhat.com> 1.20.5-3
- Remove atomic downstream patches causing regressions (#1714981, #1723715)
- Xwayland crashes (#1708119, #1691745)