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

xserver-xorg-video-intel: Changes to 'debian-experimental'



 ChangeLog                                                                   |  540 ++++++++++
 NEWS                                                                        |   15 
 configure.ac                                                                |    2 
 debian/changelog                                                            |    7 
 debian/patches/0001-Fix-build-failure-when-passing-with-builderstring.patch |   33 
 debian/patches/series                                                       |    1 
 man/intel.man                                                               |  123 +-
 src/intel_driver.c                                                          |    2 
 src/intel_module.c                                                          |   38 
 src/sna/blt.c                                                               |    5 
 src/sna/fb/fbbitmap.c                                                       |    4 
 src/sna/gen2_render.c                                                       |   17 
 src/sna/gen3_render.c                                                       |   83 -
 src/sna/gen4_render.c                                                       |   25 
 src/sna/gen5_render.c                                                       |   33 
 src/sna/gen6_render.c                                                       |   42 
 src/sna/gen7_render.c                                                       |   43 
 src/sna/kgem.c                                                              |  107 +
 src/sna/kgem.h                                                              |   22 
 src/sna/sna.h                                                               |    7 
 src/sna/sna_accel.c                                                         |  247 +++-
 src/sna/sna_blt.c                                                           |  329 +++++-
 src/sna/sna_composite.c                                                     |    7 
 src/sna/sna_damage.c                                                        |   46 
 src/sna/sna_driver.c                                                        |    2 
 src/sna/sna_render.c                                                        |  104 -
 src/sna/sna_render.h                                                        |    3 
 src/sna/sna_render_inline.h                                                 |   26 
 src/sna/sna_trapezoids.c                                                    |   92 +
 29 files changed, 1521 insertions(+), 484 deletions(-)

New commits:
commit 7f3d01107b05783c1c31266e405c93f55a333e43
Author: Julien Danjou <julien@danjou.info>
Date:   Sun Aug 26 14:32:03 2012 +0200

    Upload 2.20.5 to experimental
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

diff --git a/debian/changelog b/debian/changelog
index e9b8f0c..6d26eef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-intel (2:2.20.5-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.20.5-1) experimental; urgency=low
 
   * New upstream release.
     - Remove patch to support passing a builder string, merged upstream

commit 07d10d30e38953bb5fcb2b0d1770194fdde4563b
Author: Julien Danjou <julien@danjou.info>
Date:   Sun Aug 26 14:26:23 2012 +0200

    New upstream release 2.20.5
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

diff --git a/ChangeLog b/ChangeLog
index a4f960f..c1223d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,543 @@
+commit b5c77a6aaf520e331e82409b2592911cb1bb3100
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 26 12:48:18 2012 +0100
+
+    2.20.5 release
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 454cc8453af1852758c3396dbe303c13c5c1be27
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Aug 24 08:48:12 2012 +0100
+
+    sna: Submit the partial batch before throttling
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0e1e83ed4952f620e9422e58f955a5aea406e300
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Aug 24 00:59:31 2012 +0100
+
+    sna: Allow the batch to be flushed if the GPU is idle upon a context switch
+    
+    Submit early, submit often in order to keep the GPU busy. As always we
+    trade off CPU overhead versus concurrency.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5059db0697c5516f1538f7062937664baf7b1c2e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Aug 24 00:21:07 2012 +0100
+
+    sna: Correct a pair of DBG messages
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c5b46e411a2c738c5ae55bffb9b3d460249f5c24
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Aug 23 17:36:10 2012 +0100
+
+    sna: Tidy up users of __kgem_bo_is_busy()
+    
+    A lot of callsites had not been converted to the common function.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 82e91327d57e03d2117638165f298a50b946fcaa
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Aug 23 15:59:00 2012 +0100
+
+    sna: Use a temporary userptr mapping for a large upload into a busy target
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b286ffa6beccb8fe341c464a4fb9f2af98541263
+Author: Eric S. Raymond <esr@thyrsus.com>
+Date:   Thu Aug 23 12:42:18 2012 -0400
+
+    Fix seriously malformed list syntax on intel(4).
+    
+    Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
+
+commit fc6b7f564df88ca773ae245b1b4e278b47dffd59
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Aug 23 15:13:14 2012 +0100
+
+    sna: Flush the batch if it contains any DRI pixmaps
+    
+    This fixes a regression from
+    
+    commit 02963f489b177d0085006753e91e240545933387
+    Author: Chris Wilson <chris@chris-wilson.co.uk>
+    Date:   Sun Aug 19 15:45:35 2012 +0100
+    
+        sna: Only submit the batch if flushing a DRI client bo
+    
+    which made the presumption that we called sna_add_flush_pixmap() for
+    every DRI pixmap that we used. However, that is only called for the
+    dirty pixmaps, any native exported pixmap only marks the batch as
+    requiring a flush. So in those cases we always need to submit the batch
+    if it contains an exported DRI pixmap.
+    
+    Reported-by: chr.ohm@gmx.net
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53967
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fd38f45ec5421802b426867a050c978a2feec937
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Aug 23 12:11:48 2012 +0100
+
+    sna: Mark the CPU damage as needing flushing for DRI buffers
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ac6cb667546a82b865c959a1be32f52b2da7bf7d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 12:00:49 2012 +0100
+
+    sna: Flush before adding any SHM pixmap into the batch
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 785c1046b94fd9ca6f22b2a6d73639408a411cea
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 10:56:12 2012 +0100
+
+    sna: Only use the GPU for an active CPU bo unless forced
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8032f51859ce1928922edf6892f493a84d9c39f0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 10:40:53 2012 +0100
+
+    sna: If we cannot use the CPU bo along a render pathway, promote to GPU
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit cc967507bbf357e1d5ec3cd0f3c0c5ecfa8b867a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 10:36:04 2012 +0100
+
+    sna: Convert to using IGNORE_CPU flag rather than complicating the CPU damage
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5aa59ce7c012eb309c4f5a362ccf531c065bd7ff
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 10:10:33 2012 +0100
+
+    sna: Assert that the CPU bo is not used if the GPU is clear
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 273765033223024ff6a662195e0e4b96f8960463
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 00:48:08 2012 +0100
+
+    sna: Make sure the opposite damage is destroyed after reducing to all
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 31e398c9dbd8539e6fd2cc7398e97ee1df2f7f23
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 00:38:17 2012 +0100
+
+    sna: Discard a no-longer-used GPU bo after moving to the CPU domain
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8be15c37df9d9b34e0f21700673212bd19c772b2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Aug 22 00:27:00 2012 +0100
+
+    sna: Balance CPU bo accounting for SHM pixmaps
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 262d57a5aaac46508d8e29860c7a567bcd5bc4d8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Aug 21 23:36:12 2012 +0100
+
+    sna: Display still resident memory in inactive/snoop caches under DEBUG_MEMORY
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 304581cc02adeb865a24edde934b5b9ceba68d96
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Aug 21 23:29:12 2012 +0100
+
+    sna: Add a DBG to log pixmap destruction
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 946d54238d90f5e31772f0df336ac9a5e7f2d62b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Aug 21 21:02:00 2012 +0100
+
+    sna: Fix the assertion for tracking proxies in the batch
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4ee2e227ddf61c87f08f55d4922d2562b563ca87
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Aug 21 00:28:40 2012 +0100
+
+    sna: Mark all levels of a proxy as dirty
+    
+    So that if we write to a surface through one view, we make sure that the
+    sample cache is invalidated for all future views.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit eee181e9d71273d94fe735805ed84e8f7b7b2180
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Aug 21 00:19:10 2012 +0100
+
+    sna/gen6+: Only mark the dst as dirty again if it already is in the batch
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c86df17c1455a53cb52f33a25c8c362e5331621e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 22:54:06 2012 +0100
+
+    sna/gen3: Fix assertion to check the freshly allocated vertex bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6aabe90587f4916a01a1cd2bbc577a1e7fa20eca
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 22:09:54 2012 +0100
+
+    sna: Allow target bo promotion to GPU even on old architectures
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 1a4b6fea7b1516de35e6800efa5b85f8401a5b2a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 22:08:23 2012 +0100
+
+    sna: Assign a unique id to snoopable CPU bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 892b1a1e431e8f27133825f8a27dde4955da0054
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 22:07:05 2012 +0100
+
+    sna/gen3: Convert to sna_drawable_use_bo()
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3ca1bfb51ba522454433d58131e7dab7fcbe7e34
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 21:28:47 2012 +0100
+
+    sna: Trim a parameter from kgem_bo_mark_dirty() and add some assertions
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 16f3d3a9ae145a3af51d2c0c42c6c585d676a863
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 19:42:22 2012 +0100
+
+    sna: Keep a stash of the most recently allocated requests
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fb349ced91e15ecaa025321bd37d1fe3cfdd2f44
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 17:35:44 2012 +0100
+
+    sna: A few more buffer cache management assertions
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ae6b3c7508d570af94f172d6a91d62d2987d654b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 17:03:16 2012 +0100
+
+    Check that the module that indeed i915 before using custom ioctls
+    
+    Thanks to Adam Jackson for pointing me towards drmGetVersion() and
+    Julien Cristau for saying "Yuck!"
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3c611087e8ae09fc3fe4271f16d912ac8ae89f6b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 16:09:25 2012 +0100
+
+    Only open the matching BusID and not the first named
+    
+    If you pass a name to drmOpen() it will attempt to open any device
+    corresponding to that name if it first fails to open the device
+    corresponding to the BusID. Obviously we want the failure from opening
+    the specified device in order to prevent wrongly opening the first found
+    device multiple times.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit dd6c67b32f726b6ad7f12f3b83f6d8c868ff4dc1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 15:58:03 2012 +0100
+
+    sna: Add a couple of buffer cache management assertions
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 01ebdb4d7a8bb751167153554f9122d996e4ea91
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 15:33:26 2012 +0100
+
+    sna: Remove confusing is_cpu()
+    
+    The only real user now has its own heuristics, so convert the remaining
+    users over to !is_gpu().
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 410316d20299b9ed3447d1d897f904af786ed097
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 14:56:12 2012 +0100
+
+    sna: Refine decision making for maybe-inplace trapezoids
+    
+    In particular, we want to avoid preferentially taking the CPU paths
+    when it may force any migration (including clear).
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 91f1bf971f9cdc6498f513a5ddec1ad7a4e24b3d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 15:27:27 2012 +0100
+
+    sna: Correct ordering of calls to memcpy for BLT cpu composite paths
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 027569bf83fc6d67dca7cfd65fdfa37ef6b47204
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 12:55:20 2012 +0100
+
+    Missing includes for b5b76ad849b
+    
+    The warnings of implicit function declarations were lost amongst the
+    noise.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f1b259f627814c765ea93d8c839ee7533249974f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 12:51:51 2012 +0100
+
+    sna: Add a modicum of DBG for PolyFillRect
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b5b76ad849bfda1e75192d1cb3c6c0fcc623bb91
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 12:01:39 2012 +0100
+
+    Sanity check that the driver is an i915.ko GEM device before claiming it
+    
+    This fixes an issue with us claiming Poulsbo and friends even though we
+    do not speak their language.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 74f998136bac441d782faf779616af6f7bdcadad
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 11:07:55 2012 +0100
+
+    sna: Avoid migrating the BLT composite src to the GPU if the dst is not
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a05643eb670e91ab102465df799301def88faaf9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 10:46:14 2012 +0100
+
+    sna: Remove unneeded source bo unref after __sna_render_pixmap_bo()
+    
+    As __sna_render_pixmap_bo() deliberately does not reference its returned
+    bo, we need to avoid unreferencing it else we cause explosions later.
+    
+    Fixes regression from commit a13781d19defc97af6a279c11a85e33ef825020e
+    Author: Chris Wilson <chris@chris-wilson.co.uk>
+    Date:   Sun Aug 19 09:45:12 2012 +0100
+    
+        sna: Enable BLT composite functions to target CPU buffers
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c80db9bc2ef0a37a4abb78c9ef667c8b36ab6fba
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Aug 20 10:45:36 2012 +0100
+
+    sna: Flush the batch before preparing for a FlushCallback
+    
+    As we end up submitting and maybe synchronising upon a batch within
+    FlushCallback (or our client will) it is important that we start that
+    serialized batch as early as possible to minimise the impending stalls.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c39fe0253847f5a86e16b47ba420c8ba819c9110
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 20:42:55 2012 +0100
+
+    sna: Do not use the GPU to migrate to the CPU whilst wedged!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fe05268d70088c8cad5f4b5ef756e1ffe2069fca
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 19:28:42 2012 +0100
+
+    sna: Experiment with flushing the batch prior to rendering to a ShmPixmap
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bbd7a825810cc9772e6d613df449cb5ecb0be3f6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 19:28:20 2012 +0100
+
+    sna: Don't promote a ShmPixmap to GPU for a CopyArea
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7bf7a5ad1057f1aeb5b261da6dc501323c022287
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 19:17:35 2012 +0100
+
+    sna/gen3: Tidy vbo discard
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d1b808fd72b477bde96f7c6737a993bd1a20baf2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 17:53:24 2012 +0100
+
+    sna: Tweak is_cpu/is_gpu heuristics
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c682c1a37692021cbd9bfc1e3f1ccf2b648c73f9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 17:28:25 2012 +0100
+
+    sna: Discard GPU (and damage) after applying clear on migration to CPU
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit dc83ef49f9e8ff94ab77aa9d54fe29e32b9d7a3d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 17:20:45 2012 +0100
+
+    sna/trapezoids: Accept more operators for maybe-inplace
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 47d948f5df0cd0e975cfe5183b6ce79cd3fd27ee
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 17:09:21 2012 +0100
+
+    sna: Update maybe_inplace to recognise more types of handled pixel formats
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 02963f489b177d0085006753e91e240545933387
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 15:45:35 2012 +0100
+
+    sna: Only submit the batch if flushing a DRI client bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 13d1a105159222518800d3c5ad5660725864ec6b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 09:48:05 2012 +0100
+
+    sna: compare the correct trailing dword when skipping identical bitmap lines
+    
+    Fixes regression in 2.20.4 from
+    
+    commit 85192f00e345830541e3715e211b1f98154bbef4
+    Author: Chris Wilson <chris@chris-wilson.co.uk>
+    Date:   Wed Aug 8 12:11:50 2012 +0100
+    
+        sna: Ignore trailing bits when comparing lines inside the bitmap
+    
+    Reported-by: Edward Sheldrake <ejsheldrake@gmail.com>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53699
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a13781d19defc97af6a279c11a85e33ef825020e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Aug 19 09:45:12 2012 +0100
+
+    sna: Enable BLT composite functions to target CPU buffers
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit be940856c74fbedd27997dd61e2a85959b321193
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 21:23:03 2012 +0100
+
+    sna: Consider sample wraparound in each direction independently
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 110c7ef7f6c31929affa038918e6ce087bccddc6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 17:42:51 2012 +0100
+
+    sna/damage: Replace the damage with a larger box if subsumed
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 75a2fab766d8aed180ef795919e503db22c0e0fd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 17:28:08 2012 +0100
+
+    sna: Avoid forcing an upload for an unblittable bo unless on a fallback path
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 110d5519f3523b1e2c50db637cdc4c5bc44c960a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 16:39:52 2012 +0100
+
+    sna: Reduce subtracted damage earlier
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8812e8b6e89e6432a6a768a0566ce4c153e9b256
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 16:21:13 2012 +0100
+
+    sna: Reduce damage after a large composite operation
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e361627b90ea6bf2f9a8c46cf8debe562fdf4f09
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 16:16:17 2012 +0100
+
+    sna/damage: Add some more sanity checks for creating empty regions
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 10f334872e9dd190e18c768219e60815acabe4d3
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Aug 18 15:49:02 2012 +0100
+
+    sna: Add damage for the whole unaligned trapezoid not per component
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
 commit 5ff6198c9346d84717bac28980329b048f4406e8
 Author: Chris Wilson <chris@chris-wilson.co.uk>
 Date:   Sat Aug 18 11:59:56 2012 +0100
diff --git a/debian/changelog b/debian/changelog
index 7f0abd5..e9b8f0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,10 @@
-xserver-xorg-video-intel (2:2.20.4-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.20.5-1) UNRELEASED; urgency=low
 
-  [ Timo Aaltonen ]
   * New upstream release.
+    - Remove patch to support passing a builder string, merged upstream
+      0001-Fix-build-failure-when-passing-with-builderstring.patch
 
- -- Julien Cristau <jcristau@debian.org>  Sat, 18 Aug 2012 18:26:47 +0200
+ -- Julien Danjou <acid@debian.org>  Sun, 26 Aug 2012 14:25:55 +0200
 
 xserver-xorg-video-intel (2:2.20.2-1) experimental; urgency=low
 
diff --git a/debian/patches/0001-Fix-build-failure-when-passing-with-builderstring.patch b/debian/patches/0001-Fix-build-failure-when-passing-with-builderstring.patch
deleted file mode 100644
index 6281d3a..0000000
--- a/debian/patches/0001-Fix-build-failure-when-passing-with-builderstring.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From d96feed041266a7629e4839e1294f3074679891a Mon Sep 17 00:00:00 2001
-From: Cyril Brulebois <kibi@debian.org>
-Date: Mon, 7 Nov 2011 23:29:29 +0100
-Subject: [PATCH] Fix build failure when passing --with-builderstring.
-
-If --with-builderstring="foo" is passed to configure (and sna enabled):
-  CC     sna_driver.lo
-src/sna/sna_driver.c: In function 'sna_init_scrn':
-src/sna/sna_driver.c:1023:7: error: token ""foo"" is not valid in preprocessor expressions
-
-Fix the missing defined() around the BUILDER_DESCRIPTION variable.
-
-Signed-off-by: Cyril Brulebois <kibi@debian.org>
----
- src/sna/sna_driver.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
-index 770a5bd..763a5a3 100644
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -1068,7 +1068,7 @@ void sna_init_scrn(ScrnInfoPtr scrn, int entity_num)
- #if defined(USE_GIT_DESCRIBE)
- 	xf86DrvMsg(scrn->scrnIndex, X_INFO,
- 		   "SNA compiled from %s\n", git_version);
--#elif BUILDER_DESCRIPTION
-+#elif defined(BUILDER_DESCRIPTION)
- 	xf86DrvMsg(scrn->scrnIndex, X_INFO,
- 		   "SNA compiled: %s\n", BUILDER_DESCRIPTION);
- #endif
--- 
-1.7.7.3
-
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 3569ab4..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-0001-Fix-build-failure-when-passing-with-builderstring.patch

commit b5c77a6aaf520e331e82409b2592911cb1bb3100
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Aug 26 12:48:18 2012 +0100

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

diff --git a/NEWS b/NEWS
index 1ad769e..54f2caa 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,18 @@
+Release 2.20.5 (2012-08-26)
+===========================
+Another silly bug found, another small bugfix release. The goal was for
+the driver to bind to all Intel devices supported by the kernel.
+Unfortunately we were too successful and started claiming Pouslbo,
+Medfield and Cedarview devices which are still encumbered by propietary
+IP and not supported by this driver.
+
+Bugs fixed since 2.20.4:
+
+ * Only bind to Intel devices using the i915 kernel module
+
+ * Regression in the bitmap-to-region code, e.g. icewm window buttons
+   https://bugs.freedesktop.org/show_bug.cgi?id=53699
+
 Release 2.20.4 (2012-08-18)
 ===========================
 Continuing the small bugfix releases, the only real feature is initial
diff --git a/configure.ac b/configure.ac
index a9c6336..114e721 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-intel],
-        [2.20.4],
+        [2.20.5],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-intel])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 454cc8453af1852758c3396dbe303c13c5c1be27
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 24 08:48:12 2012 +0100

    sna: Submit the partial batch before throttling
    
    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 9bc8c48..fd9728c 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -13691,8 +13691,10 @@ static void sna_accel_throttle(struct sna *sna)
 {
 	DBG(("%s (time=%ld)\n", __FUNCTION__, (long)TIME));
 
-	if (sna->kgem.need_throttle)
+	if (sna->kgem.need_throttle) {
+		kgem_submit(&sna->kgem);
 		kgem_throttle(&sna->kgem);
+	}
 
 	if (!sna->kgem.need_retire)
 		sna_accel_disarm_timer(sna, THROTTLE_TIMER);

commit 0e1e83ed4952f620e9422e58f955a5aea406e300
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 24 00:59:31 2012 +0100

    sna: Allow the batch to be flushed if the GPU is idle upon a context switch
    
    Submit early, submit often in order to keep the GPU busy. As always we
    trade off CPU overhead versus concurrency.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c
index 9e51cb7..d2f6fe7 100644
--- a/src/sna/gen2_render.c
+++ b/src/sna/gen2_render.c
@@ -3124,8 +3124,16 @@ gen2_render_context_switch(struct kgem *kgem,
 {
 	struct sna *sna = container_of(kgem, struct sna, kgem);
 
+	if (!kgem->mode)
+		return;
+
 	/* Reload BLT registers following a lost context */
 	sna->blt_state.fill_bo = 0;
+
+	if (kgem_is_idle(kgem)) {
+		DBG(("%s: GPU idle, flushing\n", __FUNCTION__));
+		_kgem_submit(kgem);
+	}
 }
 
 bool gen2_render_init(struct sna *sna)
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 2894c58..aaf7e49 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -3509,6 +3509,9 @@ static void
 gen5_render_context_switch(struct kgem *kgem,
 			   int new_mode)
 {
+	if (!kgem->mode)
+		return;
+
 	/* Ironlake has a limitation that a 3D or Media command can't
 	 * be the first command after a BLT, unless it's
 	 * non-pipelined.
@@ -3522,6 +3525,11 @@ gen5_render_context_switch(struct kgem *kgem,
 		     __FUNCTION__));
 		sna->render_state.gen5.drawrect_limit = -1;
 	}
+
+	if (kgem_is_idle(kgem)) {
+		DBG(("%s: GPU idle, flushing\n", __FUNCTION__));
+		_kgem_submit(kgem);
+	}
 }
 
 static void
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 84e7902..bfbcfd8 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -2366,9 +2366,18 @@ static bool prefer_blt_ring(struct sna *sna)
 	return sna->kgem.ring != KGEM_RENDER;
 }
 
-static bool can_switch_rings(struct sna *sna)
+static bool can_switch_to_blt(struct sna *sna)
 {
-	return sna->kgem.mode == KGEM_NONE && sna->kgem.has_semaphores && !NO_RING_SWITCH;
+	if (sna->kgem.ring == KGEM_BLT)
+		return true;
+
+	if (NO_RING_SWITCH)
+		return false;
+
+	if (!sna->kgem.has_semaphores)
+		return false;
+
+	return sna->kgem.mode == KGEM_NONE || kgem_is_idle(&sna->kgem);
 }
 
 static inline bool untiled_tlb_miss(struct kgem_bo *bo)
@@ -2397,7 +2406,7 @@ try_blt(struct sna *sna,
 		return true;
 	}
 
-	if (can_switch_rings(sna) && sna_picture_is_solid(src, NULL))
+	if (can_switch_to_blt(sna) && sna_picture_is_solid(src, NULL))
 		return true;
 
 	return false;
@@ -3328,7 +3337,7 @@ fallback_blt:
 		if (too_large(extents.x2-extents.x1, extents.y2-extents.y1))
 			goto fallback_blt;
 
-		if ((flags & COPY_LAST || can_switch_rings(sna)) &&
+		if ((flags & COPY_LAST || can_switch_to_blt(sna)) &&
 		    sna_blt_compare_depth(&src->drawable, &dst->drawable) &&
 		    sna_blt_copy_boxes(sna, alu,
 				       src_bo, src_dx, src_dy,
@@ -3646,7 +3655,7 @@ static inline bool prefer_blt_fill(struct sna *sna,
 	if (PREFER_RENDER)
 		return PREFER_RENDER < 0;
 
-	return (can_switch_rings(sna) ||
+	return (can_switch_to_blt(sna) ||
 		prefer_blt_ring(sna) ||
 		untiled_tlb_miss(bo));
 }
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 99296fb..08ba6a0 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -2455,9 +2455,18 @@ gen7_composite_set_target(struct sna *sna, struct sna_composite_op *op, PictureP
 	return true;
 }
 
-inline static bool can_switch_rings(struct sna *sna)
+inline static bool can_switch_to_blt(struct sna *sna)
 {
-	return sna->kgem.mode == KGEM_NONE && sna->kgem.has_semaphores && !NO_RING_SWITCH;
+	if (sna->kgem.ring == KGEM_BLT)
+		return true;
+
+	if (NO_RING_SWITCH)
+		return false;
+
+	if (!sna->kgem.has_semaphores)
+		return false;
+
+	return sna->kgem.mode == KGEM_NONE || kgem_is_idle(&sna->kgem);
 }
 
 static inline bool untiled_tlb_miss(struct kgem_bo *bo)
@@ -2472,7 +2481,7 @@ static bool prefer_blt_bo(struct sna *sna, struct kgem_bo *bo)
 
 inline static bool prefer_blt_ring(struct sna *sna)
 {
-	return sna->kgem.ring != KGEM_RENDER || can_switch_rings(sna);
+	return sna->kgem.ring != KGEM_RENDER || can_switch_to_blt(sna);
 }
 
 static bool
@@ -2491,7 +2500,7 @@ try_blt(struct sna *sna,
 		return true;
 	}
 
-	if (can_switch_rings(sna)) {
+	if (can_switch_to_blt(sna)) {
 		if (sna_picture_is_solid(src, NULL))
 			return true;
 
@@ -3416,7 +3425,7 @@ fallback_blt:
 		if (too_large(extents.x2-extents.x1, extents.y2-extents.y1))
 			goto fallback_blt;
 
-		if ((flags & COPY_LAST || can_switch_rings(sna)) &&
+		if ((flags & COPY_LAST || can_switch_to_blt(sna)) &&
 		    sna_blt_compare_depth(&src->drawable, &dst->drawable) &&
 		    sna_blt_copy_boxes(sna, alu,
 				       src_bo, src_dx, src_dy,
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 1cf7957..825caa7 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1158,8 +1158,6 @@ void _kgem_add_bo(struct kgem *kgem, struct kgem_bo *bo)
 
 static uint32_t kgem_end_batch(struct kgem *kgem)
 {
-	kgem->context_switch(kgem, KGEM_NONE);
-
 	kgem->batch[kgem->nbatch++] = MI_BATCH_BUFFER_END;
 	if (kgem->nbatch & 1)
 		kgem->batch[kgem->nbatch++] = MI_NOOP;
@@ -1758,6 +1756,21 @@ bool kgem_retire(struct kgem *kgem)
 	return retired;
 }
 
+bool __kgem_is_idle(struct kgem *kgem)
+{
+	struct kgem_request *rq;
+
+	assert(!list_is_empty(&kgem->requests));
+
+	rq = list_last_entry(&kgem->requests, struct kgem_request, list);
+	if (kgem_busy(kgem, rq->bo->handle))
+		return false;
+
+	kgem_retire__requests(kgem);
+	assert(list_is_empty(&kgem->requests));
+	return true;
+}
+
 static void kgem_commit(struct kgem *kgem)
 {
 	struct kgem_request *rq = kgem->next_request;
diff --git a/src/sna/kgem.h b/src/sna/kgem.h
index 583bafc..d085a2f 100644
--- a/src/sna/kgem.h
+++ b/src/sna/kgem.h
@@ -258,15 +258,13 @@ void kgem_bo_set_binding(struct kgem_bo *bo, uint32_t format, uint16_t offset);
 
 void kgem_bo_retire(struct kgem *kgem, struct kgem_bo *bo);
 bool kgem_retire(struct kgem *kgem);
+bool __kgem_is_idle(struct kgem *kgem);
 static inline bool kgem_is_idle(struct kgem *kgem)
 {
 	if (list_is_empty(&kgem->requests))
 		return true;
 
-	if (!kgem_retire(kgem))
-		return false;
-
-	return list_is_empty(&kgem->requests);
+	return __kgem_is_idle(kgem);
 }
 struct kgem_bo *kgem_get_last_request(struct kgem *kgem);
 
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index 8373890..0d4d706 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -246,6 +246,14 @@ static void
 no_render_context_switch(struct kgem *kgem,
 			 int new_mode)
 {
+	if (!kgem->mode)
+		return;
+
+	if (kgem_is_idle(kgem)) {
+		DBG(("%s: GPU idle, flushing\n", __FUNCTION__));
+		_kgem_submit(kgem);
+	}
+
 	(void)kgem;
 	(void)new_mode;
 }

commit 5059db0697c5516f1538f7062937664baf7b1c2e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 24 00:21:07 2012 +0100

    sna: Correct a pair of DBG messages
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 257dbc8..84e7902 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1235,7 +1235,7 @@ gen6_bind_bo(struct sna *sna,
 	if (offset) {
 		DBG(("[%x]  bo(handle=%d), format=%d, reuse %s binding\n",
 		     offset, bo->handle, format,
-		     domains & 0xffff ? "render" : "sampler"));
+		     is_dst ? "render" : "sampler"));
 		if (is_dst)


Reply to: