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

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



 COPYING                |  169 +++
 ChangeLog              | 2518 +++++++++++++++++++++++++++++++++++++++++++++++++
 NEWS                   |  162 +++
 configure.ac           |    4 
 debian/README.source   |    2 
 debian/changelog       |   14 
 debian/control         |    8 
 debian/xsfbs/xsfbs.mk  |   35 
 src/Makefile.am        |    6 
 src/common.h           |    3 
 src/drmmode_display.c  |   87 -
 src/i810_dga.c         |    4 
 src/i810_dri.c         |   91 -
 src/i810_driver.c      |   12 
 src/i810_hwmc.c        |   10 
 src/i810_video.c       |   26 
 src/i830.h             |  135 +-
 src/i830_3d.c          |    4 
 src/i830_accel.c       |    2 
 src/i830_batchbuffer.c |  172 +--
 src/i830_batchbuffer.h |   93 -
 src/i830_dri.c         |  265 ++---
 src/i830_driver.c      |  176 ---
 src/i830_hwmc.c        |  239 +++-
 src/i830_hwmc.h        |   54 -
 src/i830_memory.c      |  172 +--
 src/i830_render.c      |  294 +++--
 src/i830_uxa.c         |  680 ++++++++-----
 src/i830_video.c       |   54 -
 src/i830_video.h       |    2 
 src/i915_3d.c          |   11 
 src/i915_3d.h          |  860 +++++++++-------
 src/i915_hwmc.c        |  301 -----
 src/i915_hwmc.h        |   47 
 src/i915_reg.h         |   27 
 src/i915_render.c      | 1152 ++++++++++++++--------
 src/i915_video.c       |  160 +--
 src/i965_hwmc.c        |  280 -----
 src/i965_hwmc.h        |   16 
 src/i965_render.c      |  191 ++-
 src/i965_video.c       |   26 
 src/xvmc/Makefile.am   |    2 
 src/xvmc/i915_xvmc.c   |  239 ----
 src/xvmc/i915_xvmc.h   |   34 
 src/xvmc/i965_xvmc.c   |   90 -
 src/xvmc/i965_xvmc.h   |    1 
 src/xvmc/intel_xvmc.c  |  233 ----
 src/xvmc/intel_xvmc.h  |   49 
 src/xvmc/xvmc_vld.c    |  139 --
 src/xvmc/xvmc_vld.h    |    1 
 uxa/uxa-accel.c        |  543 +++++++---
 uxa/uxa-glyphs.c       | 1526 +++++++++++++++++------------
 uxa/uxa-priv.h         |  118 +-
 uxa/uxa-render.c       | 1359 +++++++++++++++++++-------
 uxa/uxa.c              |   82 -
 uxa/uxa.h              |   46 
 56 files changed, 8391 insertions(+), 4635 deletions(-)

New commits:
commit fdc3faf1a5e9ec6eee697febf3d25e72eb72eeb7
Author: Brice Goglin <bgoglin@debian.org>
Date:   Sat Jun 26 00:27:17 2010 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index bf5c8b0..b37430d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xserver-xorg-video-intel (2:2.12.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.12.0-1) experimental; urgency=low
 
   * New upstream release.
     + Fix Xv distortion, closes: #581705.
   * Bump libdrm build-dependency to 2.4.21.
 
- -- Brice Goglin <bgoglin@debian.org>  Sat, 26 Jun 2010 00:22:00 +0200
+ -- Brice Goglin <bgoglin@debian.org>  Sat, 26 Jun 2010 00:26:59 +0200
 
 xserver-xorg-video-intel (2:2.11.0-1) experimental; urgency=low
 

commit 5f5f3c4b61cd74f8e23fa52896ef29ba81533a1f
Author: Brice Goglin <bgoglin@debian.org>
Date:   Sat Jun 26 00:24:23 2010 +0200

    Bump libdrm build-dependency to 2.4.21

diff --git a/debian/changelog b/debian/changelog
index 8f82027..c9d596d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xserver-xorg-video-intel (2:2.12.0-1) UNRELEASED; urgency=low
 
   * New upstream release.
     + Fix Xv distortion, closes: #581705.
+  * Bump libdrm build-dependency to 2.4.21.
 
  -- Brice Goglin <bgoglin@debian.org>  Sat, 26 Jun 2010 00:22:00 +0200
 
diff --git a/debian/control b/debian/control
index 3b07c29..61185d0 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Build-Depends:
  x11proto-xext-dev,
  x11proto-video-dev,
  libx11-dev,
- libdrm-dev (>= 2.4.18-3),
+ libdrm-dev (>= 2.4.21),
  x11proto-xf86dri-dev,
  x11proto-gl-dev,
  libgl1-mesa-dev | libgl-dev,

commit 7895d3616dc1b03ce5af024b933f5b1864702cfa
Author: Brice Goglin <bgoglin@debian.org>
Date:   Sat Jun 26 00:23:01 2010 +0200

    New upstream release

diff --git a/ChangeLog b/ChangeLog
index 988698a..bd36be7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,2521 @@
+commit ca16e3133658504b68a6b5c83bb8712899016544
+Author: Carl Worth <cworth@cworth.org>
+Date:   Thu Jun 24 14:07:15 2010 -0700
+
+    Update version to 2.12.0
+    
+    For the imminent 2.12.0 release.
+
+commit 8caf1564a75d65636d9b7a4da03219bb302bb37b
+Author: Carl Worth <cworth@cworth.org>
+Date:   Thu Jun 24 14:06:43 2010 -0700
+
+    NEWS: Add notes for the 2.12.0 release.
+    
+    Let it ship!
+
+commit b58a6a39c1568800938eb0e3ebc7664683b61200
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 23 23:56:44 2010 +0100
+
+    uxa: Fallback to pixman if source is out-of-bounds
+    
+    If the source is outside the drawable, then CopyArea will fail to
+    initialise the source correctly. The simplest fix in this case is to
+    fallback to pixman to generate the source texture.
+    
+    Fixes:
+    
+      Bug 28497 - Graphics corruption after opening a specific website
+      https://bugs.freedesktop.org/show_bug.cgi?id=28497
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6d33e578de4e23336ac69cc3c5d0935a65d4dda1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 23 21:28:50 2010 +0100
+
+    Limit maximum tiled stride to 8k and untiled to 32k.
+    
+    Tiling on gen 2/3 hardware is only supported for pitches up to 8192
+    bytes, so above this limit the surface will be untiled and we will no
+    longer have to comply with the power-of-two pitch alignment. So
+    disabling tiling for these too wide surface should ~halve the memory
+    requirement for the full surface.
+    
+    Also the absolute limit for the 2D blitter is 32,768 bytes. The
+    documentation says "up to 32,768 bytes" and my PineView box was
+    malfunction with a surface stride of 32,768 so set the limit to be
+    32,767.
+    
+    References:
+    
+      Bug 28497 - Graphics corruption after opening a specific website
+      https://bugs.freedesktop.org/show_bug.cgi?id=28497
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5bf470bd38b1f6a7a540585186a54c9dbbca98f9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 22:28:58 2010 +0100
+
+    i965: Compile fix.
+    
+    Oops, I spent more time discussing these flushing bugs than I spent
+    paying attention to what I was actually doing.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0203cf91b54ee8a7cea8560e559288ee9b6e8554
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 22:25:08 2010 +0100
+
+    Do not clear need_mi_flush within the batch.
+    
+    This is a situation that should not be possible, need_mi_flush being
+    true but the list of pending flush pixmaps being clear. However, an
+    earlier bug in doing just that revealed this minor bug. So for
+    correctness, be careful not to clear need_mi_flush without emitting a
+    MI_FLUSH.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5107b6fa26ecfdbdd60b869a86765c9c484db3a2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 22:21:58 2010 +0100
+
+    i965: Mark the render target as dirty within composite_setup()
+    
+    The key difference between i965 and earlier, is that the surfaces passed
+    to the samplers through an indirect table and so the batch and render
+    target was not being marked dirty by the relocation (since the
+    relocation only happens within prepare_composite() which may have been
+    in another batch.) Simply call intel_pixmap_mark_dirty() when binding
+    the sampler table into the batch to ensure that the dirty is tracked
+    appropriately.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bebd64d82121d2b61893e1d0adebda03f4faea61
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 22:05:19 2010 +0100
+
+    Also submit any pending flush for *this* batch in the BlockHander.
+    
+    We still need to submit an additional flush if we have further writes
+    since the last flush.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c4d200517755e6b0f48d6c6a6ba8dd0ddc883d8b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 21:57:21 2010 +0100
+
+    Only append the pixmap to the flushing list if we are writing to it.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c942585098ac84ae461821cbb8f52dedce7a0da1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 21 21:45:04 2010 +0100
+
+    Emit the flush after a potential draw from the BlockHandler.
+    
+    As the batch submit may not trigger further drawing through flushing the
+    vertices, pass the requirement to emit the flush down to the submission
+    routine so that the flush can be appended after the final commands.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e8783869ad55d337601b6f6a51c02f6576c64f38
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jun 20 00:09:20 2010 +0100
+
+    uxa: Apply the source offsets to the pixmap source, not target.
+    
+    A slight confusion in computing the correction image location resulted
+    in the application of the source offsets to the pixel location in the
+    target and not in the source as intended.
+    
+    Fixes the visual corruption of the scrollbar in Chromium, and hopefully
+    the crash reported by Robert Hooker when starting gdm after plymouth.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4b7142baa0b3bf6f38843d06aadc579d8624cefc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jun 19 12:30:23 2010 +0100
+
+    uxa: Enable SHM pixmaps
+    
+    Now with streaming uploads and downloads for composite operations in
+    place, shared memory pixmaps are no longer that dire performance wise.
+    With careful use these can in fact be the most efficient means of
+    transfer between a wholly software renderer in the client and a backing
+    store. For instance, Chromium renders internally to an ARGB32 image
+    buffer and uses a shared pixmap to composite dirty regions into the
+    backing store. Thereby using the GPU to either perform the blit or the
+    format conversion. Enabling shared pixmaps, reduces our CPU overhead
+    whilst scrolling by a factor of 5 or so.
+    
+    And this is achieved simply by deleting obsolete code!
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d748f8e6fcebdf5b5b00c90b6c3d519560ee2928
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jun 17 18:29:55 2010 +0100
+
+    uxa: Use accelerated get_image for copying to !offscreen
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 78ee25f005fac9e9cc85425aa3fca8c396d015ea
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jun 17 18:37:32 2010 +0100
+
+    uxa: Match depth 30 to format.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit af5c4fc96db56a14bf6347774d8e8f23b38c5967
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jun 19 13:36:20 2010 +0100
+
+    uxa: Check for allocation failure.
+    
+    Check for the NULL Picture prior to passing it to the backends for
+    inspection.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit be55066c6481b4c5e2cd39ef1c0f3be88cae0c93
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jun 17 14:23:21 2010 +0100
+
+    i830: Remove domain tracking from pixmaps.
+    
+    The 4 integers can be reduced to a single boolean value, so do so.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c187da9a24e98cbdf86f0f0dfbdcd9025c8a4c76
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 16 13:16:28 2010 +0100
+
+    i830: GetImage acceleration.
+    
+    The presumption is that we wish to keep the target hot, so
+    copy to a new bo and move that to the CPU in preference to
+    causing ping-pong of the original.
+    
+    Also the gpu is much faster at detiling.
+    
+    Before (PineView):
+     400000 trep @   0.1128 msec (  8860.0/sec): GetImage 10x10 square
+      18000 trep @   1.3839 msec (   723.0/sec): GetImage 100x100 square
+        800 trep @  30.0987 msec (    33.2/sec): GetImage 500x500 square
+    
+    After: (PineView)
+     180000 trep @   0.1478 msec (  6770.0/sec): GetImage 10x10 square
+      60000 trep @   0.4545 msec (  2200.0/sec): GetImage 100x100 square
+       4000 trep @   8.0739 msec (   124.0/sec): GetImage 500x500 square
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0e0101758438debf98f989d815989b45e78cf5f6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 15 12:48:57 2010 +0100
+
+    i830: Tidy i830_uxa_put_image()
+    
+    Use a single code path to upload the image data after selecting the
+    right bo, and take advantage of pwrite() when possible.
+    
+    Fixes:
+    
+      Bug 28569 - [i965] IGN's flash-based video player crashes X
+      https://bugs.freedesktop.org/show_bug.cgi?id=28569
+    
+      Bug 28573 - [i965] Fullscreen flash and windowed SDL games fail to
+                  update the screen
+      https://bugs.freedesktop.org/show_bug.cgi?id=28573
+    
+    Reported-and-tested-by: Brian Rogers <brian@xyzw.org>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2ff7a2fc9d939554502e9adec89cae5597a9e82c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jun 17 13:56:30 2010 +0100
+
+    i915: Force the emission of BUF_INFO on every composite_setup
+    
+    We should be able to eliminate these as the drawable remains unchanged.
+    However, the implicit flush of BUF_INFO fixes the rendering in KDE.
+    Alternatively, we need an MI_FLUSH | INHIBIT_RENDER_CACHE_FLUSH between
+    composites. (Note that it is not stale cache data causing the rendering
+    corruption and that a pipelined flush is not sufficient either.) Also,
+    having tried varies points at which to flush, the only place where the
+    flush is effective seems to be between composite operations - that is a
+    flush after 2D is not sufficient.
+    
+    Reported-by: Vasily Khoruzhick <anarsoul@gmail.com>
+    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a25573d5c47ebea34c076075e1993233d7db2b4f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 15 20:26:19 2010 +0100
+
+    drmmode: Use the tiled stride for the rotated pixmap.
+    
+    After d41684d5459 we now allocate all framebuffers as tiled bo, and so
+    we must be careful to use the appropriate stride as returned from the
+    allocation, instead of assuming that it is just an aligned width.
+    
+    Fixes:
+    
+      Bug 28461 - screen rotation results in corrupted output.
+      https://bugs.freedesktop.org/show_bug.cgi?id=28461
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Reported-by: Till Matthiesen <entropy@everymail.net>
+
+commit 23ddcf45344936da2931a3bf25bd187a9ea28344
+Merge: 254bcc4 ffc6897
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Tue Jun 15 17:46:52 2010 +0100
+
+    Merge commit '2.11.901'
+
+commit 254bcc40fca6ed9aa0b71f2115c654667f16aec6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 15 10:24:40 2010 +0100
+
+    configure: Bump drm requirement to 2.4.21
+    
+    We depend upon the recent introduction of drm_intel_bo_is_reusable().
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Reported-by: Julien Cristau <jcristau@debian.org>
+
+commit ffc689767fa56f2c7710e6f396441c3d8a24ea18
+Author: Carl Worth <cworth@cworth.org>
+Date:   Mon Jun 14 17:35:20 2010 -0700
+
+    Update version to 2.11.901
+    
+    For the 2.12 RC1 snapshot we're making now.
+
+commit 68c8b3f12482489f2e2e8040fd6728f1a2b9e420
+Author: Carl Worth <cworth@cworth.org>
+Date:   Mon Jun 14 17:34:38 2010 -0700
+
+    NEWS: Add notes for 2.11.901
+    
+    This is the 2.12 RC1 snapshot we're making now.
+
+commit 8899cd03e2e7ee673e8b3b2a9d2873839cdc1bf8
+Author: Carl Worth <cworth@cworth.org>
+Date:   Thu Jun 10 15:38:54 2010 -0700
+
+    Fix to require libdrm 2.4.19 or newer.
+    
+    This is necessary for the drm_intel_bo_emit_reloc_fence function which
+    did not exist in 2.4.16 which is all we were requiring earlier.
+
+commit 995a4b2b1d09c31672d9258a8ac732dcf9a8fe9f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 14 12:15:34 2010 +0100
+
+    i965: Sanity check ComponentAlpha status in prepare_composite
+    
+    Fixes:
+    
+      Bug 28446 - Garbled Font with Mathematica 7
+      https://bugs.freedesktop.org/show_bug.cgi?id=28446
+    
+    Rewriting the glyphs to render to the destination directly and removing
+    the more expensive multiple invocations of CompositePicture per picture
+    was a great performance boost -- except that it needs special handling
+    in the backend in order to not fallback. Having done so for i915, I
+    neglected to ensure the sanity checking in i965_prepare_composite() was
+    sufficient. As it turns out, it was not and so we misrendered CA-glyphs
+    when rendering directly to the destination. This causes us to fallback
+    properly, but is a performance regression as we no longer try the 2-pass
+    magic helper before resorting to s/w. At the moment, I'd rather live
+    with the temporary regression and fix i965 to do the same magic as i915,
+    as it critical to fixing the severe performance issues currently
+    crippling i965, as I believe that this regression only affects the
+    minority of applications (incorrect, as it turns out, as the glyphs are
+    overlapping) rendering directly to the destination.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 84d65bace521ad80b9bede4ae9e3e2a8d0668b90
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 14 11:31:40 2010 +0100
+
+    Compile fix for alternate list.h from xserver-1.9
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 00a54eee8f29ced610ef9d65b077e64bc65655e9
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Sat Jun 12 20:24:10 2010 -0400
+
+    COPYING: replace stub file with actual Copyright notices.
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 94217ed5f5a3726db3fad6cac2132d99ed45c154
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Jun 12 17:21:44 2010 +0100
+
+    uxa: Always clip glyphs to destination.
+    
+    Even if there is only a single clip rect, since the clip may be smaller
+    than the drawing rectangle on the destination we need to actually
+    compute the clipped glyph rectangle.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5a0a8a1cf6d9b0616d6a097e783f2aa318b45736
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Jun 10 22:56:34 2010 +0100
+
+    i830: Limit disabling acceleration following EIO to !i965
+    
+    Following a conversation with Owain G. Ainsworth, it was decided that
+    the second best approach to handling a wedged GPU was to hope that the
+    kernel could successfully reset it, which currently is only possible for
+    i965 and later chipsets.
+    
+    The best approach is of course to prevent such hangs from ever occurring
+    in the first place.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3bf4ca2cdc2493e209bbb9c597bfa17ed7fcf5dc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 9 12:02:21 2010 +0100
+
+    i830: Only emit the disabling GPU error message once.
+    
+    But emit the warning about rendering corruption every time for the
+    transient errors like out-of-memory.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 35a12f029005d8f432755fb78f10c9d48ea2f347
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 9 11:47:37 2010 +0100
+
+    Fallback implementation for trapezoids for hung GPUs.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8c1a8d22978f143044cc3cd0ff2ade5736ee9d48
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 9 10:03:08 2010 +0100
+
+    Revert "xp:trapezoids"
+    
+    This reverts commit f429fb9d872950705e11171d0e7407fb7673c786.
+    
+    An experimental patch I forgot was on my main branch as I was bugfixing.
+    ARGH!
+
+commit 994aa1ef571ac2ab05f6588f9068d33b536c7a37
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 9 09:59:36 2010 +0100
+
+    uxa: Handle all-clipped out case with destination glyphs.
+    
+    Fixes the crash reported in:
+    
+      Bug 28446 - Garbled Font with Mathematica 7
+      https://bugs.freedesktop.org/show_bug.cgi?id=28446
+    
+    pDst=0x3d663c0, src_x=0, src_y=0, xDst=142, yDst=112, nlist=0,
+    list=0x7fffea026580, glyphs=0x7fffea025d88, extents=0x0)
+        at uxa-glyphs.c:809
+            dx = 0
+            y1 = 101
+            x2 = 150
+            x1 = 142
+            dy = 0
+            y2 = 112
+            rects = 0x5491000
+            this_atlas = 0x2456d00
+            mask_y = 128
+            glyph = 0x35933a0
+            mask_x = 736
+            priv = 0x39309e0
+            screen = 0x8d2cc0
+            uxa_screen = 0x2443eb0
+            src_pixmap = 0x37c29e0
+            dst_pixmap = 0x45ddbf0
+            localSrc = 0x361a450
+            glyph_atlas = 0x2456d00
+            x = 142
+            y = 112
+            n = 18
+            nrect = -9975128
+            box = {x1 = 23152, y1 = -5630, x2 = 32767, y2 = 0}
+            __PRETTY_FUNCTION__ = "uxa_glyphs_to_dst"
+    
+    Though the meat of that bug regarding the incorrect remains unsolved.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f429fb9d872950705e11171d0e7407fb7673c786
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 8 10:24:51 2010 +0100
+
+    xp:trapezoids
+
+commit 0776a42b70f2de7b7d7d8804046c79442da1cb8a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 8 10:43:24 2010 +0100
+
+    implicit-flush
+
+commit d41684d54592cf93554a4d6534e7ea74562b1798
+Author: Eric Anholt <eric@anholt.net>
+Date:   Mon Jun 7 11:18:09 2010 -0700
+
+    Allocate rotate shadow buffers using the usual framebuffer allocator.
+    
+    This means we can get tiling on them, which should significantly boost
+    performance, and also allow for FBC.
+
+commit b5c9de10ba3a811f312e622b97ee5e601bd3b74f
+Author: Eric Anholt <eric@anholt.net>
+Date:   Sun Jun 6 23:41:23 2010 -0700
+
+    Allocate a correctly sized framebuffer when tiling by using libdrm's support.
+    
+    When I made libdrm stop overallocating so much memory for the purpose
+    of bo caching, things started scribbling on the bottom of my
+    frontbuffer (and vice versa, leading to GPU hangs).  We had the usual
+    mistake of size = tiled_pitch * height instead of size = tiled_pitch *
+    tile_aligned_height.
+
+commit e6acbc763229fd5b5b2cc1d65136404d02ac4655
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 18:04:51 2010 +0100
+
+    uxa: Setup acceleration functions prior to the damage layer
+    
+    We need to install the acceleration functions so that they are wrapped
+    by the Damage layer. This fixes the corruption under a compositing WM
+    introduced in commit 8700673157fdd3a87ad5150f2f30823261fec519.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Reported-and-tested-by: Arkadiusz Miśkiewicz <arekm@maven.pl>
+
+commit 1788b16eb26580624dd3df96ed84f68d40e78ed7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 15:31:47 2010 +0100
+
+    i915: Fix typo from previous commit.
+    
+    A trivial change, I thought, having tested it before rebasing, unworthy
+    even of a perfunctory compile test. How wrong I was.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d9bc36ae03e3c56ab165d24fe4bdc6688fd62b6d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 15:28:18 2010 +0100
+
+    i915: Remove screen size limit from video setup.
+    
+    The i915 textured video routine know how to handle drawing on an output
+    larger than the 3D pipe, so allow them to do so.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6555ef5fd16c9e4fe733caf9e831f29f97462278
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 13:16:34 2010 +0100
+
+    i915: Replace structure passing with macros for shader generation.
+    
+    gcc is horribly bad at collapsing the constants:
+    
+      text     data     bss     dec     hex filename
+    282336     8720     256  291312   471f0 intel_drv.so.old
+    269280     8720     256  278256   43ef0 intel_drv.so
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d56ea7a852d7090360fe080acec268de55ee908d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 00:20:35 2010 +0100
+
+    Use the direct dixGevPrivate() API when available
+    
+    This is quicker and smaller than the old indirect function call to
+    dixLookupPrivate().
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8700673157fdd3a87ad5150f2f30823261fec519
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Jun 7 00:16:18 2010 +0100
+
+    Adapt glyphs for changes in devPrivates API
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 42ddc39430a10513c49a415ddf1a0dc5fa52089e
+Author: Keith Packard <keithp@keithp.com>
+Date:   Fri Apr 30 13:33:54 2010 -0700
+
+    Adapt to DevPrivate API changes
+    
+    This allows the driver to be built against either the old or new
+    DevPrivate API.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2c1fda08e889cad07acb452230da06f9c383d21c
+Author: Eric Anholt <eric@anholt.net>
+Date:   Fri Jun 4 16:04:37 2010 -0700
+
+    Use libc instead of deprecated libc wrappers for malloc/calloc/free.
+
+commit b586624d4f2908d2a998ba87fe0ae31c10f46b91
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Jun 6 17:11:40 2010 +0100
+
+    uxa: Force fallback for copies.
+    
+    All but uxa_copy_window() perform the preliminary checks for whether
+    acceleration is available. The simplest method for adding the fallback
+    for uxa_copy_window() seems to be to add it in the core copy function,
+    so be it.
+    
+    This allows X to survive a little longer once we encounter a GPU hang.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6db1e5231b7a0e79611f771d4efea686f7849e04
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Jun 2 20:43:49 2010 +0100
+
+    dri: Protect against NULL dereference following GPU hang.
+    
+    References:
+    
+      Bug 28361 - "glresize" causes server segfault with single buffering.
+      https://bugs.freedesktop.org/show_bug.cgi?id=28361
+    
+    [ 14528.767] (EE) intel(0): Failed to submit batch buffer, expect rendering corruption or even a frozen display: Input/output error.
+    [ 14528.767] (EE) intel(0): Disabling acceleration.
+    [ 14528.788] Backtrace:
+    [ 14528.858] 0: /usr/bin/X (xorg_backtrace+0x28) [0x491818]
+    [ 14528.858] 1: /usr/bin/X (0x400000+0x65ca9) [0x465ca9]
+    [ 14528.858] 2: /lib/libpthread.so.0 (0x7f9df2dc9000+0xedf0) [0x7f9df2dd7df0]
+    [ 14528.858] 3: /usr/local/lib/libdrm_intel.so.1 (drm_intel_bo_flink+0x0) [0x7f9defd60c60]
+    [ 14528.858] 4: /usr/local/lib/xorg/modules/drivers/intel_drv.so (0x7f9deff6a000+0x2fdfd) [0x7f9deff99dfd]
+    [ 14528.858] 5: /usr/lib/xorg/modules/extensions/libdri2.so (0x7f9df01b8000+0x19e7) [0x7f9df01b99e7]
+    [ 14528.858] 6: /usr/lib/xorg/modules/extensions/libdri2.so (0x7f9df01b8000+0x1fdb) [0x7f9df01b9fdb]
+    [ 14528.858] 7: /usr/lib/xorg/modules/extensions/libdri2.so (DRI2GetBuffersWithFormat+0x10) [0x7f9df01ba250]
+    [ 14528.858] 8: /usr/lib/xorg/modules/extensions/libdri2.so (0x7f9df01b8000+0x3834) [0x7f9df01bb834]
+    [ 14528.858] 9: /usr/bin/X (0x400000+0x2fc2c) [0x42fc2c]
+    [ 14528.858] 10: /usr/bin/X (0x400000+0x24da5) [0x424da5]
+    [ 14528.858] 11: /lib/libc.so.6 (__libc_start_main+0xe6) [0x7f9df1d60a26]
+    [ 14528.858] 12: /usr/bin/X (0x400000+0x24959) [0x424959]
+    [ 14528.858] Segmentation fault at address 0x20
+    [ 14528.858] Fatal server error:
+    [ 14528.858] Caught signal 11 (Segmentation fault). Server aborting
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2989f51caf3134460c2551de597e7e54fe74ee92
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 1 23:08:02 2010 +0100
+
+    i830: Remove unused coord-adjust.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit dc402334f4e9b0de624bc89cd77eae4ec7cf1708
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 1 23:03:19 2010 +0100
+
+    i915: Centre sampling.
+    
+    Use centre sampling of textures to match pixman, and remove numerous
+    off-by-one and visual artefacts when rendering. The classic example for
+    this is cairo/text/xcomposite-projection where the edge of the rotated
+    rectangle is jaggy due to the incorrect sample position.
+    
+    Fixes:
+    
+      Bug 16917  - [i915] Blur on y-axis also when only x-axis is scaled
+                   billiear
+      https://bugs.freedesktop.org/show_bug.cgi?id=16917
+    
+    And about 15 tests from the Cairo test suite.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f74b3f82bab11463a0f4de9f614fc6aa1492ef24
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Jun 1 22:31:35 2010 +0100
+
+    i915; Avoid the implicit flush on changing BUF_INFO
+    
+    3DSTATE_BUF_INFO is an implicit flush of the piepline, so avoid emitting
+    that and associated state unless the destination pixmap has actually
+    changed. This is a win of around 3-5% for cairo-perf-trace, notably for
+    firefox.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f2272402035574c206a0e3383c55373c440fd928
+Author: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date:   Tue Jun 1 13:46:15 2010 -0700
+
+    DRI2: fix new buffer exchange check
+    
+    Chris's new buffer exchange check is a good one, but we don't want to
+    hit the immediate blit fallback path if it fails.  We still want to
+    schedule a blit for sometime in the future, and we need to use it
+    wherever an exchange might occur (like the secondary flip check or the
+    currently disabled CanExchange check).
+    
+    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=28252.
+    
+    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+
+commit a386a003e7b0ff7100434dccd51fedd822454a6c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon May 31 22:18:43 2010 +0100
+
+    uxa: Spans, try again to get the early break correct.
+    
+    Trigger happy bug fixing. The sign *was* right, the endpoint was wrong.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 1672ee0421a99b745d65d72a3818de01d8100b6b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon May 31 22:08:43 2010 +0100
+
+    uxa: Sign reversal on early break from spans passing the YXband
+    
+    Introduced with e5c971e7639095d38da3518a5dc404b708d45cfb.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit cd38b705be84901a38380dc2a1b90889b553d565
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon May 31 17:23:36 2010 +0100
+
+    Disable acceleration if we detect a hardware error.
+    
+    This is wildly optimistic, but it should work in a surprising number of
+    error situations and some output in those cases will be hopefully be
+    better than none...
+    
+    If we submit a batchbuffer and the kernel reports the GPU is hung (which
+    will be caused by an earlier execbuffer, and so the kernel should have
+    had enough time to determine whether or not it could reset the GPU) then
+    disable any further attempt to accelerate gfx and force fallbacks to map
+    the buffers and use the CPU. We cannot normally map any more buffers if
+    the GPU is hung, so only those already mapped prior to the hang can be
+    written to, or those allocated in system memory. However, we can expect
+    that the framebuffer is already mapped, and so have a reasonable
+    expectation to continue to see the display update.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5fff430046db2030f89e49beb66c6476dc3fcd4c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat May 29 17:35:00 2010 +0100
+
+    uxa: Mega-Glyphs!
+    
+    Rewrite glyph rendering to avoid the intermediate buffer, accumulating
+    the glyph rectangles directly in the backend composite routines. And
+    modify the glyph cache routines to fully utilise the allocated size of
+    the tiled buffer on older hardware. To do this we alias all glyph sizes
+    into the same texture using a technique suggested by Keith Packard.
+    
+    PineView:
+      885/856-> 1150/1110 kglyph/s (aa/rgb)
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d31abccd41c417338aac7c681e8bc6bd187b1843
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon May 31 12:14:23 2010 +0100
+
+    i915: Support textured video on an extended desktop.
+    
+    Handle rendering textured video onto an extended desktop (>2048) by
+    using a temporary pixmap. Note that we still cannot handle rendering to
+    a greater than 2048 destination region, for that we will need to tile.
+    Hmm, time to request a 2560x1600, 10bpc monitor...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2cfd5bc134f0dd86ea714594d61f6d5eb29019ce
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat May 29 17:55:19 2010 +0100
+
+    dri: Compilation fix.
+    
+    17:53 < arekm> ickle: i830_dri.c:630:28: error: ‘DrawableRec’ has no member named ‘bpp’
+    17:53 < arekm> ickle: i830_dri.c:630:57: error: ‘DrawableRec’ has no member named ‘bpp’
+    
+    * sigh. I need to fix this machine to have the right version of the
+    * headers.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e2615cdeef078dbd2e834b68c437f098a92b941d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat May 29 16:37:12 2010 +0100
+
+    dri: Only flip if the front and back pixmaps match.
+    
+    An unredirected window (thanks Michel for the reminder) is backed by the
+    Screen pixmap, and so uses a reference of that as its front buffer. The
+    back buffer is a pixmap appropriately sized for the drawable. When the
+    application requests to swap its buffers, obviously we cannot simply
+    exchange the front and back buffer as they do not match, but need to copy
+    the appropriate region from the back to the front.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8b2039187fc23f5e9dddf4081f8b1ab6f4c01416
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat May 29 12:14:55 2010 +0100
+
+    Revert "dri: Use size from backing pixmap when creating buffers."
+    
+    This reverts commit 44d45d3fa56f121ce89ffe5b28beb48be01a95df.
+    
+    Michel Dänzer pointed out the flaw in using the pixmap size instead of
+    the drawable size:
+    
+      Using the backing pixmap dimensions for this is not desirable. In
+      particular, it means that the DRI2 buffers of non-redirected windows
+      always have the same size as the screen. But even for redirected windows
+      it wastes some graphics memory with a re-parenting window manager, that
+      is if it doesn't break in various ways due to the top left corner of the
+      DRI2 buffers no longer corresponding to the top left corner of the window.
+
+commit 44d45d3fa56f121ce89ffe5b28beb48be01a95df
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat May 29 10:39:28 2010 +0100
+
+    dri: Use size from backing pixmap when creating buffers.
+    
+    This avoid using the garbage values stored in the Screen drawable,
+    instead of the true values which are only maintained in its backing
+    pixmap. The consequence of using the wrong size was to hand a 1x1
+    pixmap to metacity/mutter and have it believe it was a full screen
+    drawable; GPU hangs ensued if using page flipping.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 90c74a43149ec72bef64fb7e64b812294bda69a5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 28 21:49:38 2010 +0100
+
+    i915: Don't re-emit vertex size unless it has changed.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a94ae175d6a69243a4465de0be0a8a3368e0ab28
+Author: Eric Anholt <eric@anholt.net>
+Date:   Fri May 28 12:40:02 2010 -0700
+
+    uxa: Fix prepare_solid being called without check_solid first.
+    
+    Fixes GPU hang on gen6.
+
+commit 66c90158e45e890c6f655195c6707d216c7ac4c5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 28 17:13:30 2010 +0100
+
+    uxa: Skip the redundant miComputeCompositeRects() when adding to the mask
+    
+    As we are in full control of the destination (the temporary glyph mask)
+    and the source (the glyph cache) we know that there are no clip regions
+    on either and so can skip computing the composite rectangles. (We trust
+    the device clipping to prevent compositing outside the target.)
+    
+    x11perf on PineView:
+    701/686 -> 881/856 kglyphs/s [aa/rgb]
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5b2254838eb89bf77eeb893c73eecb8c737822f4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 28 12:47:26 2010 +0100
+
+    uxa: Make the glyph caches' fixed size explicit.
+    
+    Until we actual resize the glyph cache dynamically, make it obvious to
+    the reader and the compiler that the size is fixed.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 11581dda99cb2e4ae78fc73be4b02185b3be58ed
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 28 11:38:05 2010 +0100


Reply to: