Re: [PATCH] Fix XineramaQueryScreens for reverse prime

2016-03-10 Thread Timo Aaltonen
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

2016-02-08 Thread Adam Jackson
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

2016-02-07 Thread Dave Airlie
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

2016-02-04 Thread Jan Burgmeier
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