[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 debian/changelog                                       |    8 +
 debian/patches/randr-adjust-masters-last-set-time.diff |   39 +++++++
 debian/patches/randr-do-not-check-the-screen-size.diff |   87 +++++++++++++++++
 debian/patches/series                                  |    2 
 4 files changed, 136 insertions(+)

New commits:
commit db2053c9547c17d70d987d402638849e560acd6c
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri May 27 11:52:06 2016 +0300

    release to yakkety

diff --git a/debian/changelog b/debian/changelog
index 60aa5ec..a12f0ce 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xorg-server (2:1.18.3-1ubuntu5) UNRELEASED; urgency=medium
+xorg-server (2:1.18.3-1ubuntu5) yakkety; urgency=medium
 
   * randr-adjust-masters-last-set-time.diff,
     randr-do-not-check-the-screen-size.diff:
     Fix issues changing display mode on prime setups. (LP: #1586260)
 
- -- Timo Aaltonen <tjaalton@debian.org>  Fri, 27 May 2016 11:50:02 +0300
+ -- Timo Aaltonen <tjaalton@debian.org>  Fri, 27 May 2016 11:51:56 +0300
 
 xorg-server (2:1.18.3-1ubuntu4) yakkety; urgency=medium
 

commit 0b147483478d792ccbf5fca0f8b51436f920500e
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri May 27 11:51:46 2016 +0300

    randr-adjust-masters-last-set-time.diff, randr-do-not-check-the-screen-size.diff: Fix issues changing display mode on prime setups. (LP: #1586260)

diff --git a/debian/changelog b/debian/changelog
index 6c47fac..60aa5ec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.18.3-1ubuntu5) UNRELEASED; urgency=medium
+
+  * randr-adjust-masters-last-set-time.diff,
+    randr-do-not-check-the-screen-size.diff:
+    Fix issues changing display mode on prime setups. (LP: #1586260)
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Fri, 27 May 2016 11:50:02 +0300
+
 xorg-server (2:1.18.3-1ubuntu4) yakkety; urgency=medium
 
   * debian/patches/xmir.patch:
diff --git a/debian/patches/randr-adjust-masters-last-set-time.diff b/debian/patches/randr-adjust-masters-last-set-time.diff
new file mode 100644
index 0000000..15f8404
--- /dev/null
+++ b/debian/patches/randr-adjust-masters-last-set-time.diff
@@ -0,0 +1,39 @@
+Subject: [PATCH xserver] randr: Adjust master's last set time with slaves
+From: Nikhil Mahale <nmahale@nvidia.com>
+Date: 20.05.2016 08:01
+To: <xorg-devel@lists.x.org>
+CC: Nikhil Mahale <nmahale@nvidia.com>
+
+In prime configurations master's last set time may not be latest
+and greatest, adjust it with slaves last set time, pick up greatest
+one. Otherwise xserver may end with events which has
+lastSetTime < lastConfigTime even if that's not
+the case and confuse xrandr client.
+
+Signed-off-by: Nikhil Mahale <nmahale@nvidia.com>
+---
+ randr/randr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/randr/randr.c b/randr/randr.c
+index 3aabb19..c07def1 100644
+--- a/randr/randr.c
++++ b/randr/randr.c
+@@ -584,6 +585,15 @@ RRTellChanged(ScreenPtr pScreen)
+         mastersp = pScrPriv;
+     }
+
++    xorg_list_for_each_entry(iter, &master->output_slave_list, output_head) {
++        pSlaveScrPriv = rrGetScrPriv(iter);
++
++        if (CompareTimeStamps(mastersp->lastSetTime,
++                              pSlaveScrPriv->lastSetTime) == EARLIER) {
++            mastersp->lastSetTime = pSlaveScrPriv->lastSetTime;
++        }
++    }
++
+     if (mastersp->changed) {
+         UpdateCurrentTimeIf();
+         if (mastersp->configChanged) {
+-- 2.8.2 ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- _______________________________________________ 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
+
diff --git a/debian/patches/randr-do-not-check-the-screen-size.diff b/debian/patches/randr-do-not-check-the-screen-size.diff
new file mode 100644
index 0000000..ca294b7
--- /dev/null
+++ b/debian/patches/randr-do-not-check-the-screen-size.diff
@@ -0,0 +1,87 @@
+Subject: [PATCH xserver] randr: Do not check the screen size bound for gpu screens
+From: Nikhil Mahale <nmahale@nvidia.com>
+Date: 20.05.2016 08:00
+To: <xorg-devel@lists.x.org>
+CC: Nikhil Mahale <nmahale@nvidia.com>
+
+For gpu screen, CrtcSet set/adjust the master screen size along
+mode in following callstack -
+
+  ProcRRSetCrtcConfig()
+    |
+    -> RRCrtcSet()
+        |
+        -> rrCheckPixmapBounding()
+            |
+            -> pScrPriv->rrScreenSetSize()
+
+Checking screen size bound for gpus screen cause some configurations
+to fails, e.g
+
+  $ xrandr --output eDP --mode 1920x1080 --pos 0x0 --output HDMI \
+  --mode 2560x1440 --pos 0x0
+
+  Here xrandr utility first sets screen size to 2560x1440 which
+  gets resized to 1920x1080 on RRSetCrtcConfig request for eDP,
+  and then RRSetCrtcConfig request for HDMI fails because
+  of failure of screen bound check.
+
+Signed-off-by: Nikhil Mahale <nmahale@nvidia.com>
+---
+ randr/rrcrtc.c | 19 ++++++-------------
+ 1 file changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
+index 566a3db..82db9a8 100644
+--- a/randr/rrcrtc.c
++++ b/randr/rrcrtc.c
+@@ -1176,27 +1176,20 @@ ProcRRSetCrtcConfig(ClientPtr client)
+ 
+ #ifdef RANDR_12_INTERFACE
+         /*
++         * For gpu screen, CrtcSet set/adjust the master screen size along
++         * with mode.
++         *
+          * Check screen size bounds if the DDX provides a 1.2 interface
+          * for setting screen size. Else, assume the CrtcSet sets
+          * the size along with the mode. If the driver supports transforms,
+          * then it must allow crtcs to display a subset of the screen, so
+          * only do this check for drivers without transform support.
+          */
+-        if (pScrPriv->rrScreenSetSize && !crtc->transforms) {
++        if (!pScreen->isGPU && pScrPriv->rrScreenSetSize && !crtc->transforms) {
+             int source_width;
+             int source_height;
+             PictTransform transform;
+             struct pixman_f_transform f_transform, f_inverse;
+-            int width, height;
+-
+-            if (pScreen->isGPU) {
+-                width = pScreen->current_master->width;
+-                height = pScreen->current_master->height;
+-            }
+-            else {
+-                width = pScreen->width;
+-                height = pScreen->height;
+-            }
+ 
+             RRTransformCompute(stuff->x, stuff->y,
+                                mode->mode.width, mode->mode.height,
+@@ -1206,13 +1199,13 @@ ProcRRSetCrtcConfig(ClientPtr client)
+ 
+             RRModeGetScanoutSize(mode, &transform, &source_width,
+                                  &source_height);
+-            if (stuff->x + source_width > width) {
++            if (stuff->x + source_width > pScreen->width) {
+                 client->errorValue = stuff->x;
+                 free(outputs);
+                 return BadValue;
+             }
+ 
+-            if (stuff->y + source_height > height) {
++            if (stuff->y + source_height > pScreen->height) {
+                 client->errorValue = stuff->y;
+                 free(outputs);
+                 return BadValue;
+-- 2.8.2 ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- _______________________________________________ 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
+
diff --git a/debian/patches/series b/debian/patches/series
index 891be0f..c204c32 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -50,3 +50,5 @@ xmir.patch
 xmir-desktop-file-hint-flag.patch
 drm_device_keep_trying.patch
 xi2-resize-touch.patch
+randr-adjust-masters-last-set-time.diff
+randr-do-not-check-the-screen-size.diff


Reply to: