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

xserver-xorg-video-intel: Changes to 'ubuntu'



 ChangeLog                                       |  548 +++++++++++++++++++++
 NEWS                                            |   30 +
 configure.ac                                    |    2 
 debian/changelog                                |   13 
 debian/patches/series                           |    2 
 debian/patches/uxa-flush-batch-immediately.diff |   46 -
 man/intel.man                                   |    5 
 src/intel.h                                     |   14 
 src/intel_display.c                             |   64 ++
 src/intel_dri.c                                 |    7 
 src/intel_driver.c                              |   97 +++
 src/intel_glamor.c                              |    2 
 src/intel_module.c                              |   62 ++
 src/intel_uxa.c                                 |   86 +++
 src/intel_video.c                               |    5 
 src/sna/fb/fb.h                                 |   18 
 src/sna/fb/fbblt.c                              |   15 
 src/sna/fb/fbpoint.c                            |   60 +-
 src/sna/fb/fbpointbits.h                        |   58 +-
 src/sna/gen6_render.c                           |   68 +-
 src/sna/gen7_render.c                           |   78 +--
 src/sna/kgem.c                                  |  162 +++++-
 src/sna/kgem.h                                  |   10 
 src/sna/sna.h                                   |   21 
 src/sna/sna_accel.c                             |  614 ++++++++++++++++++++----
 src/sna/sna_composite.c                         |   19 
 src/sna/sna_damage.c                            |   20 
 src/sna/sna_display.c                           |  218 ++++++--
 src/sna/sna_dri.c                               |   27 -
 src/sna/sna_driver.c                            |   80 +--
 src/sna/sna_glyphs.c                            |    6 
 src/sna/sna_tiling.c                            |    1 
 src/sna/sna_video.c                             |    5 
 src/sna/sna_video_sprite.c                      |   13 
 34 files changed, 2059 insertions(+), 417 deletions(-)

New commits:
commit ec82c162dd5c4e1953b64fb2a22b6da58b9974c9
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Sep 12 14:17:57 2012 +0300

    update the changelog

diff --git a/debian/changelog b/debian/changelog
index 2fa4884..feeed41 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.20.7-0ubuntu1) UNRELEASED; urgency=low
+
+  * Merge from unreleased debian git.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Wed, 12 Sep 2012 07:43:59 +0300
+
 xserver-xorg-video-intel (2:2.20.7-1) UNRELEASED; urgency=low
 
   * New upstream bugfix release.

commit 8b141f2905d7b45d40c5ff0400770f47a720196b
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Sep 12 07:41:08 2012 +0300

    remove the patch, upstream

diff --git a/debian/changelog b/debian/changelog
index 1fd1c6a..a7e9688 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,6 @@
 xserver-xorg-video-intel (2:2.20.7-1) UNRELEASED; urgency=low
 
   * New upstream bugfix release.
-  * Added uxa-flush-batch-immediately.diff. (LP: #912134)
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Wed, 05 Sep 2012 17:07:07 +0300
 
diff --git a/debian/patches/series b/debian/patches/series
index 0d37a5d..a82d1b4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1 @@
-uxa-flush-batch-immediately.diff
+#placeholder
diff --git a/debian/patches/uxa-flush-batch-immediately.diff b/debian/patches/uxa-flush-batch-immediately.diff
deleted file mode 100644
index debd632..0000000
--- a/debian/patches/uxa-flush-batch-immediately.diff
+++ /dev/null
@@ -1,46 +0,0 @@
-commit 6211d0914e2ed1cdd4cc2e170ee16129fc9f0d73
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Wed Sep 5 12:33:08 2012 +0100
-
-    uxa: Flush batch immediately after queuing a WAIT_FOR_EVENT
-    
-    We still encounter hangs with kernel-3.5 with the culprit being a wait
-    on a disabled pipe. As we thoroughly check before that the pipe is still
-    disabled and flush before a modeset, the only possibility that remains
-    is that DPMS is disabling the pipe before we submit. Close that race by
-    always submitting the batch immediately after a WAIT_FOR_EVENT.
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/src/intel_dri.c b/src/intel_dri.c
-index fa1660c..a1bac9a 100644
---- a/src/intel_dri.c
-+++ b/src/intel_dri.c
-@@ -540,6 +540,11 @@ I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion,
- 			  0, 0);
- 
- 	FreeScratchGC(gc);
-+
-+	/* And make sure the WAIT_FOR_EVENT is queued before any
-+	 * modesetting/dpms operations on the pipe.
-+	 */
-+	intel_batch_submit(scrn);
- }
- 
- #if DRI2INFOREC_VERSION >= 4
-diff --git a/src/intel_video.c b/src/intel_video.c
-index 0be72e2..09782aa 100644
---- a/src/intel_video.c
-+++ b/src/intel_video.c
-@@ -1585,6 +1585,11 @@ I830PutImageTextured(ScrnInfoPtr scrn,
- 	intel_get_screen_private(scrn)->needs_flush = TRUE;
- 	DamageDamageRegion(drawable, clipBoxes);
- 
-+	/* And make sure the WAIT_FOR_EVENT is queued before any
-+	 * modesetting/dpms operations on the pipe.
-+	 */
-+	intel_batch_submit(scrn);
-+
- 	return Success;
- }
- 

commit a4efb0b9f8fcdc9c362977d746e10daddcc3ad23
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Sep 12 07:39:47 2012 +0300

    bumped the changelog

diff --git a/ChangeLog b/ChangeLog
index 65449c1..cf20eda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,551 @@
+commit 0659711dfa9c9fc52adeaba766049887d5b6f040
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Sep 8 20:01:32 2012 +0100
+
+    2.20.7 release
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2c8e48f8149499040342836491333402fd05b762
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 23:00:47 2012 +0100
+
+    sna: Remember that LineDoubleDash involves updating the GC between segments
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ed7b8db24921dc0bb6ea59dacf35ea41a61d59bf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 22:12:17 2012 +0100
+
+    sna: Pass the hints down to the PolyPoint fallback
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6c9df48fa8f1ac93103ce771ae28f47faa321619
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 22:05:19 2012 +0100
+
+    sna: Fix PolyPoint fallback through a complex clip
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7d76eb155ed78343abfa15b7c8af87fc3d4211e4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 18:06:25 2012 +0100
+
+    sna: First scan for a backlight associated with the device
+    
+    The goal is to find the right interface in a multi-GPU system.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2de7d2d8150d648815feb74a3ae2239b908b971e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 16:56:33 2012 +0100
+
+    sna/prime: Fixup attaching the randr14 scanout pixmap
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 448808d8a4e78afa7fe90e318d6d7afdbff66190
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 14:31:52 2012 +0100
+
+    prime: Allocate a GPU_SCREEN when not primary to fulfil the output sink role
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3dce661ef3df5558fe9c9d85324ab3395a37b7ea
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 13:48:12 2012 +0100
+
+    sna: And remember to update the ScreenPixmap after resize
+    
+    Fixes the regression from the previous commit
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0c39c363d7235d03f27337c731c0ffe3369bf713
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 13:07:52 2012 +0100
+
+    sna: Protect sna_crtc_resize() against early invocation with no RootWindow
+    
+    If the outputs are resized very early on, in CreateScreenResources, then
+    we will not yet have created a RootWindow and so trying to change its
+    pixmap is a futile effort.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d7879a5939cabcd8b804e19fc422d2022ab7e3a4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 12:18:08 2012 +0100
+
+    sna/dri: Fix the double-buffer pageflipping path
+    
+    Notably, we need to remember to exchange the front/back buffers after
+    flipping!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2630c81937115602faa352fca369d89fbb926b33
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 7 11:23:02 2012 +0100
+
+    sna/dri: Make sure we set the SCANOUT flag when creating bo for pageflips
+    
+    In case we should be creating an untiled framebuffer, we need to make
+    sure we honour the scanout alignment.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit aeef03520f1b2a4b8638ff1ed4fbf19c9b35e7c8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 11:46:53 2012 +0100
+
+    sna/prime: Correct the pinning flag when importing the prime bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9bdf46d6c1a29b7b9e3d35e39a2e789334c0e1be
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 11:38:08 2012 +0100
+
+    sna/prime: Distinguish forms of pinned pixmap
+    
+    So that we can allow prime to replace the backing bo of currently
+    exported pixmaps through DRI2.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 39c4be2b0be66ed83bf059d3007f4143325e340d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 11:28:49 2012 +0100
+
+    uxa: Distinguish forms of pinning
+    
+    This allows us to replace the prime bo to meet sharing requirements, but
+    still maintain the integrity with other users.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 031fa1c1c1129e486a02ffb5b3b9071f03b60048
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 11:08:23 2012 +0100
+
+    uxa/prime: Mark the pixmap as pinned once exported (similar to flink)
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e5d3f3818660cb875ce2ef4721c51bc95317b78d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 10:54:57 2012 +0100
+
+    sna: Add is-pinned checks to changing the pitch on an existing bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f2affe403baea78b9c94e3d726d1b9d8a0004f35
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 10:24:04 2012 +0100
+
+    sna: Apply the minimum 256 pitch to CREATE_USAGE_SHARED pixmaps as well
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fbe4080816191ee97347128444f56bcc34858481
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 08:57:34 2012 +0100
+
+    prime: Align pitch of shared untiled buffers to 256 bytes
+    
+    In order for nvidia to handle the buffers we are currently generating,
+    they need to have a pitch alignment of 256 bytes. Make it so.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c5fb025267bf1019907dfcc60f0efef2691be436
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Sep 6 08:55:46 2012 +0100
+
+    sna: Correct assertions for adding damage that bypasses the region
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 1f5d5a37e57e63fa6e5b336a4847ce4422b89044
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 17:17:58 2012 +0100
+
+    Add PlatformProbe to handle sharing of device entities
+    
+    Reported-by: Nick Bowler <nbowler@draconx.ca>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54561
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ddde40afc081f47a3b6b694aeb21682c240c9562
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 16:48:01 2012 +0100
+
+    sna: Harden against initialisation failures
+    
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=54561
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4627dc36fa56ab971cd90088bd29a597dd12dc02
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 16:17:17 2012 +0100
+
+    Revert "sna: Flush the batch before a render operation if the GPU is idle"
+    
+    This reverts commit ad57ac07a273bf376b74884de47d8ee1e7129fb8.
+    
+    These checks end up being too frequent and not allowing us to batch
+    sufficient commands to offset the overhead of batch submission. Hmm.
+
+commit 886f3cef4101a674bb62656cf7f3046643cae4b1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 15:27:21 2012 +0100
+
+    uxa: Fix cut'n'paste error in Option "Backlight"
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6211d0914e2ed1cdd4cc2e170ee16129fc9f0d73
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 12:33:08 2012 +0100
+
+    uxa: Flush batch immediately after queuing a WAIT_FOR_EVENT
+    
+    We still encounter hangs with kernel-3.5 with the culprit being a wait
+    on a disabled pipe. As we thoroughly check before that the pipe is still
+    disabled and flush before a modeset, the only possibility that remains
+    is that DPMS is disabling the pipe before we submit. Close that race by
+    always submitting the batch immediately after a WAIT_FOR_EVENT.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6a1423547769c24d15f6475628981d14a76a4bb2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 12:15:52 2012 +0100
+
+    sna: Initialise the empty boxes field of the region before subtracting it
+    
+    Fixes regression from commit 38fb77af757318e5fb6f605b37306ce4585b11a5
+    Author: Chris Wilson <chris@chris-wilson.co.uk>
+    Date:   Wed Sep 5 08:23:34 2012 +0100
+    
+        sna: Don't upload ignored cpu damage
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit dff25e5ec4071a0404f82760e8deec3f99f4a0a9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 11:05:28 2012 +0100
+
+    sna: Drop master after discarding framebuffers
+    
+    As Imre Deak pointed out in the previous patch, drmModeRmFB only works
+    when we hold the DRM master, therefore to prevent a leak of the
+    framebuffer across server reset we need to defer dropping master until
+    after we release our scanouts and modes.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 46981d01700c1159bfb6bc0aebc938ff1d447a0f
+Author: Imre Deak <imre.deak@intel.com>
+Date:   Fri Aug 31 14:31:51 2012 +0300
+
+    uxa: fix leakage of FB when closing the screen
+    
+    Calling drmModeRmFB is only allowed in DRM master mode. Since leaving
+    the VT also drops master mode we need to remove the FB before calling
+    I830LeaveVT.
+    
+    This is only a real leak in case of a server reset, otherwise the server
+    process will exit anyway and the kernel will clean up the FB.
+    
+    Signed-off-by: Imre Deak <imre.deak@intel.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 55cef974a5dad3fda1922648fa27bcf5bb32ea03
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 09:38:47 2012 +0100
+
+    sna: Review validity of damage when discarding CPU bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 587499bbf55b7eb0e1848822a792d535a8a3db1b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 10:56:18 2012 +0100
+
+    sna/video: Use the scanout flag and FB id for sprite framebuffers
+    
+    So that we can use the same teardown path as normal scanouts.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 913adacc5400f94bc754f22375447e6f90ccd510
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 09:20:55 2012 +0100
+
+    sna/gen7: Always emit a stall when flushing the texture cache
+    
+    Reported-by: Reinhard Karcher <reinhard.karcher@gmx.net>
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=54488
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bdfedb46bd5bb3b96543a3ff553abd8ed0774fad
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 09:15:12 2012 +0100
+
+    sna: Use async upload only if the last render was not CPU
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 67b75ae6f66e2d8e97b0aaf70d66b6de30f9e67e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 08:46:39 2012 +0100
+
+    sna: Tweak upload path to remove redundant code
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 38fb77af757318e5fb6f605b37306ce4585b11a5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 08:23:34 2012 +0100
+
+    sna: Don't upload ignored cpu damage
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2eb32f711ddd65a55c3c21f813b41aca49635a22
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 5 00:22:04 2012 +0100
+
+    sna: Add DBG control to disable CPU bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 19e170aa6fd3652cc2e983a291f82350dca27e52
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 23:52:42 2012 +0100
+
+    sna: Fix comparison of memcpy overlap to include x-offsets
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7895416eabfc5bd361d0d0ff92c570e2f6af47e0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 20:30:53 2012 +0100
+
+    sna: Rearrange use_cpu() tests for composite ops to avoid syncing CPU bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ad57ac07a273bf376b74884de47d8ee1e7129fb8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 20:06:49 2012 +0100
+
+    sna: Flush the batch before a render operation if the GPU is idle
+    
+    Experiment with pushing those first commands earlier.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6325d7e29a8bacede321362c20bf3acd33c48651
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 14:51:54 2012 +0100
+
+    NEWS: fixup missing links to bugs referenced in 2.20.6 release notes
+    
+    Reported-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bc309bad39035649ee377c1d5af9099491a8ea43
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 14:22:15 2012 +0100
+
+    sna: And remember to flush the damage to the output slaves...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 68d207588a177afa4e999260bfddb4d6dba1029b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 13:20:21 2012 +0100
+
+    sna: Improve handling of output offloading
+    
+    In particular, don't forget to flush when we only have offload slaves
+    and no native pixmaps.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8cf7ac776b9b47dabd5ab141e5a5385c44d3f309
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 13:55:34 2012 +0100
+
+    sna: Fix a typo in an error message
+    
+    s/achieve/retrieve/ otherwise it is nonsense.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit be83b98d299c74101357e7bf170b1451aec2e1f2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 11:23:58 2012 +0100
+
+    sna: Add some DBG to the prime paths
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d0684d55e3a62c231c92a68403cf100c9e18351b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 11:05:43 2012 +0100
+
+    sna: Fixup CREATE_USAGE_SHARED
+    
+    The DRI2 code tries to create pixmaps with non-zero width/height,
+    whoops.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b6ced7a2267f9429ad38949dda39c843e2119e99
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Sep 4 10:05:46 2012 +0100
+
+    sna: Fix typo for detecting prime ioctls
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit df68723baae71498de95924c72d4f23fa7fc7fdf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Sep 3 20:43:48 2012 +0100
+
+    sna: Port prime interfacing
+    
+    Preliminary prime support.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e3ad18036b4dca29744ecfa4694006f01dd3fd18
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Sep 3 20:53:30 2012 +0100
+
+    sna: Enable platform probing
+    
+    Completing commit 0768ac4d195214825137152893deb74a87fcd11e
+    Author: Dave Airlie <airlied@redhat.com>
+    Date:   Wed Jul 25 16:11:23 2012 +1000
+    
+        intel: add platform probing support.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3dc644b2a959fc559e1138b332ed42d7235de42f
+Author: Сковорода Никита Андреевич <chalkerx@gmail.com>
+Date:   Mon Sep 3 13:44:21 2012 +0400
+
+    uxa: Fix Backlight option support.
+    
+    Signed-off-by: Сковорода Никита Андреевич <chalkerx@gmail.com>
+
+commit a972affe0c78b23a119d5dd14bb4446c89122af1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Sep 2 17:43:33 2012 +0100
+
+    sna/gen6+: Redirect fills if the destination is too large for 3D
+    
+    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54134
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 18d26076c778c20eb589b638fc47fa847793f149
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Tue Sep 4 07:19:12 2012 +1000
+
+    intel: fix return value for no pEnt
+    
+    Probably never gets hit but shuold return FALSE,
+    
+    pointed out on irc by Lekensteyn
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit d14ff42f2a205542df2ef723c6151d18db2bea8b
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Thu Jul 26 10:43:29 2012 +1000
+
+    intel: query kernel for caps to setup scrn capabilities.
+    
+    This queries the kernel for prime support before advertising
+    the capabilities.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 6705d8237aca90964449e4dbee97b4f62b87c28b
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Thu Jul 26 10:37:04 2012 +1000
+
+    intel: add pixmap tracking and scanout support. (v2)
+    
+    This adds support for pixmap tracking and scanout of
+    alternate pixmaps.
+    
+    v2: do dirty updates after uxa block handler, check if kernel
+    can flush vmap for us so we don't have to.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 69827126abdfa289417b55fe7db8ae0535037185
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Wed Jul 25 16:22:57 2012 +1000
+
+    intel/uxa: add pixmap sharing support.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 0768ac4d195214825137152893deb74a87fcd11e
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Wed Jul 25 16:11:23 2012 +1000
+
+    intel: add platform probing support.
+    
+    This allows the driver to be loaded by the platform loading code.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 164ae7a4f9fd3e538f1b506031d297088fc0c659
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Sep 2 17:19:12 2012 +0100
+
+    man: Malformed "Backlight" section
+    
+    Reported-by: Matthew Monaco <dgbaley27@0x01b.net>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54397
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 67b44104168650473a24e69056707e0b35f1713e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Sep 2 12:47:36 2012 +0100
+
+    sna: Cache the temporary upload buffer when copying boxes
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4b558281e04e4d4febfc361632a90f8a45080c49
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Sep 2 12:23:59 2012 +0100
+
+    sna: Don't retire when searching for a snoopable buffer without hw support
+    
+    If the hw/kernel doesn't support snoopable buffers, then it makes little
+    sense to search for one, and force a retire in the certainty of not
+    finding any.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
 commit d933f3a7965c9aa70f70477be3bfe94d5ded948b
 Author: Chris Wilson <chris@chris-wilson.co.uk>
 Date:   Sun Sep 2 10:29:49 2012 +0100
diff --git a/debian/changelog b/debian/changelog
index 8a5f8a9..1fd1c6a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-intel (2:2.20.6-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.20.7-1) UNRELEASED; urgency=low
 
   * New upstream bugfix release.
   * Added uxa-flush-batch-immediately.diff. (LP: #912134)

commit 0659711dfa9c9fc52adeaba766049887d5b6f040
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Sep 8 20:01:32 2012 +0100

    2.20.7 release
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/NEWS b/NEWS
index 1291b51..82cf4a4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,29 @@
+Release 2.20.7 (2012-09-08)
+===========================
+Continuing the flurry of releases, this week saw the release of
+xorg-1.13 bringing with it the first steps towards hotpluggable gpu
+support and the ability to offload DRI rendering onto other GPUs. In
+light of that advance, this release includes the support code by Dave
+Airlie to integrate PRIME into xf86-video-intel and make those new
+features available.
+
+Aside from landing PRIME, a few other bugs were fixed since 2.20.5:
+
+ * Fix framebuffer leak on server regeneration
+
+ * Fix texture cache flushing on IvyBridge and Kwin with plastique
+   https://bugs.freedesktop.org/show_bug.cgi?id=54488
+
+ * Redirect large solid fills on SandyBridge+. By large I mean greater
+   than 8192 or 16384 pixels on SandyBridge and IvyBridge respectively.
+   https://bugs.freedesktop.org/show_bug.cgi?id=54134
+
+ * Fix up backlight option handling in the manpage and uxa.
+   https://bugs.freedesktop.org/show_bug.cgi?id=54397
+
+ * Unbreak ZaphodHeads.
+   https://bugs.freedesktop.org/show_bug.cgi?id=52438
+
 Release 2.20.6 (2012-09-02)
 ===========================
 A serious bug that caused a crash on SandyBridge and IvyBridge when
diff --git a/configure.ac b/configure.ac
index c401a61..f94f140 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-intel],
-        [2.20.6],
+        [2.20.7],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-intel])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 2c8e48f8149499040342836491333402fd05b762
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 7 23:00:47 2012 +0100

    sna: Remember that LineDoubleDash involves updating the GC between segments
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 9881050..7574847 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -5088,6 +5088,13 @@ struct sna_fill_spans {
 };
 
 static void
