forked from pool/xorg-x11-server
Accepting request 909450 from X11:XOrg
- Update to version 1.20.13 * bugfix release - supersedes U_present-get_crtc-should-not-return-crtc-when-its-scr.patch, U_modesetting-unflip-not-possible-when-glamor-is-not-s.patch OBS-URL: https://build.opensuse.org/request/show/909450 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=396
This commit is contained in:
commit
0319797213
@ -1,24 +0,0 @@
|
||||
From 3793e12407b6b1511c8655a2665ec5ce41bc820d Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Dirsch <sndirsch@suse.de>
|
||||
Date: Thu, 22 Jul 2021 14:31:35 +0200
|
||||
Subject: [PATCH] modesetting: unflip not possible when glamor is not set
|
||||
|
||||
This is fixing crashes of xfce when running under qemu
|
||||
---
|
||||
hw/xfree86/drivers/modesetting/present.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
Index: xorg-server-1.20.12/hw/xfree86/drivers/modesetting/present.c
|
||||
===================================================================
|
||||
--- xorg-server-1.20.12.orig/hw/xfree86/drivers/modesetting/present.c
|
||||
+++ xorg-server-1.20.12/hw/xfree86/drivers/modesetting/present.c
|
||||
@@ -257,6 +257,9 @@ ms_present_check_unflip(RRCrtcPtr crtc,
|
||||
pixmap->devKind != drmmode_bo_get_pitch(&ms->drmmode.front_bo))
|
||||
return FALSE;
|
||||
|
||||
+ if (!ms->drmmode.glamor)
|
||||
+ return FALSE;
|
||||
+
|
||||
#ifdef GBM_BO_WITH_MODIFIERS
|
||||
/* Check if buffer format/modifier is supported by all active CRTCs */
|
||||
gbm = glamor_gbm_bo_from_pixmap(screen, pixmap);
|
@ -1,96 +0,0 @@
|
||||
From 857f4de8a8fc14a0bce566baf07b0eedc1b6b5b5 Mon Sep 17 00:00:00 2001
|
||||
From: Lukasz Spintzyk <lukasz.spintzyk@synaptics.com>
|
||||
Date: Mon, 19 Jul 2021 08:17:09 +0200
|
||||
Subject: [PATCH xserver] present: get_crtc should not return crtc when its
|
||||
screen does not have present extension
|
||||
|
||||
Since crtc can belong to secondary output that may not have present
|
||||
extension enabled we should fallback to first enabled crtc or fake crtc.
|
||||
|
||||
Fix for issue xorg/xserver#1195
|
||||
---
|
||||
present/present.c | 11 ++++++++++-
|
||||
randr/randr.c | 27 +++++++++++++++++++++++++++
|
||||
randr/randrstr.h | 2 ++
|
||||
3 files changed, 39 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/present/present.c b/present/present.c
|
||||
index 3eddb7434..66411212b 100644
|
||||
--- a/present/present.c
|
||||
+++ b/present/present.c
|
||||
@@ -59,11 +59,20 @@ present_get_crtc(WindowPtr window)
|
||||
{
|
||||
ScreenPtr screen = window->drawable.pScreen;
|
||||
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
|
||||
+ RRCrtcPtr crtc = NULL;
|
||||
+ RROutputPtr firstOutput = NULL;
|
||||
|
||||
if (!screen_priv)
|
||||
return NULL;
|
||||
|
||||
- return screen_priv->get_crtc(screen_priv, window);
|
||||
+ crtc = screen_priv->get_crtc(screen_priv, window);
|
||||
+ if (crtc && !present_screen_priv(crtc->pScreen)) {
|
||||
+ crtc = RRFirstEnabledCrtc(screen);
|
||||
+ }
|
||||
+ if (crtc && !present_screen_priv(crtc->pScreen)) {
|
||||
+ crtc = NULL;
|
||||
+ }
|
||||
+ return crtc;
|
||||
}
|
||||
|
||||
/*
|
||||
diff --git a/randr/randr.c b/randr/randr.c
|
||||
index 5db8b5ced..afc867ea9 100644
|
||||
--- a/randr/randr.c
|
||||
+++ b/randr/randr.c
|
||||
@@ -693,6 +693,33 @@ RRFirstOutput(ScreenPtr pScreen)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+RRCrtcPtr
|
||||
+RRFirstEnabledCrtc(ScreenPtr pScreen)
|
||||
+{
|
||||
+ rrScrPriv(pScreen);
|
||||
+ RROutputPtr output;
|
||||
+ int i, j;
|
||||
+
|
||||
+ if (!pScrPriv)
|
||||
+ return NULL;
|
||||
+
|
||||
+ if (pScrPriv->primaryOutput && pScrPriv->primaryOutput->crtc &&
|
||||
+ pScrPriv->primaryOutput->pScreen == pScreen)
|
||||
+ return pScrPriv->primaryOutput->crtc;
|
||||
+
|
||||
+ for (i = 0; i < pScrPriv->numCrtcs; i++) {
|
||||
+ RRCrtcPtr crtc = pScrPriv->crtcs[i];
|
||||
+
|
||||
+ for (j = 0; j < pScrPriv->numOutputs; j++) {
|
||||
+ output = pScrPriv->outputs[j];
|
||||
+ if (output->crtc == crtc && crtc->mode)
|
||||
+ return crtc;
|
||||
+ }
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+
|
||||
CARD16
|
||||
RRVerticalRefresh(xRRModeInfo * mode)
|
||||
{
|
||||
diff --git a/randr/randrstr.h b/randr/randrstr.h
|
||||
index 0b95d6e25..28ba4ea91 100644
|
||||
--- a/randr/randrstr.h
|
||||
+++ b/randr/randrstr.h
|
||||
@@ -593,6 +593,8 @@ extern _X_EXPORT Bool RRScreenInit(ScreenPtr pScreen);
|
||||
|
||||
extern _X_EXPORT RROutputPtr RRFirstOutput(ScreenPtr pScreen);
|
||||
|
||||
+extern _X_EXPORT RRCrtcPtr RRFirstEnabledCrtc(ScreenPtr pScreen);
|
||||
+
|
||||
extern _X_EXPORT Bool RROutputSetNonDesktop(RROutputPtr output, Bool non_desktop);
|
||||
|
||||
extern _X_EXPORT CARD16
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:336dc093431d81ecc03fa36af771f1181334f2746b7de7796f3cc6a8fa9e8cac
|
||||
size 5143456
|
3
xorg-server-1.20.13.tar.xz
Normal file
3
xorg-server-1.20.13.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40aa4e96a56a81a301f15a9b10e06a22700f12b42d9e0e453c7f11d354386300
|
||||
size 5122260
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 30 15:07:59 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
|
||||
|
||||
- Update to version 1.20.13
|
||||
* bugfix release
|
||||
- supersedes U_present-get_crtc-should-not-return-crtc-when-its-scr.patch,
|
||||
U_modesetting-unflip-not-possible-when-glamor-is-not-s.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 22 12:33:48 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
||||
%endif
|
||||
|
||||
Name: xorg-x11-server
|
||||
Version: 1.20.12
|
||||
Version: 1.20.13
|
||||
Release: 0
|
||||
URL: http://xorg.freedesktop.org/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -252,8 +252,6 @@ Patch1801: U_Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch
|
||||
Patch1900: u_no-lto-for-tests.patch
|
||||
|
||||
Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
|
||||
Patch1911: U_present-get_crtc-should-not-return-crtc-when-its-scr.patch
|
||||
Patch1912: U_modesetting-unflip-not-possible-when-glamor-is-not-s.patch
|
||||
|
||||
%description
|
||||
This package contains the X.Org Server.
|
||||
@ -405,8 +403,6 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
||||
%patch1801 -p1
|
||||
%patch1900 -p1
|
||||
%patch1910 -p1
|
||||
%patch1911 -p1
|
||||
%patch1912 -p1
|
||||
|
||||
%build
|
||||
%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
|
||||
|
Loading…
Reference in New Issue
Block a user