xorg-server_1.16.1.901-1_amd64.changes ACCEPTED into unstable
Mapping sid to unstable. Accepted: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Format: 1.8 Date: Mon, 03 Nov 2014 21:36:14 +0100 Source: xorg-server Binary: xserver-xorg-core xserver-xorg-core-udeb xserver-xorg-dev xdmx xdmx-tools xnest xvfb xserver-xephyr xserver-xorg-core-dbg xserver-common xorg-server-source xwayland Architecture: source all Version: 2:1.16.1.901-1 Distribution: sid Urgency: medium Maintainer: Debian X Strike Force Changed-By: Julien Cristau Description: xdmx - distributed multihead X server xdmx-tools - Distributed Multihead X tools xnest - Nested X server xorg-server-source - Xorg X server - source files xserver-common - common files used by various X servers xserver-xephyr - nested X server xserver-xorg-core - Xorg X server - core server xserver-xorg-core-dbg - Xorg - the X.Org X server (debugging symbols) xserver-xorg-core-udeb - Xorg X server - core server (udeb) xserver-xorg-dev - Xorg X server - development files xvfb - Virtual Framebuffer 'fake' X server xwayland - Xwayland X server Changes: xorg-server (2:1.16.1.901-1) unstable; urgency=medium . * New upstream release. + Xext/shm: Detach SHM segment after Pixmap is released + Fix present_notify to return right away when querying current or past msc + Fix present_pixmap when using present_notify_msc + xkb: ignore floating slave devices when updating from master + fb: Fix invalid bpp for 24bit depth window Checksums-Sha1: c4c8fb70af3c40b69e2c1f3866c2a1d36e9ede64 4698 xorg-server_1.16.1.901-1.dsc b9eabc9bc9088cca70465970c66a8d010c7ee5cf 8094729 xorg-server_1.16.1.901.orig.tar.gz 138fa7e2b7873a4841373e07271c1688a6598df5 105305 xorg-server_1.16.1.901-1.diff.gz 54d0cdd5fcb5664638d9c9002230779377c7a1f2 1745864 xserver-common_1.16.1.901-1_all.deb 41e86773a55b3d2466ea872a1638fd253f2a303c 6437892 xorg-server-source_1.16.1.901-1_all.deb Checksums-Sha256: 0eacc006c4d443faf6b08825e30a4dc6c91e7130f3d173fb60100e8afb9025e1 4698 xorg-server_1.16.1.901-1.dsc 28455efb128326bb9bfbc1ac9e003c42faad06cef8dd39434b19b20f0ffa719b 8094729 xorg-server_1.16.1.901.orig.tar.gz 2accaa8603b3fcc414f2b846f2ffad9280560f7a009c16cb63bb41add058b452 105305 xorg-server_1.16.1.901-1.diff.gz c5bf58db067d9b42a299a784028af3f1ddcafa6ef92242642925a318135d2b9c 1745864 xserver-common_1.16.1.901-1_all.deb e03c76bac4628d87d701de253d78be467e7b4fef2c135aa38153719112e69a72 6437892 xorg-server-source_1.16.1.901-1_all.deb Files: 450c53fab0c5fd27b9ef0a93f8133917 4698 x11 optional xorg-server_1.16.1.901-1.dsc 2e36c133a027fa3b4bf3aed4da93b37d 8094729 x11 optional xorg-server_1.16.1.901.orig.tar.gz 60597decaf46e274a48e657f4a667985 105305 x11 optional xorg-server_1.16.1.901-1.diff.gz 19f5d9a68bc263de5b0633475aceff63 1745864 x11 optional xserver-common_1.16.1.901-1_all.deb 2c100a2d57a34ee3fbb4ea4e6b89b9a2 6437892 x11 optional xorg-server-source_1.16.1.901-1_all.deb Package-Type: udeb -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAEBCAAGBQJUV+tcAAoJEDEBgAUJBeQMvGsP/iomOPDprTYNrqZRUVvu7FHE ZijvmXve7ftYMpTJdv9seAKiqs1OTUb97STsSNLVaDvkZz00tzMami+23mOpU5fw RaRv9fJAuwgYFZ3I17QL0IUN9UBi+ajTFm0S2h8F2wX8F0FOPDZLUKiJS031Cqo3 IpdlXAHUIHKWdO6C59ES6zRi/NAeyaAxCwG+fV6PMNZ36zhUZspSaqbBxexgwyi+ F1DiAAnPrMhNLe9bgWL4pCwIa4qvdqr8F93UlkB7uSeoCALpSlJMtr8mpHKVu0bi XdxREq/4mNnY1pSYuMcAlSJ6JCCUIwQSyTNH85abI4kd9Xf9WhNGxVdtmUJMjWlb yIklNlv5hBLHVmSv7lnLicCbZ6d1HePbrYFO2Pf6d79cM9D4QuUNXicIzuuNzqLl 6+jVpMMKJ7kL7ia5M2BHDKgZUigRVvVOTHKbzz578KABzSWYV5XCtIcHc4M6LzbA qGtjtHWiN8qKTuEmIgkQBpn7KulA1Kw6tgLW1yLsKC5fbgdtnQkqZPTTWTm6Sh5y Na15Va+yQoBl06UQgt6Jlpa05x/y8ooCpbozL6uRFY1qvsrweCZgWpHHXm/CVmVK o9YyIeadMz8po3jH1TJmDPhoX0B1lAn4uLGRmn3T3IC5ph82GVOUPLHmOqKgKV7d +/JEb4H1WQt8djLMzhv8 =nCyI -END PGP SIGNATURE- Thank you for your contribution to Debian. -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1xlp4g-0007xr...@franck.debian.org
Bug#767981: unblock: xorg-server/2:1.16.1.901-1
Package: release.debian.org Severity: normal User: release.debian@packages.debian.org Usertags: unblock Please unblock package xorg-server. This is a new upstream stable release with a handful of small fixes, including one for broken rendering when using cirrus in qemu. I know the upstream 1.16 branch maintainer fairly well, so my plan is to keep following that branch through the freeze. unblock xorg-server/2:1.16.1.901-1 Cheers, Julien signature.asc Description: Digital signature
Processing of xorg-server_1.16.1.901-1_amd64.changes
xorg-server_1.16.1.901-1_amd64.changes uploaded successfully to localhost along with the files: xorg-server_1.16.1.901-1.dsc xorg-server_1.16.1.901.orig.tar.gz xorg-server_1.16.1.901-1.diff.gz xserver-common_1.16.1.901-1_all.deb xorg-server-source_1.16.1.901-1_all.deb Greetings, Your Debian queue daemon (running on host franck.debian.org) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1xloma-0004dl...@franck.debian.org
xorg-server: Changes to 'refs/tags/xorg-server-2_1.16.1.901-1'
Tag 'xorg-server-2_1.16.1.901-1' created by Julien Cristau at 2014-11-03 20:53 + Tagging upload of xorg-server 2:1.16.1.901-1 to unstable. -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAABCAAGBQJUV+swAAoJEDEBgAUJBeQMClwP+wQZpyDeQ5xYi6E9SU7MVeFP I91GD7UvaX6TQyHB/jIk471nN2485j1rbz9QC3JaugmNotUmzOm+vFOlZNsaOJtM RConUWarxzM9Vxz35hiwB0Ou3wl1MzY3ccr/4JJRcoV39G0R0/EWo6DCjFT0z9ON pkfuGxAjeQlpbvB4W5To+HsVHxYg3wJ97gkTSYE0IS66GnjgbIevQNkRDZI7/lQs HgFdte7UDeXh6YXRMr7WrFJ3bLl6/7Q+g7A3HyQPdcIT4hNEkoAsEbuvkPaOJF41 oTtOp8xuqdgU/EWMuxDjzArALIoPwLMW1QCPeUCZFM2w3lLfE0RwWK/lodiYmO70 Cl7IQzNRSF2JAvEZdlYSXJEofNQGRsX/i1CL6ho+WkNCo4OLJr5LvOTPlGtzOdka KpB08W7NSNENbjd2kYE9tcCzeQHibYJguxOWNVy6GVOAaYRhFNn2GWVOoShuuNSS /9HrIzlLFV3w4JNG/23zAgUFV2exQMji8KW9+CtYrtScz3jSzspl1KtjkvpEcLZL h3cpyBxF8dwIlOH6gfEzfowSC1+J4TqOklb46i+oPK4NEqmyjDUxHD5xyieO2Xf1 RyU3fci4sggfKr0/hi9GTeJ4Zqro8hFKsuQZCzScRWzmMCVwLZF1Xv04sw17a6md 0MZBpdsiIjjcBpgQC5t6 =Y97y -END PGP SIGNATURE- Changes since xorg-server-2_1.16.1-1: Axel Davy (2): Fix present_pixmap when using present_notify_msc Fix present_notify to return right away when querying current or past msc. Chris Wilson (1): Xext/shm: Detach SHM segment after Pixmap is released Julien Cristau (4): Bump to 1.16.1.901 Merge tag 'xorg-server-1.16.1.901' into debian-unstable Bump changelogs Upload to unstable Peter Hutterer (1): xkb: ignore floating slave devices when updating from master (#81885) Takashi Iwai (1): fb: Fix invalid bpp for 24bit depth window --- ChangeLog | 97 ++ Xext/shm.c| 15 +++- configure.ac |4 +- debian/changelog | 11 ++ dix/devices.c |2 - fb/fbwindow.c |2 - present/present.c |6 +-- 7 files changed, 122 insertions(+), 15 deletions(-) --- -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1xlodh-ix...@moszumanska.debian.org
xorg-server: Changes to 'upstream-unstable'
Xext/shm.c| 15 +++ configure.ac |4 ++-- dix/devices.c |2 +- fb/fbwindow.c |2 +- present/present.c |6 +++--- 5 files changed, 14 insertions(+), 15 deletions(-) New commits: commit 151ec89574c0d1b4566137d0f2d965ef48f04ec5 Author: Julien Cristau Date: Sun Nov 2 11:21:33 2014 +0100 Bump to 1.16.1.901 diff --git a/configure.ac b/configure.ac index c556721..3a9a961 100644 --- a/configure.ac +++ b/configure.ac @@ -26,8 +26,8 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.16.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2014-09-21" +AC_INIT([xorg-server], 1.16.1.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2014-11-02" RELEASE_NAME="Marionberry Pie" AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_MACRO_DIR([m4]) commit a4d9637504ea4c97ca22d86c9f2e275f5253470d Author: Chris Wilson Date: Thu Oct 16 14:09:08 2014 +0100 Xext/shm: Detach SHM segment after Pixmap is released The GPU may still have a reference to the SHM segment which would only be finally released when the Pixmap is destroy. So we can only detach the SHM segment (and thereby making the memory unaccessible) after the backend has had a chance to flush any remaining references. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85058 Signed-off-by: Chris Wilson Reported-and-tested-by: ged...@gmail.com Reviewed-by: Adam Jackson Signed-off-by: Keith Packard (cherry picked from commit 9b29fa957a397664463c7c78fbcc2f34d1993271) Signed-off-by: Julien Cristau diff --git a/Xext/shm.c b/Xext/shm.c index 4dad8b6..b787918 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -248,21 +248,20 @@ ShmDestroyPixmap(PixmapPtr pPixmap) { ScreenPtr pScreen = pPixmap->drawable.pScreen; ShmScrPrivateRec *screen_priv = ShmGetScreenPriv(pScreen); +void *shmdesc = NULL; Bool ret; -if (pPixmap->refcnt == 1) { -ShmDescPtr shmdesc; - -shmdesc = (ShmDescPtr) dixLookupPrivate(&pPixmap->devPrivates, -shmPixmapPrivateKey); -if (shmdesc) -ShmDetachSegment((void *) shmdesc, pPixmap->drawable.id); -} +if (pPixmap->refcnt == 1) +shmdesc = dixLookupPrivate(&pPixmap->devPrivates, shmPixmapPrivateKey); pScreen->DestroyPixmap = screen_priv->destroyPixmap; ret = (*pScreen->DestroyPixmap) (pPixmap); screen_priv->destroyPixmap = pScreen->DestroyPixmap; pScreen->DestroyPixmap = ShmDestroyPixmap; + +if (shmdesc) + ShmDetachSegment(shmdesc, pPixmap->drawable.id); + return ret; } commit a7c207cc8e713092c51401baddbb3a30de398a34 Author: Axel Davy Date: Wed Oct 29 13:31:42 2014 +0100 Fix present_notify to return right away when querying current or past msc. When the target msc is past or is the current one, we want to get immediate feedback. This patch fixes this behaviour. Signed-off-by: Axel Davy Reviewed-by: Keith Packard Signed-off-by: Keith Packard (cherry picked from commit 882f2d10d99a04a96afc0ce0c8937e16bec3afb5) Signed-off-by: Julien Cristau diff --git a/present/present.c b/present/present.c index 4596c4a..cf283f4 100644 --- a/present/present.c +++ b/present/present.c @@ -858,7 +858,7 @@ present_pixmap(WindowPtr window, xorg_list_add(&vblank->event_queue, &present_exec_queue); vblank->queued = TRUE; -if (target_msc >= crtc_msc) { +if ((pixmap && target_msc >= crtc_msc) || (!pixmap && target_msc > crtc_msc)) { ret = present_queue_vblank(screen, target_crtc, vblank->event_id, target_msc); if (ret != Success) { xorg_list_del(&vblank->event_queue); @@ -921,7 +921,7 @@ present_notify_msc(WindowPtr window, 0, 0, NULL, NULL, NULL, - 0, + PresentOptionAsync, target_msc, divisor, remainder, NULL, 0); } commit 27600a6b2056b8cf6af8b6b0f078164ef36c0767 Author: Axel Davy Date: Sat Sep 27 23:17:13 2014 +0200 Fix present_pixmap when using present_notify_msc Calling present_notify_msc could cancel a pending pixmap presentation. Signed-off-by: Axel Davy Reviewed-by: Keith Packard Signed-off-by: Keith Packard (cherry picked from commit 9bc01dfc7070a40f5948588895b3a11dd1636d0e) Signed-off-by: Julien Cristau diff --git a/present/present.c b/present/present.c index 3aea0d7..4596c4a 100644 --- a/present/present.c +++ b/present/present.c @@ -762,7 +762,7 @@ present_pixmap(WindowPtr window, * in the same frame */ -if (!update) { +if (!update && pixmap) { xorg_list_for_each_entry_safe(vblank, tmp, &window_priv->vblank, window_list) {
xorg-server: Changes to 'ubuntu-trusty'
debian/changelog |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit 79a129c67189fcefe4693fc1b6ae9654a07aac31 Author: Maarten Lankhorst Date: Mon Nov 3 12:36:46 2014 +0100 release to trusty-proposed diff --git a/debian/changelog b/debian/changelog index a8f1ea6..fcfb9be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.15.1-0ubuntu2.2) UNRELEASED; urgency=medium +xorg-server (2:1.15.1-0ubuntu2.2) trusty-proposed; urgency=medium [ Laércio de Sousa ] * Backport support for logind-based multiseat back to trusty. (LP: #1209008) @@ -8,7 +8,7 @@ xorg-server (2:1.15.1-0ubuntu2.2) UNRELEASED; urgency=medium - Allows re-enabling intel SNA rotation after fixing it. (LP: #1386620) * Fix black screen when using qemu with cirrus vga. (LP: #1386620) - -- Maarten Lankhorst Tue, 30 Sep 2014 12:46:12 +0200 + -- Maarten Lankhorst Mon, 03 Nov 2014 12:36:32 +0100 xorg-server (2:1.15.1-0ubuntu2.1) trusty-proposed; urgency=medium -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1xljnw-0001im...@moszumanska.debian.org
xorg-server: Changes to 'ubuntu-trusty'
debian/changelog |7 debian/patches/disable-rotation-transform-gpuscreens.patch | 35 +-- debian/patches/rotation-slaved-crtc-bounds.patch | 122 + debian/patches/series |1 4 files changed, 142 insertions(+), 23 deletions(-) New commits: commit f3d6ff4350e55b52a766687f776af20a5faf0ba5 Author: Maarten Lankhorst Date: Mon Nov 3 12:24:01 2014 +0100 bump changelog * Re-enable support for rotation and transforms on gpu-screens with support. - Allows re-enabling intel SNA rotation after fixing it. (LP: #1386620) * Fix black screen when using qemu with cirrus vga. (LP: #1386620) diff --git a/debian/changelog b/debian/changelog index 9e2495e..a8f1ea6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,13 @@ -xorg-server (2:1.15.1-0ubuntu2.2) UNRELEASED; urgency=low +xorg-server (2:1.15.1-0ubuntu2.2) UNRELEASED; urgency=medium [ Laércio de Sousa ] * Backport support for logind-based multiseat back to trusty. (LP: #1209008) + [ Maarten Lankhorst ] + * Re-enable support for rotation and transforms on gpu-screens with support. +- Allows re-enabling intel SNA rotation after fixing it. (LP: #1386620) + * Fix black screen when using qemu with cirrus vga. (LP: #1386620) + -- Maarten Lankhorst Tue, 30 Sep 2014 12:46:12 +0200 xorg-server (2:1.15.1-0ubuntu2.1) trusty-proposed; urgency=medium diff --git a/debian/patches/disable-rotation-transform-gpuscreens.patch b/debian/patches/disable-rotation-transform-gpuscreens.patch index 9da6c65..9f95572 100644 --- a/debian/patches/disable-rotation-transform-gpuscreens.patch +++ b/debian/patches/disable-rotation-transform-gpuscreens.patch @@ -1,22 +1,13 @@ a/hw/xfree86/modes/xf86RandR12.c -+++ b/hw/xfree86/modes/xf86RandR12.c -@@ -932,6 +932,9 @@ - if (xf86RandR12Key == NULL) - return; - -+if (pScreen->isGPU) -+rotations = RR_Rotate_0; -+ - randrp = XF86RANDRINFO(pScreen); - #if RANDR_12_INTERFACE - for (c = 0; c < config->num_crtc; c++) { -@@ -954,6 +957,9 @@ - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); - #endif - -+if (pScreen->isGPU) -+transforms = FALSE; -+ - if (xf86RandR12Key == NULL) - return; - +diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c +index a441fd1..9147a26 100644 +--- a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c +@@ -778,7 +778,7 @@ xf86CrtcScreenInit(ScreenPtr screen) + if (!crtc->funcs->shadow_allocate || !crtc->funcs->shadow_create) + break; + } +-if (c == config->num_crtc) { ++if (c == config->num_crtc && !screen->isGPU) { + xf86RandR12SetRotations(screen, RR_Rotate_0 | RR_Rotate_90 | + RR_Rotate_180 | RR_Rotate_270 | + RR_Reflect_X | RR_Reflect_Y); diff --git a/debian/patches/rotation-slaved-crtc-bounds.patch b/debian/patches/rotation-slaved-crtc-bounds.patch new file mode 100644 index 000..4c8345a --- /dev/null +++ b/debian/patches/rotation-slaved-crtc-bounds.patch @@ -0,0 +1,122 @@ +From: Chris Wilson +To: xorg-de...@lists.x.org +Subject: [PATCH 2/3] randr: Consider rotation of slaved crtcs when computing bounds +Date: Wed, 23 Jul 2014 12:35:14 +0100 + +When creating a pixmap to cover a rotated slaved CRTC, we need to +consider its rotated size as that is the area that it occupies in the +framebuffer. The slave is then responsible for mapping the copy of the +framebuffer onto the rotated scanout - which can be the usual RandR +shadow composite method. + +Signed-off-by: Chris Wilson +Cc: Dave Airlie +Cc: Maarten Lankhorst +--- + randr/rrcrtc.c | 56 + 1 file changed, 36 insertions(+), 20 deletions(-) + +--- a/randr/rrcrtc.c b/randr/rrcrtc.c +@@ -273,27 +273,43 @@ + return FALSE; + } + +-static void +-crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom) ++static int mode_height(const RRModeRec *mode, Rotation rotation) + { +-*left = crtc->x; +-*top = crtc->y; +- +-switch (crtc->rotation) { ++switch (rotation & 0xf) { + case RR_Rotate_0: + case RR_Rotate_180: ++ return mode->mode.height; ++case RR_Rotate_90: ++case RR_Rotate_270: ++ return mode->mode.width; + default: +-*right = crtc->x + crtc->mode->mode.width; +-*bottom = crtc->y + crtc->mode->mode.height; +-return; ++ return 0; ++} ++} ++ ++static int mode_width(const RRModeRec *mode, Rotation rotation) ++{ ++switch (rotation & 0xf) { ++case RR_Rotate_0: ++case RR_Rotate_180: ++ return mode->mode.width; + case RR_Rotate_90: + case RR_Rotate_270: +-*right = crtc->x + crtc->mode->mode.height; +-*bottom = crtc->y + crtc->mode->mode.width; +-return; ++ return mode->mode.height; ++d
xserver-xorg-video-intel: Changes to 'ubuntu-trusty'
debian/changelog | 11 debian/patches/01-support-native-rotations.diff | 269 debian/patches/02-extend-native-rotation-to-sprites.diff | 407 +++ debian/patches/03-reorganise-native-rotation.diff| 245 debian/patches/04-inherit-native-rotation.diff | 21 debian/patches/05-clear-transform-on-disable.diff| 33 debian/patches/06-set-color-key-once.diff| 79 + debian/patches/07-show-sprites-on-all-outputs.diff | 730 debian/patches/08-rewrite-rotation-universal-planes.diff | 856 +++ debian/patches/09-reduce-reflections-onto-rotations.diff | 90 + debian/patches/10-handle-rotated-slaves.diff | 410 +++ debian/patches/series| 11 12 files changed, 3158 insertions(+), 4 deletions(-) New commits: commit dc762db1e2d7b45b080889131fb362aead003e87 Author: Maarten Lankhorst Date: Wed Oct 29 16:14:32 2014 +0100 add patch series for rotation support diff --git a/debian/changelog b/debian/changelog index 7fa7a26..dfa91b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ -xserver-xorg-video-intel (2:2.99.910-0ubuntu1.2) UNRELEASED; urgency=low +xserver-xorg-video-intel (2:2.99.910-0ubuntu1.2) UNRELEASED; urgency=medium * Fix black screen with SNA. (LP: #1365695) + * Prevent crash when using SNA with fglrx. +- disable-outputs-when-slaved.patch + * Backport support for rotation with SNA. (LP: #1386620) -- Maarten Lankhorst Mon, 22 Sep 2014 11:26:22 +0200 diff --git a/debian/patches/01-support-native-rotations.diff b/debian/patches/01-support-native-rotations.diff new file mode 100644 index 000..99b5144 --- /dev/null +++ b/debian/patches/01-support-native-rotations.diff @@ -0,0 +1,269 @@ +commit 607737cc47788e2a8896fddfece907a3cfb24f7f +Author: Chris Wilson +Date: Wed Feb 12 11:33:45 2014 + + +sna: Support native primary plane rotations + +Use the display hardware for simple rotations, when exported through the +rotation property on the CRTC. + +As the kernel support is not yet merged upstream, the feature is hidden +behind --enable-rotation. + +Signed-off-by: Chris Wilson + +diff --git a/configure.ac b/configure.ac +index ea7473e..4f73ba4 100644 +--- a/configure.ac b/configure.ac +@@ -578,6 +578,17 @@ if test "x$CREATE2" = "xyes"; then + xp_msg="$xp_msg create2" + fi + ++AC_ARG_ENABLE(rotation, ++AS_HELP_STRING([--enable-rotation], ++ [Enable use of native rotations (experimental) [default=no]]), ++[ROTATION="$enableval"], ++[ROTATION="no"]) ++AM_CONDITIONAL(USE_ROTATION, test "x$ROTATION" = "xyes") ++if test "x$ROTATION" = "xyes"; then ++ AC_DEFINE(USE_ROTATION,1,[Assume "rotation" support]) ++ xp_msg="$xp_msg rotation" ++fi ++ + AC_ARG_ENABLE(userptr, + AS_HELP_STRING([--enable-userptr], +[Enable use of userptr (experimental) [default=no]]), +diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c +index a89d31a..c5ccaac 100644 +--- a/src/sna/gen5_render.c b/src/sna/gen5_render.c +@@ -1537,6 +1537,25 @@ gen5_composite_picture(struct sna *sna, + return sna_render_picture_extract(sna, picture, channel, + x, y, w, h, dst_x, dst_y); + ++ DBG(("%s: pixmap, repeat=%d, filter=%d, transform?=%d [affine? %d], format=%08x\n", ++ __FUNCTION__, ++ channel->repeat, channel->filter, ++ channel->transform != NULL, channel->is_affine, ++ channel->pict_format)); ++ if (channel->transform) { ++ DBG(("%s: transform=[%f %f %f, %f %f %f, %f %f %f]\n", ++ __FUNCTION__, ++ channel->transform->matrix[0][0] / 65536., ++ channel->transform->matrix[0][1] / 65536., ++ channel->transform->matrix[0][2] / 65536., ++ channel->transform->matrix[1][0] / 65536., ++ channel->transform->matrix[1][1] / 65536., ++ channel->transform->matrix[1][2] / 65536., ++ channel->transform->matrix[2][0] / 65536., ++ channel->transform->matrix[2][1] / 65536., ++ channel->transform->matrix[2][2] / 65536.)); ++ } ++ + return sna_render_pixmap_bo(sna, channel, pixmap, + x, y, w, h, dst_x, dst_y); + } +diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c +index a6e6f68..9b05f74 100644 +--- a/src/sna/sna_display.c b/src/sna/sna_display.c +@@ -105,6 +105,10 @@ struct sna_crtc { + uint8_t id; + uint8_t pipe; + uint8_t plane; ++ ++ uint32_t rotation_id; ++ uint32_t supported_rotations; ++ uint32_t rotation, last_rotation; + }; + + struct sna_property { +@@