+sna_poly_point__cpu(DrawablePtr drawable, GCPtr gc,
+		    int mode, int n, DDXPointPtr pt)
+{
+	fbPolyPoint(drawable, gc, mode, n, pt, -1);
+}
+
+static void
 sna_poly_point__fill(DrawablePtr drawable, GCPtr gc,
 		     int mode, int n, DDXPointPtr pt)
 {
@@ -5123,6 +5130,52 @@ sna_poly_point__fill(DrawablePtr drawable, GCPtr gc,
 }
 
 static void
+sna_poly_point__gpu(DrawablePtr drawable, GCPtr gc,
+		     int mode, int n, DDXPointPtr pt)
+{
+	struct sna_fill_spans *data = sna_gc(gc)->priv;
+	struct sna_fill_op fill;
+	BoxRec box[512];
+	DDXPointRec last;
+
+	if (!sna_fill_init_blt(&fill,
+			       data->sna, data->pixmap,
+			       data->bo, gc->alu, gc->fgPixel))
+		return;
+
+	DBG(("%s: count=%d\n", __FUNCTION__, n));
+
+	last.x = drawable->x;
+	last.y = drawable->y;
+	while (n) {
+		BoxRec *b = box;
+		unsigned nbox = n;
+		if (nbox > ARRAY_SIZE(box))
+			nbox = ARRAY_SIZE(box);
+		n -= nbox;
+		do {
+			*(DDXPointRec *)b = *pt++;
+
+			b->x1 += last.x;
+			b->y1 += last.y;
+			if (mode == CoordModePrevious)
+				last = *(DDXPointRec *)b;
+
+			if (RegionContainsPoint(&data->region,
+						b->x1, b->y1, NULL)) {
+				b->x1 += data->dx;
+				b->y1 += data->dy;
+				b->x2 = b->x1 + 1;
+				b->y2 = b->y1 + 1;
+				b++;
+			}
+		} while (--nbox);
+		fill.boxes(data->sna, &fill, box, b - box);
+	}
+	fill.done(data->sna, &fill);
+}
+
+static void
 sna_poly_point__fill_clip_extents(DrawablePtr drawable, GCPtr gc,
 				  int mode, int n, DDXPointPtr pt)
 {
@@ -9275,45 +9328,64 @@ sna_poly_arc(DrawablePtr drawable, GCPtr gc, int n, xArc *arc)
 		get_drawable_deltas(drawable, data.pixmap, &data.dx, &data.dy);
 
 		if (gc_is_solid(gc, &color)) {
-			struct sna_fill_op fill;
+			sna_gc(gc)->priv = &data;
 
-			if (!sna_fill_init_blt(&fill,
-					       data.sna, data.pixmap,
-					       data.bo, gc->alu, color))
-				goto fallback;
+			assert(gc->miTranslate);
+			if (gc->lineStyle == LineSolid) {
+				struct sna_fill_op fill;
 
-			data.op = &fill;
-			sna_gc(gc)->priv = &data;
+				if (!sna_fill_init_blt(&fill,
+						       data.sna, data.pixmap,
+						       data.bo, gc->alu, color))
+					goto fallback;
 
-			if ((data.flags & 2) == 0) {
-				if (data.dx | data.dy)
-					sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_offset;
+				if ((data.flags & 2) == 0) {
+					if (data.dx | data.dy)
+						sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_offset;
+					else
+						sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill;
+					sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill;
+				} else {
+					region_maybe_clip(&data.region,
+							  gc->pCompositeClip);
+					if (!RegionNotEmpty(&data.region))
+						return;
+
+					if (region_is_singular(&data.region)) {
+						sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_clip_extents;
+						sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill_clip_extents;
+					} else {
+						sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_clip_boxes;
+						sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill_clip_boxes;
+					}
+				}
+
+				data.op = &fill;
+				gc->ops = &sna_gc_ops__tmp;
+				if (gc->lineWidth == 0)
+					miZeroPolyArc(drawable, gc, n, arc);
 				else
-					sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill;
-				sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill;
+					miPolyArc(drawable, gc, n, arc);
+				gc->ops = (GCOps *)&sna_gc_ops;
+
+				fill.done(data.sna, &fill);
 			} else {
 				region_maybe_clip(&data.region,
 						  gc->pCompositeClip);
 				if (!RegionNotEmpty(&data.region))
 					return;
 
-				if (region_is_singular(&data.region)) {
-					sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_clip_extents;
-					sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill_clip_extents;
-				} else {
-					sna_gc_ops__tmp.FillSpans = sna_fill_spans__fill_clip_boxes;
-					sna_gc_ops__tmp.PolyPoint = sna_poly_point__fill_clip_boxes;
-				}
+				sna_gc_ops__tmp.FillSpans = sna_fill_spans__gpu;
+				sna_gc_ops__tmp.PolyPoint = sna_poly_point__gpu;
+
+				gc->ops = &sna_gc_ops__tmp;
+				if (gc->lineWidth == 0)
+					miZeroPolyArc(drawable, gc, n, arc);
+				else
+					miPolyArc(drawable, gc, n, arc);
+				gc->ops = (GCOps *)&sna_gc_ops;
 			}
-			assert(gc->miTranslate);
-			gc->ops = &sna_gc_ops__tmp;
-			if (gc->lineWidth == 0)
-				miZeroPolyArc(drawable, gc, n, arc);
-			else
-				miPolyArc(drawable, gc, n, arc);
-			gc->ops = (GCOps *)&sna_gc_ops;
 
-			fill.done(data.sna, &fill);
 			if (data.damage) {
 				if (data.dx | data.dy)
 					pixman_region_translate(&data.region, data.dx, data.dy);
@@ -13431,7 +13503,7 @@ static const GCOps sna_gc_ops__cpu = {
 	fbPutImage,
 	fbCopyArea,
 	fbCopyPlane,
-	fbPolyPoint,
+	sna_poly_point__cpu,
 	fbPolyLine,
 	fbPolySegment,
 	miPolyRectangle,

commit ed7b8db24921dc0bb6ea59dacf35ea41a61d59bf
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 7 22:12:17 2012 +0100

    sna: Pass the hints down to the PolyPoint fallback
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/fb/fb.h b/src/sna/fb/fb.h
index 215aec9..adefaa1 100644
--- a/src/sna/fb/fb.h
+++ b/src/sna/fb/fb.h
@@ -515,7 +515,9 @@ extern RegionPtr
 fbBitmapToRegion(PixmapPtr pixmap);
 
 extern void
-fbPolyPoint(DrawablePtr drawable, GCPtr gc, int mode, int n, xPoint *pt);
+fbPolyPoint(DrawablePtr drawable, GCPtr gc,
+	    int mode, int n, xPoint *pt,
+	    unsigned flags);
 
 extern void
 fbPushImage(DrawablePtr drawable, GCPtr gc,
diff --git a/src/sna/fb/fbpoint.c b/src/sna/fb/fbpoint.c
index e3974fc..3df79a2 100644
--- a/src/sna/fb/fbpoint.c
+++ b/src/sna/fb/fbpoint.c
@@ -25,21 +25,27 @@
 #include <micoord.h>
 
 #define DOTS	    fbDots8
+#define DOTS__SIMPLE fbDots8__simple
 #define BITS	    BYTE
 #include "fbpointbits.h"
 #undef BITS
+#undef DOTS__SIMPLE
 #undef DOTS
 
 #define DOTS	    fbDots16
+#define DOTS__SIMPLE fbDots16__simple
 #define BITS	    CARD16
 #include "fbpointbits.h"
 #undef BITS
+#undef DOTS__SIMPLE
 #undef DOTS
 
 #define DOTS	    fbDots32
+#define DOTS__SIMPLE fbDots32__simple
 #define BITS	    CARD32
 #include "fbpointbits.h"
 #undef BITS
+#undef DOTS__SIMPLE
 #undef DOTS
 


Reply to: