debian/changelog | 7 +++++ debian/patches/228_autobind_gpu.patch | 41 +++++++++++++++------------------- 2 files changed, 26 insertions(+), 22 deletions(-)
New commits: commit ea46e96fd0472e6a385ba4e99f82abfa5da2a6f9 Author: Timo Aaltonen <[email protected]> Date: Tue Sep 25 09:49:51 2012 +0300 Update 228_autobind_gpu.patch to not crash when the device has no randr provider. (LP: #1054051) diff --git a/debian/changelog b/debian/changelog index 78583a7..4cf0d6c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.13.0-0ubuntu5) quantal; urgency=low + + * Update 228_autobind_gpu.patch to not crash when the device has no + randr provider. (LP: #1054051) + + -- Timo Aaltonen <[email protected]> Tue, 25 Sep 2012 09:46:44 +0300 + xorg-server (2:1.13.0-0ubuntu4) quantal; urgency=low * Add patches to fix issues with hybrid graphics: diff --git a/debian/patches/228_autobind_gpu.patch b/debian/patches/228_autobind_gpu.patch index 0350a83..7d05f27 100644 --- a/debian/patches/228_autobind_gpu.patch +++ b/debian/patches/228_autobind_gpu.patch @@ -1,22 +1,21 @@ +From 536626891b60039c0f3f9b4cd96156e9fe810f39 Mon Sep 17 00:00:00 2001 From: Dave Airlie <[email protected]> +Date: Fri, 17 Aug 2012 09:49:24 +1000 +Subject: [PATCH] autobind GPUs to the screen, (v2) -This isn't for merging, ideally now that randr exposes providers, the desktop -environments would start to add support for them, so when they appear they -DE would bind/unbind them etc. - -However until that glorious future arrives I've written an autoconfigure -patch. I'm shipping this in F17 while I kick at GNOME. - -Dave. +this is racy and really not what we want for hotplug going forward, +but until DE support is in GNOME its probably for the best. +v2: fix if config or slave config is NULL +DO NOT UPSTREAM. --- hw/xfree86/common/xf86Init.c | 12 ++++++++++++ hw/xfree86/common/xf86platformBus.c | 3 +++ - hw/xfree86/modes/xf86Crtc.c | 25 +++++++++++++++++++++++++ - 3 files changed, 40 insertions(+) + hw/xfree86/modes/xf86Crtc.c | 28 ++++++++++++++++++++++++++++ + 3 files changed, 43 insertions(+) diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index e4a6b86..a79aeb5 100644 +index d231ced..89629c1 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -361,6 +361,16 @@ xf86CreateRootWindow(WindowPtr pWin) @@ -36,7 +35,7 @@ index e4a6b86..a79aeb5 100644 static void InstallSignalHandlers(void) { -@@ -927,6 +937,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -926,6 +936,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) for (i = 0; i < xf86NumGPUScreens; i++) AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); @@ -46,10 +45,10 @@ index e4a6b86..a79aeb5 100644 if (sigio_blocked) OsReleaseSIGIO(); diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index 24b9473..502d3c4 100644 +index a73aea2..3810076 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c -@@ -383,6 +383,8 @@ xf86platformProbeDev(DriverPtr drvp) +@@ -387,6 +387,8 @@ xf86platformProbeDev(DriverPtr drvp) return foundScreen; } @@ -58,7 +57,7 @@ index 24b9473..502d3c4 100644 int xf86platformAddDevice(int index) { -@@ -442,6 +444,7 @@ xf86platformAddDevice(int index) +@@ -446,6 +448,7 @@ xf86platformAddDevice(int index) /* attach unbound to 0 protocol screen */ AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); @@ -67,10 +66,10 @@ index 24b9473..502d3c4 100644 return 0; } diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 1947c5b..153c795 100644 +index 8f05c53..ba84e6b 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c -@@ -3260,3 +3260,28 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn) +@@ -3321,3 +3321,31 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn) crtc->x = crtc->y = 0; } } @@ -82,6 +81,9 @@ index 1947c5b..153c795 100644 + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master); + xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn); + ++ if (!config || !slave_config) ++ return; ++ + master_provider = config->randr_provider; + + if ((master->capabilities & RR_Capability_SinkOffload) && @@ -102,8 +104,3 @@ index 1947c5b..153c795 100644 -- 1.7.10.2 -_______________________________________________ [email protected]: X.Org development -Archives: http://lists.x.org/archives/xorg-devel -Info: http://lists.x.org/mailman/listinfo/xorg-devel - -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

