xserver-xorg-video-intel: Changes to 'ubuntu'
COPYING | 169 +
ChangeLog | 2518 ++++++++++++++++++++++
NEWS | 162 +
configure.ac | 4
debian/README.source | 2
debian/changelog | 40
debian/control | 8
debian/patches/101_copy-fb.patch | 44
debian/patches/102-disable-page-flipping-v2.patch | 38
debian/patches/series | 1
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
59 files changed, 8439 insertions(+), 4696 deletions(-)
New commits:
commit 14a7f953a438781e6fe372ac4dcc1586124d3f7a
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Thu Jul 22 13:00:38 2010 +0200
Update fb-copy patch to for new upstream
diff --git a/debian/patches/101_copy-fb.patch b/debian/patches/101_copy-fb.patch
index 854fa2b..8f41c33 100644
--- a/debian/patches/101_copy-fb.patch
+++ b/debian/patches/101_copy-fb.patch
@@ -1,7 +1,7 @@
-diff --git a/src/drmmode_display.c b/src/drmmode_display.c
-index ae200ca..9fee41a 100644
---- a/src/drmmode_display.c
-+++ b/src/drmmode_display.c
+Index: xserver-xorg-video-intel/src/drmmode_display.c
+===================================================================
+--- xserver-xorg-video-intel.orig/src/drmmode_display.c 2010-07-19 16:53:00.804605145 +0200
++++ xserver-xorg-video-intel/src/drmmode_display.c 2010-07-21 11:45:20.603191502 +0200
@@ -36,6 +36,8 @@
#include <errno.h>
#include <poll.h>
@@ -11,7 +11,7 @@ index ae200ca..9fee41a 100644
#include "xorgVersion.h"
#include "i830.h"
-@@ -855,6 +857,13 @@ drmmode_output_dpms(xf86OutputPtr output, int mode)
+@@ -853,6 +855,13 @@
drmmode_ptr drmmode = drmmode_output->drmmode;
int i;
drmModePropertyPtr props;
@@ -25,7 +25,7 @@ index ae200ca..9fee41a 100644
for (i = 0; i < koutput->count_props; i++) {
props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
-@@ -1473,6 +1482,8 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
+@@ -1466,6 +1475,8 @@
drm_wakeup_handler, drmmode);
}
@@ -34,7 +34,7 @@ index ae200ca..9fee41a 100644
return TRUE;
}
-@@ -1507,3 +1518,96 @@ void drmmode_closefb(ScrnInfoPtr scrn)
+@@ -1500,3 +1511,96 @@
drmModeRmFB(drmmode->fd, drmmode->fb_id);
drmmode->fb_id = 0;
}
@@ -126,16 +126,16 @@ index ae200ca..9fee41a 100644
+
+ intel->uxa_driver->done_copy(dst);
+
-+ intel_sync(scrn);
++ intel_batch_submit (scrn, TRUE);
+
+ (*pScreen->DestroyPixmap)(src);
+ (*pScreen->DestroyPixmap)(dst);
+}
-diff --git a/src/i830.h b/src/i830.h
-index 7593cde..f192fbc 100644
---- a/src/i830.h
-+++ b/src/i830.h
-@@ -355,6 +355,7 @@ typedef struct intel_screen_private {
+Index: xserver-xorg-video-intel/src/i830.h
+===================================================================
+--- xserver-xorg-video-intel.orig/src/i830.h 2010-07-19 16:53:00.814605145 +0200
++++ xserver-xorg-video-intel/src/i830.h 2010-07-21 11:44:42.133191502 +0200
+@@ -423,6 +423,7 @@
OptionInfoPtr Options;
/* Driver phase/state information */
@@ -143,7 +143,7 @@ index 7593cde..f192fbc 100644
Bool suspended;
enum last_3d last_3d;
-@@ -419,6 +420,7 @@ extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr * bufmgr,
+@@ -486,6 +487,7 @@
xf86CrtcPtr crtc);
extern int drmmode_output_dpms_status(xf86OutputPtr output);
extern int drmmode_crtc_id(xf86CrtcPtr crtc);
@@ -151,11 +151,11 @@ index 7593cde..f192fbc 100644
extern Bool i830_crtc_on(xf86CrtcPtr crtc);
extern int i830_crtc_to_pipe(xf86CrtcPtr crtc);
-diff --git a/src/i830_driver.c b/src/i830_driver.c
-index 53d8663..bbbfff0 100644
---- a/src/i830_driver.c
-+++ b/src/i830_driver.c
-@@ -1187,6 +1187,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
+Index: xserver-xorg-video-intel/src/i830_driver.c
+===================================================================
+--- xserver-xorg-video-intel.orig/src/i830_driver.c 2010-07-19 16:53:00.834605145 +0200
++++ xserver-xorg-video-intel/src/i830_driver.c 2010-07-21 11:44:42.133191502 +0200
+@@ -1093,6 +1093,8 @@
if (IS_I965G(intel))
gen4_render_state_init(scrn);
@@ -164,15 +164,15 @@ index 53d8663..bbbfff0 100644
miClearVisualTypes();
if (!miSetVisualTypes(scrn->depth,
miGetDefaultVisualMask(scrn->depth),
-@@ -1328,6 +1330,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
+@@ -1231,6 +1233,7 @@
if (serverGeneration == 1)
xf86ShowUnusedOptions(scrn->scrnIndex, scrn->options);
+ intel->starting = FALSE;
intel->suspended = FALSE;
- return TRUE;
-@@ -1391,6 +1394,8 @@ static Bool I830EnterVT(int scrnIndex, int flags)
+ return uxa_resources_init(screen);
+@@ -1289,6 +1292,8 @@
i830_set_gem_max_sizes(scrn);
commit 34a53007ac15303584af6f31f17a0d10324f45ab
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Tue Jul 20 13:00:55 2010 +0200
Fix changelog wrapping, add bug closer
diff --git a/debian/changelog b/debian/changelog
index 825a2d4..42cc964 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,11 @@
xserver-xorg-video-intel (2:2.12.0-1ubuntu1) UNRELEASED; urgency=low
- * Merge from Debian experimental. Remaining Ubuntu changes:
+ * Merge from Debian experimental (LP: #601052). Remaining Ubuntu changes:
+ debian/apport-gpu-error-intel.py, debian/xserver-xorg-video-intel.udev,
debian/xserver-xorg-video-intel:
Add apport script to collect debug information on GPU hangs
- + rules: Install udev rule to run the script when the kernel detects hung GPU
+ + rules: Install udev rule to run the script when the kernel detects hung
+ GPU.
+ 101_copy-fb.patch: Adds feature to driver so Xserver can draw
root windows with no background. This enables smooth boot with
Plymouth.
commit 2e3c12b6e899c320dbf4f27b4568a782d364c4ca
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Mon Jul 19 16:46:20 2010 +0200
Re-enable page flipping. It looks like this should work now.
diff --git a/debian/changelog b/debian/changelog
index 32274f8..825a2d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,6 +17,9 @@ xserver-xorg-video-intel (2:2.12.0-1ubuntu1) UNRELEASED; urgency=low
the ability to disable KMS.
+ 103-mbp-backlight-support.patch: Enables xrandr backlight control for
macbook's using the mbp_backlight module.
+ * Drop 102-disable-page-flipping-v2.patch: all the upstream bugs mentioned
+ in the patch are closed. If we get a spate of freeze bugs, start looking
+ here.
-- Christopher James Halse Rogers <raof@ubuntu.com> Mon, 19 Jul 2010 16:36:28 +0200
diff --git a/debian/patches/102-disable-page-flipping-v2.patch b/debian/patches/102-disable-page-flipping-v2.patch
deleted file mode 100644
index 7f9ee15..0000000
--- a/debian/patches/102-disable-page-flipping-v2.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Disable kernel pageflipping support.
- There seem to be a number of issues with pageflipping, particularly on
- Gen 3 hardware.
- .
- Some of the required kernel patches which haven't made it upstream are in
- this thread:
- http://lists.freedesktop.org/archives/intel-gfx/2010-April/006464.html
-Bug: https://bugs.freedesktop.org/show_bug.cgi?id=28079
-Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27883
-
-diff --git a/src/drmmode_display.c b/src/drmmode_display.c
-index 358baf4..30c9213 100644
---- a/src/drmmode_display.c
-+++ b/src/drmmode_display.c
-@@ -1458,8 +1458,8 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
- sizeof(gp));
- if (has_flipping) {
- xf86DrvMsg(scrn->scrnIndex, X_INFO,
-- "Kernel page flipping support detected, enabling\n");
-- intel->use_pageflipping = TRUE;
-+ "Kernel page flipping support detected, but forcibly disabled.\n");
-+ intel->use_pageflipping = FALSE;
- drmmode->flip_count = 0;
- drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION;
- drmmode->event_context.vblank_handler = drmmode_vblank_handler;
-diff --git a/src/i830_dri.c b/src/i830_dri.c
-index 83d953d..a2b7ec2 100644
---- a/src/i830_dri.c
-+++ b/src/i830_dri.c
-@@ -1038,7 +1038,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen)
-
- info.CopyRegion = I830DRI2CopyRegion;
- #if DRI2INFOREC_VERSION >= 4
-- if (intel->use_pageflipping) {
-+ if (intel->use_pageflipping || 1) {
- info.version = 4;
- info.ScheduleSwap = I830DRI2ScheduleSwap;
- info.GetMSC = I830DRI2GetMSC;
diff --git a/debian/patches/series b/debian/patches/series
index 99cf065..2b92675 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,2 @@
101_copy-fb.patch
-102-disable-page-flipping-v2.patch
103-mbp-backlight-support.patch
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.
Reply to: