Re: [PATCH] Fix XineramaQueryScreens for reverse prime
09.02.2016, 00:23, Adam Jackson kirjoitti: > On Mon, 2016-02-08 at 14:17 +1000, Dave Airlie wrote: >> On 4 February 2016 at 23:06, Jan Burgmeier >> wrote: >>> Bugzilla: https://bugs.freedesktop.org/92313 >> >> Reviewed-by: Dave Airlie >> >> though it might be nice to have some more info from the bug in the >> commit message. > > Pushed with a slightly more detailed commit message: > > To ssh://git.freedesktop.org/git/xorg/xserver >87d5534..7bb64d8 master -> master Please add this to 1.18.x, nvidia hybrids are quite unhappy without it. -- t ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] Fix XineramaQueryScreens for reverse prime
On Mon, 2016-02-08 at 14:17 +1000, Dave Airlie wrote: > On 4 February 2016 at 23:06, Jan Burgmeier > wrote: > > Bugzilla: https://bugs.freedesktop.org/92313 > > Reviewed-by: Dave Airlie > > though it might be nice to have some more info from the bug in the > commit message. Pushed with a slightly more detailed commit message: To ssh://git.freedesktop.org/git/xorg/xserver 87d5534..7bb64d8 master -> master - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] Fix XineramaQueryScreens for reverse prime
On 4 February 2016 at 23:06, Jan Burgmeier wrote: > Bugzilla: https://bugs.freedesktop.org/92313 Reviewed-by: Dave Airlie though it might be nice to have some more info from the bug in the commit message. > --- > randr/rrmonitor.c | 6 +++--- > randr/rroutput.c | 12 > 2 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c > index c37dcf8..58041bb 100644 > --- a/randr/rrmonitor.c > +++ b/randr/rrmonitor.c > @@ -326,7 +326,7 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, > RRMonitorPtr *monitors_ret, > RRMonitorSetFromClient(pScrPriv->monitors[list.client_primary], mon); > mon++; > } else if (list.server_primary >= 0) { > -RRMonitorSetFromServer(pScrPriv->crtcs[list.server_primary], mon); > +RRMonitorSetFromServer(list.server_crtc[list.server_primary], mon); > mon++; > } > > @@ -354,8 +354,8 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, > RRMonitorPtr *monitors_ret, > > /* And finish with the list of crtc-inspired monitors > */ > -for (c = 0; c < pScrPriv->numCrtcs; c++) { > -RRCrtcPtr crtc = pScrPriv->crtcs[c]; > +for (c = 0; c < list.num_crtcs; c++) { > +RRCrtcPtr crtc = list.server_crtc[c]; > if (c == list.server_primary && list.client_primary < 0) > continue; > > diff --git a/randr/rroutput.c b/randr/rroutput.c > index d12b9ba..2ba62fa 100644 > --- a/randr/rroutput.c > +++ b/randr/rroutput.c > @@ -543,6 +543,7 @@ ProcRRSetOutputPrimary(ClientPtr client) > WindowPtr pWin; > rrScrPrivPtr pScrPriv; > int ret; > +ScreenPtr slave; > > REQUEST_SIZE_MATCH(xRRSetOutputPrimaryReq); > > @@ -565,7 +566,18 @@ ProcRRSetOutputPrimary(ClientPtr client) > > pScrPriv = rrGetScrPriv(pWin->drawable.pScreen); > if (pScrPriv) > +{ > RRSetPrimaryOutput(pWin->drawable.pScreen, pScrPriv, output); > + > +xorg_list_for_each_entry(slave, > + &pWin->drawable.pScreen->output_slave_list, > + output_head) { > +rrScrPrivPtr pSlavePriv; > +pSlavePriv = rrGetScrPriv(slave); > + > +RRSetPrimaryOutput(slave, pSlavePriv, output); > +} > +} > > return Success; > } > -- > 2.7.0 > > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] Fix XineramaQueryScreens for reverse prime
Bugzilla: https://bugs.freedesktop.org/92313 --- randr/rrmonitor.c | 6 +++--- randr/rroutput.c | 12 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c index c37dcf8..58041bb 100644 --- a/randr/rrmonitor.c +++ b/randr/rrmonitor.c @@ -326,7 +326,7 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, RRMonitorSetFromClient(pScrPriv->monitors[list.client_primary], mon); mon++; } else if (list.server_primary >= 0) { -RRMonitorSetFromServer(pScrPriv->crtcs[list.server_primary], mon); +RRMonitorSetFromServer(list.server_crtc[list.server_primary], mon); mon++; } @@ -354,8 +354,8 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, /* And finish with the list of crtc-inspired monitors */ -for (c = 0; c < pScrPriv->numCrtcs; c++) { -RRCrtcPtr crtc = pScrPriv->crtcs[c]; +for (c = 0; c < list.num_crtcs; c++) { +RRCrtcPtr crtc = list.server_crtc[c]; if (c == list.server_primary && list.client_primary < 0) continue; diff --git a/randr/rroutput.c b/randr/rroutput.c index d12b9ba..2ba62fa 100644 --- a/randr/rroutput.c +++ b/randr/rroutput.c @@ -543,6 +543,7 @@ ProcRRSetOutputPrimary(ClientPtr client) WindowPtr pWin; rrScrPrivPtr pScrPriv; int ret; +ScreenPtr slave; REQUEST_SIZE_MATCH(xRRSetOutputPrimaryReq); @@ -565,7 +566,18 @@ ProcRRSetOutputPrimary(ClientPtr client) pScrPriv = rrGetScrPriv(pWin->drawable.pScreen); if (pScrPriv) +{ RRSetPrimaryOutput(pWin->drawable.pScreen, pScrPriv, output); + +xorg_list_for_each_entry(slave, + &pWin->drawable.pScreen->output_slave_list, + output_head) { +rrScrPrivPtr pSlavePriv; +pSlavePriv = rrGetScrPriv(slave); + +RRSetPrimaryOutput(slave, pSlavePriv, output); +} +} return Success; } -- 2.7.0 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel