rebase to upstream 1.13.0 release tarball
This commit is contained in:
parent
57b5b3a9fa
commit
6441943ab3
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@ xorg-server-1.9.1.tar.bz2
|
||||
/xorg-server-20120726.tar.xz
|
||||
/xorg-server-20120808.tar.xz
|
||||
/xorg-server-20120822.tar.xz
|
||||
/xorg-server-1.13.0.tar.bz2
|
||||
|
@ -1,51 +0,0 @@
|
||||
From 2103079b3e25f65d9aec7c56519d974e7ee6faca Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Mon, 27 Aug 2012 15:15:19 +1000
|
||||
Subject: [PATCH 1/3] config/udev: add wrapper around check if server is not
|
||||
seat 0
|
||||
|
||||
this is a simple clean-up that is useful to stop further propogation
|
||||
of this construct.
|
||||
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
config/udev.c | 4 ++--
|
||||
include/hotplug.h | 2 ++
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/config/udev.c b/config/udev.c
|
||||
index 03aca28..adac273 100644
|
||||
--- a/config/udev.c
|
||||
+++ b/config/udev.c
|
||||
@@ -339,7 +339,7 @@ config_udev_pre_init(void)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UDEV_MONITOR_FILTER_ADD_MATCH_TAG
|
||||
- if (SeatId && strcmp(SeatId, "seat0"))
|
||||
+ if (ServerIsNotSeat0)
|
||||
udev_monitor_filter_add_match_tag(udev_monitor, SeatId);
|
||||
#endif
|
||||
if (udev_monitor_enable_receiving(udev_monitor)) {
|
||||
@@ -368,7 +368,7 @@ config_udev_init(void)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UDEV_ENUMERATE_ADD_MATCH_TAG
|
||||
- if (SeatId && strcmp(SeatId, "seat0"))
|
||||
+ if (ServerIsNotSeat0)
|
||||
udev_enumerate_add_match_tag(enumerate, SeatId);
|
||||
#endif
|
||||
|
||||
diff --git a/include/hotplug.h b/include/hotplug.h
|
||||
index 96b078d..ceec49c 100644
|
||||
--- a/include/hotplug.h
|
||||
+++ b/include/hotplug.h
|
||||
@@ -69,4 +69,6 @@ void config_odev_probe(config_odev_probe_proc_ptr probe_callback);
|
||||
void NewGPUDeviceRequest(struct OdevAttributes *attribs);
|
||||
void DeleteGPUDeviceRequest(struct OdevAttributes *attribs);
|
||||
#endif
|
||||
+
|
||||
+#define ServerIsNotSeat0 (SeatId && strcmp(SeatId, "seat0"))
|
||||
#endif /* HOTPLUG_H */
|
||||
--
|
||||
1.7.10.2
|
||||
|
@ -1,51 +0,0 @@
|
||||
From fa9cd6caf572d6550f7acf679b6c727676241bb5 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Mon, 3 Sep 2012 15:09:36 +1000
|
||||
Subject: [PATCH] xf86: call enter/leave VT for gpu screens as well
|
||||
|
||||
Otherwise we can't do fast user switch properly for multiple GPUs.
|
||||
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
hw/xfree86/common/xf86Events.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
|
||||
index 47429ec..3ad34b5 100644
|
||||
--- a/hw/xfree86/common/xf86Events.c
|
||||
+++ b/hw/xfree86/common/xf86Events.c
|
||||
@@ -460,6 +460,8 @@ xf86VTSwitch(void)
|
||||
OsBlockSIGIO();
|
||||
for (i = 0; i < xf86NumScreens; i++)
|
||||
xf86Screens[i]->LeaveVT(xf86Screens[i]);
|
||||
+ for (i = 0; i < xf86NumGPUScreens; i++)
|
||||
+ xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]);
|
||||
|
||||
xf86AccessLeave(); /* We need this here, otherwise */
|
||||
|
||||
@@ -474,6 +476,10 @@ xf86VTSwitch(void)
|
||||
if (!xf86Screens[i]->EnterVT(xf86Screens[i]))
|
||||
FatalError("EnterVT failed for screen %d\n", i);
|
||||
}
|
||||
+ for (i = 0; i < xf86NumGPUScreens; i++) {
|
||||
+ if (!xf86GPUScreens[i]->EnterVT(xf86GPUScreens[i]))
|
||||
+ FatalError("EnterVT failed for gpu screen %d\n", i);
|
||||
+ }
|
||||
if (!(dispatchException & DE_TERMINATE)) {
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->EnableDisableFBAccess)
|
||||
@@ -530,6 +536,11 @@ xf86VTSwitch(void)
|
||||
if (!xf86Screens[i]->EnterVT(xf86Screens[i]))
|
||||
FatalError("EnterVT failed for screen %d\n", i);
|
||||
}
|
||||
+ for (i = 0; i < xf86NumGPUScreens; i++) {
|
||||
+ xf86GPUScreens[i]->vtSema = TRUE;
|
||||
+ if (!xf86GPUScreens[i]->EnterVT(xf86GPUScreens[i]))
|
||||
+ FatalError("EnterVT failed for gpu screen %d\n", i);
|
||||
+ }
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->EnableDisableFBAccess)
|
||||
(*xf86Screens[i]->EnableDisableFBAccess) (xf86Screens[i], TRUE);
|
||||
--
|
||||
1.7.10.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 3a95c993a8d310122d0a3e91a0fe01c318bd7ecf Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Fri, 24 Aug 2012 12:56:18 +1000
|
||||
Subject: [PATCH 1/2] xf86/crtc: don't free config->name
|
||||
|
||||
This is set by pre_init not screen init, so if we free it here
|
||||
and then recycle the server, we lose all the providers.
|
||||
|
||||
I think we need to wrap FreeScreen here to do this properly,
|
||||
will investigate for 1.14 most likely, safer to just leak this
|
||||
on server exit for now.
|
||||
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
hw/xfree86/modes/xf86Crtc.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
|
||||
index 153c795..a1d7dca 100644
|
||||
--- a/hw/xfree86/modes/xf86Crtc.c
|
||||
+++ b/hw/xfree86/modes/xf86Crtc.c
|
||||
@@ -728,8 +728,6 @@ xf86CrtcCloseScreen(ScreenPtr screen)
|
||||
|
||||
xf86RandR12CloseScreen(screen);
|
||||
|
||||
- free(config->name);
|
||||
-
|
||||
screen->CloseScreen(screen);
|
||||
|
||||
for (o = 0; o < config->num_output; o++) {
|
||||
--
|
||||
1.7.11.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 32c9d01fe0168366b7c475ff3c9a574692917856 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Mon, 27 Aug 2012 15:17:21 +1000
|
||||
Subject: [PATCH 2/3] config/udev: respect seat for hotplugged video devices.
|
||||
|
||||
This respects the seat tag for hotplugged video devices at X start.
|
||||
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
config/udev.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/config/udev.c b/config/udev.c
|
||||
index adac273..89b6e57 100644
|
||||
--- a/config/udev.c
|
||||
+++ b/config/udev.c
|
||||
@@ -454,6 +454,10 @@ config_udev_odev_probe(config_odev_probe_proc_ptr probe_callback)
|
||||
|
||||
udev_enumerate_add_match_subsystem(enumerate, "drm");
|
||||
udev_enumerate_add_match_sysname(enumerate, "card[0-9]*");
|
||||
+#ifdef HAVE_UDEV_ENUMERATE_ADD_MATCH_TAG
|
||||
+ if (ServerIsNotSeat0)
|
||||
+ udev_enumerate_add_match_tag(enumerate, SeatId);
|
||||
+#endif
|
||||
udev_enumerate_scan_devices(enumerate);
|
||||
devices = udev_enumerate_get_list_entry(enumerate);
|
||||
udev_list_entry_foreach(device, devices) {
|
||||
--
|
||||
1.7.10.2
|
||||
|
@ -1,34 +0,0 @@
|
||||
From a8cb70389bdcd82ed952449de307ecb2a633ebe7 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Fri, 24 Aug 2012 13:23:01 +1000
|
||||
Subject: [PATCH 2/2] dix: free default colormap before screen deletion
|
||||
|
||||
If we don't free this here, it gets freed later in the resource
|
||||
cleanups, however it then looks up up pmap->pScreen, which we
|
||||
freed already in this function. So free the default colormap
|
||||
when we should.
|
||||
|
||||
This fixes a bug after a couple of hotplug cycles when you try
|
||||
to exit the X server and it crashes.
|
||||
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
dix/dispatch.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dix/dispatch.c b/dix/dispatch.c
|
||||
index 3c6a591..e002574 100644
|
||||
--- a/dix/dispatch.c
|
||||
+++ b/dix/dispatch.c
|
||||
@@ -3904,6 +3904,8 @@ RemoveGPUScreen(ScreenPtr pScreen)
|
||||
}
|
||||
screenInfo.numGPUScreens--;
|
||||
|
||||
+ if (pScreen->defColormap)
|
||||
+ FreeResource(pScreen->defColormap, RT_COLORMAP);
|
||||
free(pScreen);
|
||||
|
||||
}
|
||||
--
|
||||
1.7.11.2
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
ff68cba6b6e5aba97a0a1b1e196dff47 xorg-server-20120822.tar.xz
|
||||
bde3d178b756597d2ec2a19ef60d2e1f xorg-server-1.13.0.tar.bz2
|
||||
|
@ -9,7 +9,7 @@
|
||||
# check out the master branch, pull, cherry-pick, and push. FIXME describe
|
||||
# rebasing, add convenience 'make' targets maybe.
|
||||
|
||||
%global gitdate 20120822
|
||||
#global gitdate 20120822
|
||||
%global stable_abi 1
|
||||
|
||||
%if !0%{?gitdate} || %{stable_abi}
|
||||
@ -42,8 +42,8 @@
|
||||
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.12.99.905
|
||||
Release: 5%{?gitdate:.%{gitdate}}%{dist}
|
||||
Version: 1.13.0
|
||||
Release: 1%{?gitdate:.%{gitdate}}%{dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
Group: User Interface/X
|
||||
@ -103,18 +103,9 @@ Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch
|
||||
# do not upstream - do not even use here yet
|
||||
Patch7027: xserver-autobind-hotplug.patch
|
||||
|
||||
# backport fixes from list
|
||||
Patch7030: 0001-xf86-crtc-don-t-free-config-name.patch
|
||||
Patch7031: 0002-dix-free-default-colormap-before-screen-deletion.patch
|
||||
|
||||
# backport multi-seat fixes from list
|
||||
Patch7040: 0001-config-udev-add-wrapper-around-check-if-server-is-no.patch
|
||||
Patch7041: 0002-config-udev-respect-seat-for-hotplugged-video-device.patch
|
||||
Patch7042: 0003-xf86-fix-multi-seat-video-device-support.patch
|
||||
|
||||
# backport vt switch fix from list
|
||||
Patch7050: 0001-xf86-call-enter-leave-VT-for-gpu-screens-as-well.patch
|
||||
|
||||
# backport dri2 drawable fix
|
||||
Patch7051: 0001-dri2-invalidate-drawable-after-sharing-pixmap.patch
|
||||
|
||||
@ -590,6 +581,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{xserver_source_dir}
|
||||
|
||||
%changelog
|
||||
* Fri Sep 07 2012 Dave Airlie <airlied@redhat.com> 1.13.0-1
|
||||
- rebase to upstream 1.13.0 release tarball
|
||||
|
||||
* Fri Sep 07 2012 Dave Airlie <airlied@redhat.com> 1.12.99.905-5
|
||||
- fix prime offload with DRI2 compositors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user