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.rog...@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.rog...@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.rog...@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 <r...@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 <bgog...@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 <bgog...@debian.org> Sat, 26 Jun 2010 00:22:00 +0200 + -- Brice Goglin <bgog...@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 <bgog...@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 <bgog...@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 <bgog...@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 <cwo...@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 <cwo...@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 <ch...@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 <ch...@chris-wilson.co.uk> + +commit 6d33e578de4e23336ac69cc3c5d0935a65d4dda1 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 5bf470bd38b1f6a7a540585186a54c9dbbca98f9 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 0203cf91b54ee8a7cea8560e559288ee9b6e8554 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 5107b6fa26ecfdbdd60b869a86765c9c484db3a2 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit bebd64d82121d2b61893e1d0adebda03f4faea61 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit c4d200517755e6b0f48d6c6a6ba8dd0ddc883d8b +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit c942585098ac84ae461821cbb8f52dedce7a0da1 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit e8783869ad55d337601b6f6a51c02f6576c64f38 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 4b7142baa0b3bf6f38843d06aadc579d8624cefc +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit d748f8e6fcebdf5b5b00c90b6c3d519560ee2928 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 78ee25f005fac9e9cc85425aa3fca8c396d015ea +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Jun 17 18:37:32 2010 +0100 + + uxa: Match depth 30 to format. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit af5c4fc96db56a14bf6347774d8e8f23b38c5967 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit be55066c6481b4c5e2cd39ef1c0f3be88cae0c93 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit c187da9a24e98cbdf86f0f0dfbdcd9025c8a4c76 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 0e0101758438debf98f989d815989b45e78cf5f6 +Author: Chris Wilson <ch...@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 <br...@xyzw.org> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 2ff7a2fc9d939554502e9adec89cae5597a9e82c +Author: Chris Wilson <ch...@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 <anars...@gmail.com> + Reported-by: Clemens Eisserer <linuxhi...@gmail.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit a25573d5c47ebea34c076075e1993233d7db2b4f +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + Reported-by: Till Matthiesen <entr...@everymail.net> + +commit 23ddcf45344936da2931a3bf25bd187a9ea28344 +Merge: 254bcc4 ffc6897 +Author: Julien Cristau <jcris...@debian.org> +Date: Tue Jun 15 17:46:52 2010 +0100 + + Merge commit '2.11.901' + +commit 254bcc40fca6ed9aa0b71f2115c654667f16aec6 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + Reported-by: Julien Cristau <jcris...@debian.org> + +commit ffc689767fa56f2c7710e6f396441c3d8a24ea18 +Author: Carl Worth <cwo...@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 <cwo...@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 <cwo...@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 <ch...@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 <ch...@chris-wilson.co.uk> + +commit 84d65bace521ad80b9bede4ae9e3e2a8d0668b90 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 00a54eee8f29ced610ef9d65b077e64bc65655e9 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sat Jun 12 20:24:10 2010 -0400 + + COPYING: replace stub file with actual Copyright notices. + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 94217ed5f5a3726db3fad6cac2132d99ed45c154 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 5a0a8a1cf6d9b0616d6a097e783f2aa318b45736 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 3bf4ca2cdc2493e209bbb9c597bfa17ed7fcf5dc +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 35a12f029005d8f432755fb78f10c9d48ea2f347 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 8c1a8d22978f143044cc3cd0ff2ade5736ee9d48 +Author: Chris Wilson <ch...@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 <ch...@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 <ch...@chris-wilson.co.uk> + +commit f429fb9d872950705e11171d0e7407fb7673c786 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Jun 8 10:24:51 2010 +0100 + + xp:trapezoids + +commit 0776a42b70f2de7b7d7d8804046c79442da1cb8a +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Jun 8 10:43:24 2010 +0100 + + implicit-flush + +commit d41684d54592cf93554a4d6534e7ea74562b1798 +Author: Eric Anholt <e...@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 <e...@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 <ch...@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 <ch...@chris-wilson.co.uk> + Reported-and-tested-by: Arkadiusz MiĆkiewicz <ar...@maven.pl> + +commit 1788b16eb26580624dd3df96ed84f68d40e78ed7 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit d9bc36ae03e3c56ab165d24fe4bdc6688fd62b6d +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 6555ef5fd16c9e4fe733caf9e831f29f97462278 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit d56ea7a852d7090360fe080acec268de55ee908d +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 8700673157fdd3a87ad5150f2f30823261fec519 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 42ddc39430a10513c49a415ddf1a0dc5fa52089e +Author: Keith Packard <kei...@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 <kei...@keithp.com> + +commit 2c1fda08e889cad07acb452230da06f9c383d21c +Author: Eric Anholt <e...@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 <ch...@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 <ch...@chris-wilson.co.uk> + +commit 6db1e5231b7a0e79611f771d4efea686f7849e04 +Author: Chris Wilson <ch...@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 <ch...@chris-wilson.co.uk> + +commit 2989f51caf3134460c2551de597e7e54fe74ee92 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Jun 1 23:08:02 2010 +0100 + + i830: Remove unused coord-adjust. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit dc402334f4e9b0de624bc89cd77eae4ec7cf1708 +Author: Chris Wilson <ch...@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. -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1obtwl-00066o...@alioth.debian.org