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: