forked from pool/xorg-x11-server
Accepting request 591645 from home:michalsrb:branches:bnc1084411:X11:XOrg
- Update and re-enable n_xserver-optimus-autoconfig-hack.patch. (bnc#1084411) OBS-URL: https://build.opensuse.org/request/show/591645 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=696
This commit is contained in:
parent
89fefb764a
commit
1d90db58c1
@ -8,6 +8,11 @@ but until DE support is in GNOME its probably for the best.
|
|||||||
|
|
||||||
v2: fix if config or slave config is NULL
|
v2: fix if config or slave config is NULL
|
||||||
v3: fix multi useful slaves
|
v3: fix multi useful slaves
|
||||||
|
|
||||||
|
v4: do not unbound GPUs before attaching them
|
||||||
|
compatibility fix for 5c7af02b10
|
||||||
|
-- Michal Srb <msrb@suse.com>
|
||||||
|
|
||||||
DO NOT UPSTREAM.
|
DO NOT UPSTREAM.
|
||||||
|
|
||||||
Signed-off-by: Dave Airlie <airlied@gmail.com>
|
Signed-off-by: Dave Airlie <airlied@gmail.com>
|
||||||
@ -17,11 +22,11 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
|
|||||||
hw/xfree86/modes/xf86Crtc.c | 32 ++++++++++++++++++++++++++++++++
|
hw/xfree86/modes/xf86Crtc.c | 32 ++++++++++++++++++++++++++++++++
|
||||||
3 files changed, 47 insertions(+)
|
3 files changed, 47 insertions(+)
|
||||||
|
|
||||||
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
|
Index: xorg-server-1.19.6/hw/xfree86/common/xf86Init.c
|
||||||
index 1e95061..c58fd2b 100644
|
===================================================================
|
||||||
--- a/hw/xfree86/common/xf86Init.c
|
--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86Init.c
|
||||||
+++ b/hw/xfree86/common/xf86Init.c
|
+++ xorg-server-1.19.6/hw/xfree86/common/xf86Init.c
|
||||||
@@ -361,6 +361,16 @@ xf86CreateRootWindow(WindowPtr pWin)
|
@@ -297,6 +297,16 @@ xf86PrivsElevated(void)
|
||||||
return privsElevated;
|
return privsElevated;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +43,7 @@ index 1e95061..c58fd2b 100644
|
|||||||
static void
|
static void
|
||||||
InstallSignalHandlers(void)
|
InstallSignalHandlers(void)
|
||||||
{
|
{
|
||||||
@@ -931,6 +941,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
|
@@ -872,6 +882,8 @@ InitOutput(ScreenInfo * pScreenInfo, int
|
||||||
for (i = 0; i < xf86NumGPUScreens; i++)
|
for (i = 0; i < xf86NumGPUScreens; i++)
|
||||||
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
|
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
|
||||||
|
|
||||||
@ -47,11 +52,11 @@ index 1e95061..c58fd2b 100644
|
|||||||
xf86VGAarbiterWrapFunctions();
|
xf86VGAarbiterWrapFunctions();
|
||||||
if (sigio_blocked)
|
if (sigio_blocked)
|
||||||
input_unlock();
|
input_unlock();
|
||||||
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
|
Index: xorg-server-1.19.6/hw/xfree86/common/xf86platformBus.c
|
||||||
index 33b2b7d..be3bdd9 100644
|
===================================================================
|
||||||
--- a/hw/xfree86/common/xf86platformBus.c
|
--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86platformBus.c
|
||||||
+++ b/hw/xfree86/common/xf86platformBus.c
|
+++ xorg-server-1.19.6/hw/xfree86/common/xf86platformBus.c
|
||||||
@@ -393,6 +393,8 @@ xf86platformProbeDev(DriverPtr drvp)
|
@@ -489,6 +489,8 @@ xf86platformProbeDev(DriverPtr drvp)
|
||||||
return foundScreen;
|
return foundScreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,7 +65,7 @@ index 33b2b7d..be3bdd9 100644
|
|||||||
int
|
int
|
||||||
xf86platformAddDevice(int index)
|
xf86platformAddDevice(int index)
|
||||||
{
|
{
|
||||||
@@ -465,6 +467,7 @@ xf86platformAddDevice(int index)
|
@@ -560,6 +562,7 @@ xf86platformAddDevice(int index)
|
||||||
}
|
}
|
||||||
/* attach unbound to 0 protocol screen */
|
/* attach unbound to 0 protocol screen */
|
||||||
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
|
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
|
||||||
@ -68,11 +73,11 @@ index 33b2b7d..be3bdd9 100644
|
|||||||
|
|
||||||
RRResourcesChanged(xf86Screens[0]->pScreen);
|
RRResourcesChanged(xf86Screens[0]->pScreen);
|
||||||
RRTellChanged(xf86Screens[0]->pScreen);
|
RRTellChanged(xf86Screens[0]->pScreen);
|
||||||
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
|
Index: xorg-server-1.19.6/hw/xfree86/modes/xf86Crtc.c
|
||||||
index a441fd1..c1a56a5 100644
|
===================================================================
|
||||||
--- a/hw/xfree86/modes/xf86Crtc.c
|
--- xorg-server-1.19.6.orig/hw/xfree86/modes/xf86Crtc.c
|
||||||
+++ b/hw/xfree86/modes/xf86Crtc.c
|
+++ xorg-server-1.19.6/hw/xfree86/modes/xf86Crtc.c
|
||||||
@@ -3383,3 +3383,35 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn)
|
@@ -3462,3 +3462,29 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn)
|
||||||
crtc->x = crtc->y = 0;
|
crtc->x = crtc->y = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -83,7 +88,6 @@ index a441fd1..c1a56a5 100644
|
|||||||
+ RRProviderPtr master_provider;
|
+ RRProviderPtr master_provider;
|
||||||
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master);
|
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master);
|
||||||
+ xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn);
|
+ xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn);
|
||||||
+ Bool unbound = FALSE;
|
|
||||||
+
|
+
|
||||||
+ if (!config || !slave_config)
|
+ if (!config || !slave_config)
|
||||||
+ return;
|
+ return;
|
||||||
@ -92,22 +96,14 @@ index a441fd1..c1a56a5 100644
|
|||||||
+
|
+
|
||||||
+ if ((master->capabilities & RR_Capability_SinkOffload) &&
|
+ if ((master->capabilities & RR_Capability_SinkOffload) &&
|
||||||
+ pScrn->capabilities & RR_Capability_SourceOffload) {
|
+ pScrn->capabilities & RR_Capability_SourceOffload) {
|
||||||
+ /* source offload */
|
+ /* source offload */
|
||||||
+
|
|
||||||
+ DetachUnboundGPU(pScrn->pScreen);
|
|
||||||
+ unbound = TRUE;
|
|
||||||
+ AttachOffloadGPU(master->pScreen, pScrn->pScreen);
|
+ AttachOffloadGPU(master->pScreen, pScrn->pScreen);
|
||||||
+ slave_config->randr_provider->offload_sink = master_provider;
|
+ slave_config->randr_provider->offload_sink = master_provider;
|
||||||
+ }
|
+ }
|
||||||
+ if ((master->capabilities & RR_Capability_SourceOutput) &&
|
+ if ((master->capabilities & RR_Capability_SourceOutput) &&
|
||||||
+ pScrn->capabilities & RR_Capability_SinkOutput) {
|
+ pScrn->capabilities & RR_Capability_SinkOutput) {
|
||||||
+ /* sink offload */
|
+ /* sink offload */
|
||||||
+ if (!unbound)
|
|
||||||
+ DetachUnboundGPU(pScrn->pScreen);
|
|
||||||
+ AttachOutputGPU(master->pScreen, pScrn->pScreen);
|
+ AttachOutputGPU(master->pScreen, pScrn->pScreen);
|
||||||
+ slave_config->randr_provider->output_source = master_provider;
|
+ slave_config->randr_provider->output_source = master_provider;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 27 14:42:18 UTC 2018 - msrb@suse.com
|
||||||
|
|
||||||
|
- Update and re-enable n_xserver-optimus-autoconfig-hack.patch.
|
||||||
|
(bnc#1084411)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 22 10:54:41 UTC 2018 - fcrozat@suse.com
|
Thu Feb 22 10:54:41 UTC 2018 - fcrozat@suse.com
|
||||||
|
|
||||||
|
@ -361,8 +361,7 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
|||||||
%patch216 -p1
|
%patch216 -p1
|
||||||
%patch217 -p1
|
%patch217 -p1
|
||||||
|
|
||||||
### disabled for now
|
%patch1000 -p1
|
||||||
#%patch1000 -p1
|
|
||||||
|
|
||||||
### disabled for now
|
### disabled for now
|
||||||
#%patch1162 -p1
|
#%patch1162 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user