Accepting request 456014 from X11:XOrg
- U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch * fixes random crashes in X in multihead mode if one of the monitors is vertically oriented (bnc #1023845) - N_driver-autoconfig.diff: No longer try to load "amdgpu" DDX by default for all GPUs with ATI vendor ID; this is now handled instead by an "OutputClass" section via kernel driver match, which has been added as config file to xf86-video-amdgpu driver package (bnc#1023385) OBS-URL: https://build.opensuse.org/request/show/456014 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=339
This commit is contained in:
commit
58bb895bdd
@ -8,17 +8,7 @@ Index: hw/xfree86/common/xf86pciBus.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- hw/xfree86/common/xf86pciBus.c.orig
|
--- hw/xfree86/common/xf86pciBus.c.orig
|
||||||
+++ hw/xfree86/common/xf86pciBus.c
|
+++ hw/xfree86/common/xf86pciBus.c
|
||||||
@@ -1107,7 +1107,8 @@ videoPtrToDriverList(struct pci_device *
|
@@ -1185,6 +1185,13 @@ xf86VideoPtrToDriverList(struct pci_devi
|
||||||
driverList[0] = "ast";
|
|
||||||
break;
|
|
||||||
case 0x1002:
|
|
||||||
- driverList[0] = "ati";
|
|
||||||
+ driverList[0] = "amdgpu";
|
|
||||||
+ driverList[1] = "ati";
|
|
||||||
break;
|
|
||||||
case 0x102c:
|
|
||||||
driverList[0] = "chips";
|
|
||||||
@@ -1139,6 +1141,13 @@ videoPtrToDriverList(struct pci_device *
|
|
||||||
driverList[0] = "neomagic";
|
driverList[0] = "neomagic";
|
||||||
break;
|
break;
|
||||||
case 0x10de:
|
case 0x10de:
|
||||||
@ -32,7 +22,7 @@ Index: hw/xfree86/common/xf86pciBus.c
|
|||||||
case 0x12d2:
|
case 0x12d2:
|
||||||
{
|
{
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
@@ -1150,7 +1159,8 @@ videoPtrToDriverList(struct pci_device *
|
@@ -1196,7 +1203,8 @@ xf86VideoPtrToDriverList(struct pci_devi
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x1106:
|
case 0x1106:
|
||||||
|
76
U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch
Normal file
76
U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
From 7198a6d4e74f684cb383b3e0f70dd2bae405e6e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||||
|
Date: Mon, 16 Jan 2017 22:17:36 +0000
|
||||||
|
Subject: [PATCH xserver] xfree86: Take the input lock for xf86RecolorCursor
|
||||||
|
|
||||||
|
xf86RecolorCursor() may be called directly from XRecolorCursor as well
|
||||||
|
as from xf86ScreenSetCursor(). In the latter case, the input lock is
|
||||||
|
already held, but not for the former and so we need to add a wrapper
|
||||||
|
function that acquires the input lock before performing
|
||||||
|
xf86RecolorCursor()
|
||||||
|
|
||||||
|
References: https://bugs.freedesktop.org/show_bug.cgi?id=99358
|
||||||
|
---
|
||||||
|
hw/xfree86/ramdac/xf86HWCurs.c | 24 ++++++++++++++++++------
|
||||||
|
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
|
||||||
|
index 4481320..55d5861 100644
|
||||||
|
--- a/hw/xfree86/ramdac/xf86HWCurs.c
|
||||||
|
+++ b/hw/xfree86/ramdac/xf86HWCurs.c
|
||||||
|
@@ -22,6 +22,9 @@
|
||||||
|
|
||||||
|
#include "servermd.h"
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+xf86RecolorCursor_locked(xf86CursorScreenPtr ScreenPriv, CursorPtr pCurs);
|
||||||
|
+
|
||||||
|
static CARD32
|
||||||
|
xf86ReverseBitOrder(CARD32 v)
|
||||||
|
{
|
||||||
|
@@ -204,7 +207,7 @@ xf86ScreenSetCursor(ScreenPtr pScreen, CursorPtr pCurs, int x, int y)
|
||||||
|
if (!xf86DriverLoadCursorImage (infoPtr, bits))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
- xf86RecolorCursor(pScreen, pCurs, 1);
|
||||||
|
+ xf86RecolorCursor_locked (ScreenPriv, pCurs);
|
||||||
|
|
||||||
|
(*infoPtr->SetCursorPosition) (infoPtr->pScrn, x, y);
|
||||||
|
|
||||||
|
@@ -312,12 +315,9 @@ xf86MoveCursor(ScreenPtr pScreen, int x, int y)
|
||||||
|
input_unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
-xf86RecolorCursor(ScreenPtr pScreen, CursorPtr pCurs, Bool displayed)
|
||||||
|
+static void
|
||||||
|
+xf86RecolorCursor_locked(xf86CursorScreenPtr ScreenPriv, CursorPtr pCurs)
|
||||||
|
{
|
||||||
|
- xf86CursorScreenPtr ScreenPriv =
|
||||||
|
- (xf86CursorScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
|
||||||
|
- xf86CursorScreenKey);
|
||||||
|
xf86CursorInfoPtr infoPtr = ScreenPriv->CursorInfoPtr;
|
||||||
|
|
||||||
|
/* recoloring isn't applicable to ARGB cursors and drivers
|
||||||
|
@@ -357,6 +357,18 @@ xf86RecolorCursor(ScreenPtr pScreen, CursorPtr pCurs, Bool displayed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+void
|
||||||
|
+xf86RecolorCursor(ScreenPtr pScreen, CursorPtr pCurs, Bool displayed)
|
||||||
|
+{
|
||||||
|
+ xf86CursorScreenPtr ScreenPriv =
|
||||||
|
+ (xf86CursorScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
|
||||||
|
+ xf86CursorScreenKey);
|
||||||
|
+
|
||||||
|
+ input_lock();
|
||||||
|
+ xf86RecolorCursor_locked (ScreenPriv, pCurs);
|
||||||
|
+ input_unlock();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* These functions assume that MaxWidth is a multiple of 32 */
|
||||||
|
static unsigned char *
|
||||||
|
RealizeCursorInterleave0(xf86CursorInfoPtr infoPtr, CursorPtr pCurs)
|
||||||
|
--
|
||||||
|
2.10.2
|
||||||
|
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 10 13:01:24 UTC 2017 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch
|
||||||
|
* fixes random crashes in X in multihead mode if one of the
|
||||||
|
monitors is vertically oriented (bnc #1023845)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 3 11:40:11 UTC 2017 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- N_driver-autoconfig.diff:
|
||||||
|
No longer try to load "amdgpu" DDX by default for all GPUs with
|
||||||
|
ATI vendor ID; this is now handled instead by an "OutputClass"
|
||||||
|
section via kernel driver match, which has been added as config
|
||||||
|
file to xf86-video-amdgpu driver package (bnc#1023385)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 26 15:34:57 UTC 2017 - sndirsch@suse.com
|
Thu Jan 26 15:34:57 UTC 2017 - sndirsch@suse.com
|
||||||
|
|
||||||
|
@ -210,6 +210,7 @@ Patch1000: n_xserver-optimus-autoconfig-hack.patch
|
|||||||
Patch1162: b_cache-xkbcomp-output-for-fast-start-up.patch
|
Patch1162: b_cache-xkbcomp-output-for-fast-start-up.patch
|
||||||
Patch1211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
|
Patch1211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
|
||||||
Patch1222: b_sync-fix.patch
|
Patch1222: b_sync-fix.patch
|
||||||
|
Patch1223: U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the X.Org Server.
|
This package contains the X.Org Server.
|
||||||
@ -347,6 +348,8 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
|||||||
### patch222 might not be applicable anymore
|
### patch222 might not be applicable anymore
|
||||||
#%patch1222 -p1
|
#%patch1222 -p1
|
||||||
|
|
||||||
|
%patch1223 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
test -e source-file-list || \
|
test -e source-file-list || \
|
||||||
find -L . -type f \! -name '*.orig' \! -path ./source-file-list > \
|
find -L . -type f \! -name '*.orig' \! -path ./source-file-list > \
|
||||||
|
Loading…
Reference in New Issue
Block a user