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

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



 ChangeLog                     |  825 +++++++++++++++++++++++++++++++++++
 NEWS                          |   40 +
 configure.ac                  |   28 -
 debian/changelog              |   20 
 man/intel.man                 |   13 
 src/Makefile.am               |    1 
 src/intel.h                   |   17 
 src/intel_display.c           |    2 
 src/intel_dri.c               |  146 ------
 src/intel_driver.c            |   34 -
 src/intel_options.c           |    1 
 src/intel_options.h           |    1 
 src/intel_shadow.c            |  200 --------
 src/intel_uxa.c               |   34 -
 src/intel_video.c             |    3 
 src/legacy/i810/Makefile.am   |    3 
 src/legacy/i810/i810.h        |    8 
 src/legacy/i810/i810_accel.c  |  343 +-------------
 src/legacy/i810/i810_dri.c    |    2 
 src/legacy/i810/i810_driver.c |   35 -
 src/legacy/i810/i810_xaa.c    |  320 +++++++++++++
 src/sna/fb/fbbitmap.c         |   11 
 src/sna/fb/fbblt.c            |   44 -
 src/sna/fb/fbclip.c           |   13 
 src/sna/fb/fbclip.h           |   25 -
 src/sna/fb/fbcopy.c           |   41 -
 src/sna/fb/fbfill.c           |   30 -
 src/sna/fb/fbtile.c           |   27 -
 src/sna/gen2_render.c         |   48 +-
 src/sna/gen3_render.c         |   47 +-
 src/sna/gen4_render.c         |  334 ++++++++++++++
 src/sna/gen5_render.c         |   50 +-
 src/sna/gen6_render.c         |  780 +++++++++++++++++----------------
 src/sna/gen6_render.h         |    4 
 src/sna/gen7_render.c         |  640 +++++++++++++--------------
 src/sna/kgem.c                |  911 ++++++++++++++++++++++++---------------
 src/sna/kgem.h                |   55 +-
 src/sna/sna.h                 |   16 
 src/sna/sna_accel.c           |  977 +++++++++++++++++++++++++++++++-----------
 src/sna/sna_blt.c             |  309 ++++++-------
 src/sna/sna_display.c         |   54 +-
 src/sna/sna_dri.c             |   62 +-
 src/sna/sna_driver.c          |   12 
 src/sna/sna_glyphs.c          |   78 ++-
 src/sna/sna_io.c              |   14 
 src/sna/sna_render.c          |  200 +++++---
 src/sna/sna_render.h          |   21 
 src/sna/sna_render_inline.h   |    3 
 src/sna/sna_trapezoids.c      |  366 ++++++++++-----
 src/sna/sna_video.c           |    2 
 50 files changed, 4510 insertions(+), 2740 deletions(-)

New commits:
commit 259c36c63e6984743462e493a7ae12d13116ce45
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 25 08:54:39 2012 +0200

    Update to 2.20.1 point release
    
    * Update to 2.20.1 point release:
      - A bug affecting gen4 handling of trapezoids was fixed, and CPU
        overhead reduced.
        https://bugs.freedesktop.org/show_bug.cgi?id=52158
      - A fix for a bug causing corruption of a DRI2 unredirected client
        window that was resized whilst under a compositor.
      - Support for snoopable buffers on non-LLC architectures, coming to
        a future kernel. The aim to accelerate transfers between the CPU
        and the GPU, in particular to dramatically improve readback
        performance, and to further minimise clflushes.
      - Improvement to the composite performance on GT2 SandyBridge and
        IvyBridge devices, in particular the render copy is significantly
        improved.
      - Improved handling for when acceleration is disabled, including
        permitting DRI2 to remain supported even if the X server believes
        the GPU wedged.
      - Shadow support was dropped from UXA as it was neither complete nor
        correct, use SNA instead.

diff --git a/ChangeLog b/ChangeLog
index d179e21..82dbbf6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,828 @@
+commit 83f683b47063eab8cfb5037d02133dd977c3fc25
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jul 22 23:20:23 2012 +0100
+
+    2.20.1 release
+    
+    A good brown paper bag bug release for SNA.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9402bdcc13f7e96dfe527ff4a3da8d13a7870a02
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jul 22 22:14:52 2012 +0100
+
+    sna/glyphs: Also discard the glyph mask for bitmaps with an opaque source
+    
+    Though I expect all such glyphs to be caught by the non-overlapping
+    checks...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b315e0ebb75d8391ebef7ebe53741a5e33c968bb
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jul 22 20:07:38 2012 +0100
+
+    sna: Tweak the fallback hints for XYPixmap PutImage
+    
+    As the fallback uses a multiple-pass algorithm updating one plane at a
+    time, we wish to prepare the fallback surface for reads.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8acaf2693e176a92993a498683f121cfe0343fd4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jul 22 12:28:34 2012 +0100
+
+    sna: Promote tiled operations to the GPU if the tile is already on the GPU
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7d4a3e371beea65bf66e54ae13789d6d5ca91f8b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jul 22 11:19:13 2012 +0100
+
+    sna: Use an upload buffer for large stipples
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 40e0cf32a25e43e16184b2af87a1e1abeb8e4052
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 19:43:23 2012 +0100
+
+    sna/dri: We fail at predicting the flip frame
+    
+    Simply report the values from the kernel, and transfer the blame...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c6e316eeba3008b351f2cd63829154f4672c5417
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 18:18:32 2012 +0100
+
+    sna: Adjust hints to prefer rendering convex polygon with the GPU
+    
+    Keep the general polygons as only using the GPU if necessary, until the
+    cost of the routines is analysed.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f1e7248cb353d634f27d297059911168ce1a0762
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 16:08:31 2012 +0100
+
+    sna: Expand the heuristic for predicting when to use CPU bo for readback
+    
+    For tiny transfers, the cost of setting up the GPU operation outweighs
+    the actual savings through increased throughput. So we try to guess when
+    it will be preferrable to simply read from the GPU bo directly.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 06db69c2c7023f702f9773be90144fdf7a1159e4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 15:28:10 2012 +0100
+
+    sna: Update assertion for cached io buffers
+    
+    As kgem_buffers may be reused and repurposed through the snoop cache it
+    is no longer true that only proxies will have the io flag set.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d715e1e01437049e167462281d51b5e214594361
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 15:04:31 2012 +0100
+
+    sna: Also discard the last-was-cpu flag when overwriting cpu damage
+    
+    We interpret a FillRect that erradicates the existing damage as a
+    clear-event and an opportunity to see if it is worth migrating the
+    render commands to the GPU. This is undermined if we leave the
+    'prefer-cpu' flag intact.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e95825d17ce65ad8173a5e6518a98969e236a4f8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 14:38:17 2012 +0100
+
+    sna: Enable snooping on the reused linear buffer
+    
+    This explains why suddenly I was seeing clflush again on a couple of
+    machines...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c5e6b5874f334b9124a17f017c6eb175cf88f115
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 14:26:52 2012 +0100
+
+    sna: Fix the reversed not SHM assertion
+    
+    Should be double checking that we are not about to free a CPU bo pinned
+    to a SHM pixmap.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f36b656ab2bc16ec8849cadb0afb574bb742c3a3
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 13:18:40 2012 +0100
+
+    sna: Avoid marking io/snoop buffers as unreusable unnecessarily
+    
+    As they are kept in special caches, we can reserve the unreusable flags
+    for exceptional buffers.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 37dfdb0e9e86effc3ca8b590c98aa2382e8f0cea
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 13:01:09 2012 +0100
+
+    sna: Correct assertion for __kgem_bo_size()
+    
+    Only proxies are measured in bytes not pages.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 83ad661bc73e9d0094b669c5203e25afc3937bb7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 12:51:41 2012 +0100
+
+    sna: Change the vmap interface name to userptr
+    
+    This is in common with the other drivers and avoids the conflict with
+    'vmalloc/vmap' used by the kernel for allocation of contiguous virtual
+    mappings.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8dcccd308222bcf1b96f2ee15842b4558ea5f29e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 12:47:21 2012 +0100
+
+    sna: s/vmap/snoop/ since we use the flag more generically
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6acc9e6a6e1de2a11597c810e02f793774cef2dd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jul 21 12:07:46 2012 +0100
+
+    sna: Fix role reversal of __kgem_bo_size() and kgem_bo_size()!
+    
+    Reported-by: Jiri Slaby <jirislaby@gmail.com>
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 286b0e1a48cab85191dfbb112c8dd14aeaa70956
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 16:04:37 2012 +0100
+
+    sna: Refresh experimental userptr vmap support
+    
+    Bring the code uptodate with both kernel interface changes and internal
+    adjustments following the creation of CPU buffers with set-cacheing.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 93c794eb3f80bef64f1619986a7c950229dc7a47
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 20:34:53 2012 +0100
+
+    sna: Micro-optimise copying boxes with the blitter
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a0d95a9c2d3a27eafbe459e2aefe772c006e596f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 20:34:23 2012 +0100
+
+    sna: Only update a buffer when it becomes dirty
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c52d265b83b033fb2a275fcc9a8a8d146e3afdf6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 19:38:38 2012 +0100
+
+    sna: Tweak CPU bo promotion rules for CopyArea
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f92a64dd9162731210b14368b6ee408356d7fefc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 15:54:35 2012 +0100
+
+    sna: Only set the vmap flag after we make the bo snoopable
+    
+    Otherwise if we fail then we incorrectly add the handle to the vmap
+    cache.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8b4cf24f1403bf3d929cc0725de66b3d0e08ebaf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 14:46:32 2012 +0100
+
+    sna: Also check whether the first upload box can use the BLT
+    
+    No point checking boxes 1..n if box 0 is the troublemaker!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit df14b285be44f0c40a718bb8ae09a9558b1eb2c7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 14:35:28 2012 +0100
+
+    sna/gen6: Prefer the more flexible render ring for large surfaces
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 578ff11c3753ede2c81afc47302991e3d3b316f2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 14:24:06 2012 +0100
+
+    sna: Just use composite.box() when we only have one box
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fb7987fc0b51cf3b83dcf78bcefe65ec3af32ccf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 13:12:27 2012 +0100
+
+    sna/dri: Cleanup ring selection for SNB+ CopyRegion
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3b56588fbaa2c4ccdfb2f2a8f5656d2cda9dacd7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 10:19:25 2012 +0100
+
+    sna: Update WIP userptr example usage
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 473a1dfb683ed576d86b37aba36aaa0e379f4606
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 09:56:13 2012 +0100
+
+    sna: Rename kgem_partial_bo to kgem_buffer
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8e6e8a2fa8adda9ae9be8a88fbb14851e9d2df2e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Jul 20 09:51:46 2012 +0100
+
+    sna: Allow the snoopable upload buffer to take pages from the CPU vma cache
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 979035bb9ce04db5fe30efa4f6daab0a40f6af57
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 20:06:28 2012 +0100
+
+    sna: Remove topmost unused 'flush' attribute
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b83011909aaf185f05fc2df743882c2410eff46d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 19:51:46 2012 +0100
+
+    sna: Replace 'sync' flag with equivalent 'flush'
+    
+    The only difference is in semantics. Currently 'sync' was only used on
+    CPU buffers for shared memory segments with 2D clients, and 'flush' on GPU
+    buffers shared with DRI clients.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 88bee3caeaacbbb1b4d789ea3db9a3802a62b59d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 19:40:34 2012 +0100
+
+    sna: Remove unused scanout-is-dirty? flag
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6f60f89588caa70e7d8ed53ba453bbe8c2094a95
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 16:58:34 2012 +0100
+
+    sna/gen6: Bump the WM thread count to 80
+    
+    Note that we should only do this when "WiZ Hashing" is disabled. So we
+    should be checking the GT_MODE register (bring on i915_read!) to be sure
+    that is safe to do so. However, it gives a big boost to performance of
+    render copies...  It also causes perf benchmarks to hit thermal limits
+    much quicker.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fc39d4b5cb105d269c5349e479daf112f5d93580
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 16:25:54 2012 +0100
+
+    sna/gen6: Add a simple DBG option to limit usage of either BLT/RENDER
+    
+    We can force the code to either select only BLT or RENDER operations -
+    for those that we have a choice for at least!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 15d3eea7004822e5cbd48d676692e1b6a2b26d3e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 16:22:20 2012 +0100
+
+    sna: Handle mixed bo/buffers in assertions
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e4fce3b7801038e4f64d848a0995f4b441b4d2aa
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 10:50:09 2012 +0100
+
+    sna/gen4: Hookup composite spans
+    
+    Due to the unresolved flushing bug it is no faster (so only enable when
+    we definitely can't do the operation inplace), however it does eliminate
+    a chunk of CPU overhead.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5f138176bf15682324d2e8cfa9fac3e49604bf8f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 10:32:33 2012 +0100
+
+    sna: Tweak order of screen re-initialisation
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9bd0f8f3e7783d7a6bab707fc08ec96830cd5809
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 09:40:07 2012 +0100
+
+    i810: Correct the double negative and enable XAA when available
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d145d0e1459f578eea621e6944814642e5dd431f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 09:23:10 2012 +0100
+
+    i810: Handle initialisation without the XAA module present at runtime
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7a3b98e05b706548527e73b2008600391c601a62
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 19 08:42:05 2012 +0100
+
+    sna: Re-register the SHM funcs every server generation
+    
+    As the SHM layer hooks into the CloseScreen chain to free its privates,
+    we then need to call the registration function again on the next
+    generation to ensure that the private is reallocated before use.
+    
+    Reported-by: Pawel Sikora <pluto@agmk.net>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52255
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4bcab83bbddf8a698aa83f5038f9ab019a404bd5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 22:19:45 2012 +0100
+
+    i810: DRI is not dependent upon XAA
+    
+    The blit routines is uses are independent of the XAA driver interface
+    and can be used separately.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 558c8251299b786cab1ac83dbd35f077224b5950
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 22:00:30 2012 +0100
+
+    sna/gen4+: Drop unsupported source formats
+    
+    Once again I've confused existence of the enum with the ability of the
+    sampler to read that format.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9f3b3098c9f870d303a9de2b9c0db119eff5a865
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 21:39:47 2012 +0100
+
+    sna/dri: Allow DRI2 to be loaded even if we are wedged
+    
+    Just because the GPU is spitting EIO at us does not necessarily imply
+    that a DRI client will also suffer. Spit out a warning for later bug
+    reporting and let them find out for themselves!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 15b7191fd363e9e6083844a218e25419695d55f1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 12:59:41 2012 +0100
+
+    sna/gen6: Micro-optimise render copy emission
+    
+    Backport of the changes made for IVB.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4eea9ac0035dd72f3c637adc39eeaeda46472e9e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 12:59:41 2012 +0100
+
+    sna/gen7: Micro-optimise render copy emission
+    
+    The goal is bring the overhead down to that of using the blitter. Tricky
+    given the number of steps to using the 3D pipeline compared to the
+    BLT...
+    
+    A stretch goal would be to make IVB GPU bound for -copywinpix10!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 267429bbb146449ee4d3b88fa8e23c5b1d53470a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 19:24:44 2012 +0100
+
+    sna: Enable runtime detection of set-cacheing ioctl
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c0b3674d042ff55d64ad1fd0d64926e1967be323
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 20:48:27 2012 +0100
+
+    sna/trapezoids: Only reduce bounded operators to a single pass
+    
+    Only for a few operators can we replace the opacity mask by
+    premultiplying into the source.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bb0303677c38076db14dfbceec3636197a971e8c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 10:40:50 2012 +0100
+
+    sna/trapezoids: Use pixman from within the spans to reduce two-pass operations
+    
+    Reduce the two pass CompositeTrapezoids if we can perform the operation
+    inplace by calling pixman_image_composite from the span. This step
+    enables this for xrgb32.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bee1a14618797b3d3a1c1a20eb72644fa907c048
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 09:38:32 2012 +0100
+
+    sna: Fix processing of the last fallback box
+    
+    The evil typo caused us to misalign the clip boxes and run over a
+    garbage array on 64-bit builds.
+    
+    Reported-by: Edward Sheldrake <ejsheldrake@gmail.com>
+    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52163
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 88cb1968b6dbf3edfa885da9503e91124af46007
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 09:38:03 2012 +0100
+
+    sna: Add more DBG for fallback processing
+    
+    Hunting the lost box...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 36f2e46619598e9bca4fe1207aa2f157bfa1ecf4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 00:45:54 2012 +0100
+
+    sna: Reuse the snoopable cache more frequently for upload buffers
+    
+    Now that we are keeping a small cache of snoopable buffers, experiment
+    with using them for uploads more frequently.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 73f07abbd2d78418e5a66262f293b5ed80b7ccb4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jul 18 00:19:49 2012 +0100
+
+    sna: Maintain a short-lived cache of snoopable CPU bo for older gen
+    
+    Once again, we find that frequent buffer creation and manipulation of the
+    GTT is a painful experience leading to noticeable and frequent application
+    stalls. So mitigate the need for fresh pages by keeping a small stash of
+    recently freed and inactive bo.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 77520641a332a622c0b5378bd254ed5cb46a5f0a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 22:09:33 2012 +0100
+
+    i810: Replace XAAGet.*ROP() with local tables
+    
+    The XAAGetPatternROP() and XAAGetCopyROP() functions were removed along
+    with the rest of XAA so we need to implement those tables locally.
+    
+    Reported-by: Knut Petersen <Knut_Petersen@t-online.de>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit caef63e0268e59e439b030a9a338e81d5cf8e311
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 21:22:57 2012 +0100
+
+    i810: Split xaa routines from common acceleration methods
+    
+    Some of the routines in i810_accel.c are specific to XAA whilst others
+    are used elsewhere, for example in i810_dri.c. Therefore we have to be
+    selective over which ones we compile out without xaa.
+    
+    Reported-by: Knut Petersen <Knut_Petersen@t-online.de>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 53ff19f45a3cc4863845c23e8d3c2c2b95e03fd9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 19:40:16 2012 +0100
+
+    sna: Allow wedged CopyPlane to operate inplace on the destination
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d4fa4d5494db45b227c9ae7f7a90cd5dfd940027
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 19:29:32 2012 +0100
+
+    sna: Allow inplace copies for wedged CopyArea
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 217eeadf81a8cbb43e495e1e937acdd95c703377
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 19:35:06 2012 +0100
+
+    sna: Allow operation inplace to scanout whilst wedged
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 40ff29480a0dbf458adf1a1b0d3275ad1361530e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 18:38:49 2012 +0100
+
+    sna: Tweak fast blt path
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fce69c79c4840e7863d7c382da0d22be90a9f19a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 18:28:24 2012 +0100
+
+    sna: prefer fbBlt over pixman_blt
+    
+    It is currently much better optimised through memcpy.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c29f96d50839388377ad57c6366f9bc7ad8b9d0a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 13:02:51 2012 +0100
+
+    sna/gen7: Bump the number of pixel shader threads for IVB GT2
+    
+    Spotted-by: Kilarski, Bernard R" <bernard.r.kilarski@intel.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 799bae9e8ff53fb1b5c74f3278d530a58d66de9a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 17:07:10 2012 +0100
+
+    sna/dri: Do not allow an exchange to take place on invalid buffers
+    
+    If the SwapBuffers is called after we have resized a Window but before
+    the client has processed the Invalidate notification, then the
+    SwapBuffers will be referring to a pair of stale buffers. As the buffers
+    are no longer attached to the Pixmap, we can not simply exchange them.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 067aeaddb8047f01ae3a20b26ba0acf5ba2d035f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 15:33:19 2012 +0100
+
+    sna: Rebalance choice of GPU vs CPU bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7ebeea3f5c71959773478de44b08a967fe5acc8b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 15:10:43 2012 +0100
+
+    sna: Avoid the CPU bo readback for render paths
+    
+    As we exclude using the CPU bo if there is overlapping GPU damage, we
+    can forgo the call to keep the transfer the damage.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ed8c729ed02705fd03be1ab22a94b5aae13567c8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 11:21:30 2012 +0100
+
+    sna: Catch the short-circuit path for clearing clear on move-to-gpu as well
+    
+    I thought the short-circuit path was only taken when already clear, I
+    was wrong.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 359b9cc82de13b0ac89692896ac6104ff3be308b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 10:26:27 2012 +0100
+
+    sna: Limit the use of snoopable buffers to read/write uploads
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4f21dba6ee505217d63edd84611622e05aeb4593
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 09:26:46 2012 +0100
+
+    sna: Only drop the clear flag when writing to the GPU pixmap
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fbfbbee8288aba1e4754fd2dbc02e71f5e118cda
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 09:20:21 2012 +0100
+
+    sna: Fix glyph DBG to include clip extents and actual glyph origin
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f0ed0ca234a4bed986824845ff70e8554c0e579f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jul 17 08:35:20 2012 +0100
+
+    sna: Promote an undamaged pixmap to use the full GPU
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 1f79e877fb6602bd0f9dd14ac9c3511f3b7044fb
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 21:18:24 2012 +0100
+
+    sna: Share the pixmap migration decision with the BLT composite routines
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d141a2d59007866c9eaad020c744be446e70c346
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 23:20:58 2012 +0100
+
+    sna: Disable snoopable bo for gen4
+    
+    Further inspection reveals that whilst it may not hang the GPU, the
+    results are not pleasant or complete.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 107feed2a4ca044313c70f83a62909187ff1f905
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 18:58:30 2012 +0100
+
+    sna: Disable snoopable uplaod buffers for gen4
+    
+    The sampler really does not like using snoopable buffers...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 818c21165c746b7b410a6e6e23b1675d88db685d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 16:28:00 2012 +0100
+
+    sna: Fixup pixmap validation for sna_copy_area()
+    
+    Remember to offset the box by the drawable deltas in order to
+    compensate for compositing.
+    
+    Reported-by: Jiri Slaby <jirislaby@gmail.com>
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=52142
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 623d84bed7c47ac39348775ce35eec54196f6dac
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 16:07:37 2012 +0100
+
+    Wrap defines to avoid redefinition warnings
+    
+    Currently this only catches out ARRAY_SIZE, but wrap the other common
+    defines for consistency.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 907a2a7c97514d3f7610648ed87c7042a857f786
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 14:47:03 2012 +0100
+
+    sna/trapezoids: Fix inplace unaligned fills (on gen4)
+    
+    Reported-by: Sergio Callegari <sergio.callegari@gmail.com>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52150
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6ce2f40249231f57cf464361ea5329cee1932ccf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 14:46:39 2012 +0100
+
+    sna/trapezoids: Add some DBG to unaligned fills
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2721214868685123c973970a8ce0d93346ae0ee2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 13:52:39 2012 +0100
+
+    sna: Move the disabling of CPU bo for gen4 to the render unit
+    
+    They appear to work fine with the BLT and only seem to cause issues when
+    used with the sammpler. So enable them for accelerated uploads and
+    downloads.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0777b146bf1a63c99e4d4af141e676a47b1f2dc9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 13:11:07 2012 +0100
+
+    sna: Use set-cache-level to allocate snoopable upload buffers
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 33443f7ee48fa54b6f4d09c93cddac0e32314b9c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 12:51:54 2012 +0100
+
+    sna: Add a couple of DBG options to control accelerated up/downloads
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 924060293826a1cc0d9d7bc26e913e46c6b2d054
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 12:03:47 2012 +0100
+
+    sna: Discard and recreate the CPU buffer when busy during move-to-cpu
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7024ef771ff170e61e788b5216c86b46e0f8ae6a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 12:15:54 2012 +0100
+
+    sna: Add a few DBG to show when CPU bos are being used for xfer
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c564414157e27417f0de1c0542dafd9b47e01eda
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 09:34:30 2012 +0100
+
+    sna: Disable the scanout flush when switch off via DPMS
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 536e7ab756d6821db79e4cd79a250af1c0f7d5a3
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jul 16 12:16:26 2012 +0100
+
+    intel: Don't use stdbool without declaring it
+    
+    Reported-by: Fabio Pedretti <fabio.ped@libero.it>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0c32be15b06ad63c1fc1371de879f2d879080f6b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jul 5 19:26:48 2012 +0100
+
+    uxa: Remove Shadow hack
+    
+    This was an incomplete hack so deprecate in favour of Shadow-on-Steriods,
+    SNA.
+    
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=47324
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
 commit 6a18a0936eafc45ab920ab0eecf2fc2a601c41a7
 Author: Chris Wilson <chris@chris-wilson.co.uk>
 Date:   Sun Jul 15 20:26:00 2012 +0100
diff --git a/debian/changelog b/debian/changelog
index bca80fa..efe5457 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,25 @@
-xserver-xorg-video-intel (2:2.20-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.20.1-1) UNRELEASED; urgency=low
 
   * New upstream release:
     - First official release with sna
+  * Update to 2.20.1 point release:
+    - A bug affecting gen4 handling of trapezoids was fixed, and CPU
+      overhead reduced.
+      https://bugs.freedesktop.org/show_bug.cgi?id=52158
+    - A fix for a bug causing corruption of a DRI2 unredirected client
+      window that was resized whilst under a compositor.
+    - Support for snoopable buffers on non-LLC architectures, coming to
+      a future kernel. The aim to accelerate transfers between the CPU
+      and the GPU, in particular to dramatically improve readback
+      performance, and to further minimise clflushes.
+    - Improvement to the composite performance on GT2 SandyBridge and
+      IvyBridge devices, in particular the render copy is significantly
+      improved.
+    - Improved handling for when acceleration is disabled, including
+      permitting DRI2 to remain supported even if the X server believes
+      the GPU wedged.
+    - Shadow support was dropped from UXA as it was neither complete nor
+      correct, use SNA instead.
 
  -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Mon, 16 Jul 2012 16:21:28 +0200
 

commit 83f683b47063eab8cfb5037d02133dd977c3fc25
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Jul 22 23:20:23 2012 +0100

    2.20.1 release
    
    A good brown paper bag bug release for SNA.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/NEWS b/NEWS
index 8e30d9e..a6819d4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,43 @@
+Release 2.20.1 (2012-07-22)
+===========================
+A week in, grab the brown paper bags, for it is time to reveal a couple
+of critical bugs that spoilt the 2.20.0 release.
+
+Firstly we have the restoration of DRI for i810. I am sure that the
+solitary user will be overjoyed in a couple of years when a new xserver
+is forced upon him. That enjoyment will be short-lived when as no actual
+acceleration remains, not even shadow, for the chipset.
+
+Perhaps a little more wildly felt, I hope!, will be that the SNA
+fallbacks were broken on 64-bit machines if they required clipping. One
+little misplaced cast of a pointer, and the screen is filled with
+corruption.
+
+Among the other tweaks this week:
+
+* A bug affecting gen4 handling of trapezoids was fixed, and CPU
+  overhead reduced.
+  https://bugs.freedesktop.org/show_bug.cgi?id=52158
+
+* A fix for a bug causing corruption of a DRI2 unredirected client
+  window that was resized whilst under a compositor.
+
+* Support for snoopable buffers on non-LLC architectures, coming to
+  a future kernel. The aim to accelerate transfers between the CPU
+  and the GPU, in particular to dramatically improve readback
+  performance, and to further minimise clflushes.
+
+* Improvement to the composite performance on GT2 SandyBridge and
+  IvyBridge devices, in particular the render copy is significantly
+  improved.
+
+* Improved handling for when acceleration is disabled, including
+  permitting DRI2 to remain supported even if the X server believes
+  the GPU wedged.
+
+* Shadow support was dropped from UXA as it was neither complete nor
+  correct, use SNA instead.
+
 Release 2.12.0 (2012-07-15)
 ===========================


Reply to: