Snapshot 2.99.917 (2014-12-21) ============================== 3 months drifted by whilst I looked elsewhere for bugs.. The highlight of bugs fixed here are a couple of workarounds required for Broadwell and making sure that the rasterisation code is symmetric under inversions. However, as a couple of crashers slipped through into 2.99.916 (though not actual regressions in 2.99.916 per se) and 3 months have passed, we should make one more snapshot before an imminent release. * Beware of recomputing the clear hint in the middle of MI recursion https://bugs.freedesktop.org/show_bug.cgi?id=77074 * Fix crash from rendering an empty Glyph string under PRIME as the secondary driver * Restore application of default monitor options to the first output, a regression in 2.99.915 and the MST support https://bugs.gentoo.org/show_bug.cgi?id=522500 * Finally fix ZaphodHeads blocking on waiting for flip completion events. Before kernel 3.19, O_NONBLOCK support is broken and so we must avoid reading if we are not expecting an event. * Backwards compatibility fix for fake triple buffering with PRIME and Xorg-1.15 https://bugs.freedesktop.org/show_bug.cgi?id=85144#c12 * Fix a rendering issue with output rotation and software fallbacks. https://bugs.freedesktop.org/show_bug.cgi?id=84653 * Enable MST discovery even without udev support https://bugs.freedesktop.org/show_bug.cgi?id=84718 * Fix TearFree operation after the GPU is wedged https://bugs.freedesktop.org/show_bug.cgi?id=85058 * Fix projective sampling on gen6+. * Fix rendering and corruption with gen8. https://bugs.freedesktop.org/show_bug.cgi?id=84958 https://bugs.freedesktop.org/show_bug.cgi?id=83207 https://bugs.freedesktop.org/show_bug.cgi?id=79053 https://bugs.freedesktop.org/show_bug.cgi?id=81583 * Fix crash when using Xinerama. https://bugs.freedesktop.org/show_bug.cgi?id=87207 * Fix rendering of right-to-left or bottom-to-top PolySegments in UXA Snapshot 2.99.916 (2014-09-08) ============================== Quick update for MST in UXA - we need to hook up the RandR outputs for dynamically added connectors. Snapshot 2.99.915 (2014-09-08) ============================== A significant change to UXA to enable MST and to keep it working on recent kernels needs some soaking before a major release, and the usual plethora of bugfixes. One other feature is the support for hardware rotations on very recent kernels. * Handle rotated scanouts that are all clear correctly. The region to update was not being computed correctly, overdrawing the wrong CRTC. https://bugs.freedesktop.org/show_bug.cgi?id=81820 * Reset cursor images after rotation and size changes https://bugs.freedesktop.org/show_bug.cgi?id=81886 https://bugs.freedesktop.org/show_bug.cgi?id=82273 https://bugs.freedesktop.org/show_bug.cgi?id=82337 * Handle stale DRI2 buffers and Client errors more gracefully * Fallback if we fail to render a glyph onto a too-large surface, e.g. direct rendering of glyphs onto extended desktops with gen2/gen3. https://bugs.archlinux.org/task/40949 * Further work to enable tiled rendering onto large surfaces in severely aperture and memory constrained devices (e.g. gen2/gen3) * Honour the Primary option from xorg.conf and mark that as the RandR primary. https://bugs.freedesktop.org/show_bug.cgi?id=82193 https://bugs.freedesktop.org/show_bug.cgi?id=82205 * Fix another Client-Window DRI2 close race https://bugs.freedesktop.org/show_bug.cgi?id=82979 * Fix incorrect discarding of GPU damage when copying over the TearFree scanout - which caused a flicker in rapidly updated elements (like simple video panes). https://bugs.freedesktop.org/show_bug.cgi?id=81973 Snapshot 2.99.914 (2014-07-23) ============================== And a brown paper bag to hide the rebuilding from the tarball with 'autoreconf -fi' error that arose from not distributing the libobj/ directory. Snapshot 2.99.913 (2014-07-23) ============================== This should be it... A few fixes from testing the new code, we should be ready for the final release. However, we do have one standout feature in this snapshot, we now officially recognise HD Graphics 5300/5500/5600, Iris Graphics 6100 and Iris Pro Graphics 6200/P6300 (formerly known as Broadwell). * Check the window actually covers the CRTC before doing a single CRTC flip, and then restore the right framebuffer after completing CRTC flips. Otherwise we would detect an error and disable an output under TearFree Regression in 2.99.912 https://bugs.freedesktop.org/show_bug.cgi?id=80191 * Fix framebuffer creation on kernels older than 3.11 Regression in 2.99.912 * Check that the damage still exists after implicit reduction Regression in 2.99.912 https://bugs.freedesktop.org/show_bug.cgi?id=77436 * Fix direction flags for fallback composited CopyAreas which caused scrolling corruption in a few configurations Regression from 2.20.0 https://bugs.freedesktop.org/show_bug.cgi?id=79843 * Do not throw away damage if there is no redundant copy https://bugs.freedesktop.org/show_bug.cgi?id=79992 * Check clipping on PolyRect before discarding the clipped damage Regression from 2.99.903 https://bugs.freedesktop.org/show_bug.cgi?id=79992 * Fix hints for GLXPixmapa, as these are never swapped and so miss invalidating the hints on SwapBuffers with the result that they are often presumed blank Regression in 2.99.912 https://bugs.freedesktop.org/show_bug.cgi?id=79999 * Fix incoherent choice of source bo when constructing 8x8 tiles, incorrect pattern origin when extracting, and then fix the alignment of colour patterns for BLT operations https://bugs.freedesktop.org/show_bug.cgi?id=80033 * Disable blending with the render engine on snoopable buffers https://bugs.freedesktop.org/show_bug.cgi?id=80253 * Restore throttling to prevent client lag under heavy GPU load Regression from 2.21.10 https://bugs.freedesktop.org/show_bug.cgi?id=77436 * Use ClientGone for notifications on shared DRI2 windows to prevent rare crashes due to use-after-free of the swap requests https://bugs.freedesktop.org/show_bug.cgi?id=80157 * Ensure the mmaped CPU bo is idle before migrating damage https://bugs.freedesktop.org/show_bug.cgi?id=80560 * Fix incorrect clipping by the render engine for large DRI2 windows * Ensure that the aperture tiling fallbacks are bounded * Validate parameter to xf86-video-intel-backlight-helper more carefully (CVE-2014-4910) * Fix slaved scanouts for reverse optimus, though rotated slaves will require further patches to Xorg. https://bugs.freedesktop.org/show_bug.cgi?id=81383 * Fix build without Composite extension. * Fix build without gettline(). * UXA: Allocate and resize frontbuffer consistently to pass sanity checks https://bugs.freedesktop.org/show_bug.cgi?id=80088 * UXA: Report cached backlight value when the output is off (like sna) https://bugzilla.redhat.com/show_bug.cgi?id=1032978 * UXA: Mark outputs as off before the kernel does (like sna) This will prevent the internal panel from starting up blank in some multi-monitor configurations https://bugzilla.redhat.com/show_bug.cgi?id=1103806 Note that the DRI2 exchange mechanism introduced in 2.99.912 exposes bugs in some compositors, at least kwin and comptom, which discard DRI2 buffer invalidates rather than resourcing their texture. For example, https://bugs.kde.org/show_bug.cgi?id=336589 Note that the improved triple buffering introduced in DRI2 requires a patch to Xorg (now released upstream) to prevent crashes with DRI_PRIME. https://bugs.freedesktop.org/show_bug.cgi?id=80001 Note that DRI3/Present require tracking the relevant development trees for mesa and the xserver as they are very much still under early testing. Also be aware that Mesa provides no support for explicit fencing so Damage tracking between compositors and clients is unserialised. Snapshot 2.99.912 (2014-06-10) ============================== A final round of features. We have everything from support for variable cursor sizes, support for the DRI3 and Present extensions, improved DRI2 support, support for Xserver 1.16, userptr from kernel 3.16, and precursory support for DP multistream transport, * Avoid discarding dirty pixels when promoting a migration to cover the whole pixmap. Regression in 2.99.911 https://bugs.freedesktop.org/show_bug.cgi?id=77063 https://bugs.freedesktop.org/show_bug.cgi?id=77178 * Avoid overextending degenerate lines (and consequentially accessing pixels outside of our damaged area). https://bugs.freedesktop.org/show_bug.cgi?id=77074 * Fix subpixel glyph rendering on gen2 devices (830-865 chipsets) Regression in 2.99.911 https://bugs.freedesktop.org/show_bug.cgi?id=77201 * Share the global pixman glyph cache between ZaphodHeads https://bugs.freedesktop.org/show_bug.cgi?id=54707 * Light up all connected outputs, even if their status is unknown, on takeover from fbcon. This prevents loss of display after a resume on recent kernels, for example. https://bugs.freedesktop.org/show_bug.cgi?id=77768 * Show the video overlay (when supported by the hardware) across all outputs. https://bugs.freedesktop.org/show_bug.cgi?id=77802 * Do not discard damage when performing "BLT" spans inplace with the CPU. Regression from 2.20.10 * Avoid discarding IO buffers too early during their preparation for a new batch https://bugs.freedesktop.org/show_bug.cgi?id=79238 * Fix fallback handling for displaying large scaled framebuffers (that are too large to be scaled by the GPU in a single pass) https://bugs.freedesktop.org/show_bug.cgi?id=79320 * Listen to external modifications of backlight value and propagate the notifications to RandR clients. This should make the GUI report ACPI keypresses to change the backlight correctly. https://bugs.freedesktop.org/show_bug.cgi?id=79699 * UXA: fix pageflips with 3 heads. * UXA: do not report a BadMatch error for DRI2GetMsc - as clients are often unprepared and die when they get the unexpected error. Snapshot 2.99.911 (2014-03-19) ============================== Hans de Geode has been working on making the Xserver work without privileges under the supervision of systemd/logind. This necessitated a few new features for us: server fds (where we are passed which fd to use to talk to our device by the Xserver who may in turn receive it from logind or other host) and a small backlight helper so that we can continue to provide a RandR backlight property when running without root privileges. * Flush when changing blend modes on Ironlake, or else single glyphs are sometimes rendered incorrectly Regression from 2.20.15 https://bugs.freedesktop.org/show_bug.cgi?id=74882 * Fix pixmap offsets for pixman fallbacks onto Composite redirected windows https://bugs.freedesktop.org/show_bug.cgi?id=73811 * Fix blending onto 8-bit destinations, typically used for generating masks in complex Render operations, on gen2 https://bugs.freedesktop.org/show_bug.cgi?id=75818 * Handle failure to create DRI bo more carefully. For example on gen3, the DDX supports pixmaps that are much, much larger than OpenGL can use and do not support the tiling modes that we request for OpenGL. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1289049 * Fix a bookkeeping bug with proxy buffers that are marked active but not actually inserted into a request (so they end up permanently active and confuse everybody). https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1289923 * Actually turn off displays with DPMS off for UXA. Regression from 2.99.903, but requires kernel commit c9976dcf55c8aaa7037427b239f15e5acfc01a3a Author: Chris Wilson Date: Sun Sep 29 19:15:07 2013 +0100 drm/i915: Only apply DPMS to the encoder if enabled instead for correct behaviour on Haswell. https://code.google.com/p/chromium/issues/detail?id=341135 Snapshot 2.99.910 (2014-02-10) ============================== Another latent bug exposed by recent changes merit another snapshot for final testing. * Only discard damage when overwriting the dirty CPU bo, instead of discarding damage that will be shown! * Reset operation state when switching between glyph caches. https://bugs.freedesktop.org/show_bug.cgi?id=74494 * Fully reinitialise pixmaps allocated from the freed cache. Fixes a potential issue (crash or misrendering) when using some compositors. https://bugs.freedesktop.org/show_bug.cgi?id=74550 * Do not expose the TexturedVideo adaptor in UXA when it is disabled either due to a hung GPU or explicitly disabled by the user. * Restore the pipe stall when changing CC state on gen6, otherwise the GPU may not flush intermediate results from all EU resulting in render corruption (usually the occasional black box). Regression from 2.99.906 https://bugs.freedesktop.org/show_bug.cgi?id=7237 Snapshot 2.99.909 (2014-02-01) ============================== Pass the brown paper bag. Ridiculously stupid bug in last minute coding. * Add Xv support using glamor acceleration in addition to adaptors provided by the UXA backend. * Fix overeager discarding of CPU damage Regression in 2.99.908 :( https://bugs.freedesktop.org/show_bug.cgi?id=74327 Snapshot 2.99.908 (2014-01-31) ============================== A couple of regressions dashed the hopes that .907 was to be the final release candidate, so time to start the cycle again after applying a few more bugfixes. * Fix invalid pageflipping of GLXPixmaps by UXA. https://bugs.freedesktop.org/show_bug.cgi?id=73282 * Consistently treat DPMS Suspend/Standy as Off, otherwise we may incorrectly restore the backlight in UXA. * Fix disabling the backlight in UXA when querying the value whilst off https://bugs.freedesktop.org/show_bug.cgi?id=73181. * Invalidate between every operation if rendering into the source or mask. Fixes regression in 2.99.907 on Ivybridge (seen in KDE) https://bugs.freedesktop.org/show_bug.cgi?id=73208 * Check for available batch buffer state before restoring state on gen4, otherwise we overwrite surface state with commands and cause a GPU hang. https://bugs.freedesktop.org/show_bug.cgi?id=73348 * Prevent an invalid free by TearFree https://bugs.freedesktop.org/show_bug.cgi?id=73469 * Fix confusion in TearFree when it tried to pageflip to a stale bo https://bugs.freedesktop.org/show_bug.cgi?id=70905 * Initialise TearFree contents with the current frontbuffer upon creation, otherwise old content may be visible for significant fractions of a second after resume or DPMS on https://bugs.freedesktop.org/show_bug.cgi?id=73842 * Nullify the old pointer into a CPU mmapping of the bo when promoting it on the GPU. Eventually that old pointer becomes invalid and will cause the Xserver to crash. Fixes regression in 2.99.906 https://bugs.freedesktop.org/show_bug.cgi?id=73351 * Restore the serialNumber on the GC correctly after falling back to software. This was seen to cause corruption with Wine. https://bugs.freedesktop.org/show_bug.cgi?id=73856 * Do not ignore CPU damage on a pixmap unless the Composite operation will completely overwrite it. This was observed in xfce4. https://bugs.freedesktop.org/show_bug.cgi?id=69528 * Skip fake outputs during initial probe as they can cause a NULL pointer dereference. https://bugs.freedesktop.org/show_bug.cgi?id=73981 * Fix rendering of dashed zero-width lines onto 24bit buffers https://bugzilla.redhat.com/show_bug.cgi?id=1059152 * Cap the freed Pixmap cache and reuse it more often Fixes a regression in 2.99.907 that caused the memory used by X to grow until it was cleaned up during server regreneration https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1272338 Snapshot 2.99.907 (2013-12-30) ============================== The highlight here is that things seem to be quietening down on the bug reporting front. All is not quiet as you will see below, and maybe it is just the holiday season that is approaching*, but there has been a remarkable falloff in bug reports. Lets hope this trend holds and we can make a stable release shortly! * This was intended to be sent a couple of weeks ago and the holiday season has been very quiet.... Oh, and acceleration support for Intel's next generation of integrated processor graphics has landed, codenamed Broadwell. * Fix potential X server infinite recursion (crash) from a gen2 bug fix Regression in 2.99.906 https://bugs.freedesktop.org/show_bug.cgi?id=71605 * Workaround a missing pipeline flush within Ivybridge, that would leave black rectangles randomly over the output https://bugs.freedesktop.org/show_bug.cgi?id=68410 * Fix tiled fills. gen2-3 and gen4+ had two different bugs that both broke rendering with small 8x8 patterns in some circumstances https://bugs.freedesktop.org/show_bug.cgi?id=71260 * Fix reads from a cropped video image using a packed pixel format. * Another clear the clear hint after DRI2 SwapBuffers, like the bug fixed in 2.99.903. Failure to clear the hint would cause read backs of the frontbuffer (Xvnc) to be blank. https://bugs.freedesktop.org/show_bug.cgi?id=72194 * Disable VSync on Baytrail https://bugs.freedesktop.org/show_bug.cgi?id=69869 * Handle partial uploads with TearFree correctly https://bugs.freedesktop.org/show_bug.cgi?id=72343 https://bugs.freedesktop.org/show_bug.cgi?id=72430 * Avoid recusing through DRI event handlers whilst processing TearFree, leading to a double free (and memory corruption) https://bugs.freedesktop.org/show_bug.cgi?id=72690 * Hide the gen4 render corruption by crippling the GPU https://bugs.freedesktop.org/show_bug.cgi?id=55500 Snapshot 2.99.906 (2013-11-13) ============================== Several stability fixes required after the recent tweaking of the core mechanics to handle the updated TearFree and attempting to make static analyzers happy. * Fix damage handling when rendering to a partially damaged GPU surface. Regression in 2.99.905 https://bugs.freedesktop.org/show_bug.cgi?id=70527 * Use asprintf() instead of sprintf() Regression in 2.99.905 https://bugs.freedesktop.org/show_bug.cgi?id=70835 * Improve accounting for fence overallocation on older gen2/3, and improve the tiling mechanism to fit into the same aperture constraints https://bugs.freedesktop.org/show_bug.cgi?id=70924 * Add an extra GPU flush on Sandybridge to fix some rare font corruption * Rasterise lines through all clip boxes https://bugs.freedesktop.org/show_bug.cgi?id=70802 * Fix regression from stricter handling of failures to move a GC to the GPU Regression in 2.99.905 https://bugs.freedesktop.org/show_bug.cgi?id=71415 * Fix various fail along the memcpy_xor paths, including inadequate error handling and integer overflow https://bugs.freedesktop.org/show_bug.cgi?id=70527 * Fix outside-of-target stipple uploads https://bugs.launchpad.net/bugs/1247785 * Fix clip detection for long glyphs Incomplete bug fix (causing a regression) in 2.99.905 https://bugs.freedesktop.org/show_bug.cgi?id=70527 * Fix VSync for the render engine (Xv) on Haswell https://bugs.freedesktop.org/show_bug.cgi?id=70527 Snapshot 2.99.905 (2013-10-23) ============================== The highlight for this snapshot is the extension of TearFree to support transformed outputs, along with some polishing to eliminate its impact upon input and output latency. As always, thanks to everyone who have been testing, reporting bugs and helping to improve the stability before release. * Prevent a crash when starting with a user specified mode or position * Prevent some crashes in UXA after allocation failure * Stop marking the user's preferred backlight value as 0 if the backlight property is queried whilst the connector is disabled https://bugs.freedesktop.org/show_bug.cgi?id=70406 * Pad GETCONNECTOR ioctl for compatibility between 32/64-bit userspace and kernel * Handle long glyph runs correctly https://bugs.freedesktop.org/show_bug.cgi?id=70541 * Fix clipping of stippled rectangles against clip regions https://bugs.freedesktop.org/show_bug.cgi?id=67865 * Support TearFree rendering of rotated outputs https://bugs.freedesktop.org/show_bug.cgi?id=22969 Snapshot 2.99.904 (2013-10-09) ============================== There is one more feature planned to be completed for 3.0, so time for a snapshot beforehand to push out the bug fixes from the last week. * Fix video output using sprites when changing the image size * Apply more restrictive tile constraints for 915g class devices https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1232546 * Ensure all overlapping rectangles are drawn for XRenderFillRectangles https://bugs.freedesktop.org/show_bug.cgi?id=66313 * Fix trapezoid clipping against the left-edge https://bugs.freedesktop.org/show_bug.cgi?id=69469 * Prevent discarding active upload buffers, causing glitches in chromium https://bugs.freedesktop.org/show_bug.cgi?id=66990 * Prevent specifying a negative timeout to select if the BlockHandler takes too long to update the display * Promote the Ironlake pipecontrol to be a full pipeline flush to prevent render cache corruption https://bugs.freedesktop.org/show_bug.cgi?id=51422 * Never pass an invalid trapezoid to pixman https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1197921 * Prevent out-of-bounds access by overassigning work amongst threads https://bugs.freedesktop.org/show_bug.cgi?id=70204 * Make sure the current mode is always listed amongst the output modes https://bugs.freedesktop.org/show_bug.cgi?id=70132 * Build fixes for 1.14.99.2 Snapshot 2.99.903 (2013-09-28) ============================== Lots more stabilization work, not yet peaceful enough to christen 3.0. We have everything ranging from build fixes for systems like Suse Linux Enterprise Desktop that like to backport hardware enablement to ancient packages, to fixes for hardware enabling, and some more performance tuning. * Fix VSync on Haswell. https://bugs.freedesktop.org/show_bug.cgi?id=69119 * Disable Y-tiling on gen4 - it too frequently leads to instability. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1222203 * Disable same EDID detection based on property id - the kernel likes to reuse ids leading to a failure to detect the right modes on a monitor change. * Avoid issuing multiple DPMS requests to the same encoder (alised to multiple connectors) to avoid upsetting Haswell and leaving the screens blank. * Honour the user preferrence for the initial mode, even if they are being silly https://bugzilla.novell.com/show_bug.cgi?id=841696 * Clear the clear hint when apply DRI updates - to prevent some screenshots from GL windows being left blank. https://bugs.freedesktop.org/show_bug.cgi?id=69730 * Prevent a NULL dereference from trying to undo an non-existent buffer https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1228677 * Handle out-of-memory conditions far more gracefully. If the system is hard against the memory wall, then the kernel will start issuing SIGBUS even for CPU mmaps. Untrapped these will cause X to die. https://bugs.freedesktop.org/show_bug.cgi?id=67889 Snapshot 2.99.902 (2013-09-07) ============================== We do not condone or support Canonical in the course of action they have chosen, and will not carry XMir patches upstream. -The Management Snapshot 2.99.901 (2013-09-04) ============================== What's this? A pre-release snapshot of an upcoming 3.0 major release? What could be the big new feature about to land? SNA by default! Not only that, we also have a preview of the XMir integration patches. Whilst we consider the SNA acceleration method to be ready to take over from UXA (the current acceleration method), it still remains possible to switch over to the old method with the following xorg.conf snippet: Section "Device" Identifier "Device0" Driver "intel" Option "AccelMethod" "UXA" EndSection The promise of SNA is that it improves the user experience by providing a faster, more fluid, desktop, that is both more power efficient and less prone to crashes than UXA. If it still fails to meet your expections, please file bugs! Release 2.21.15 (2013-08-21) ============================ Some build fixes for the BSDs and alternate compiler, and conflicting configure options and a critcial fix for some PRIME setups. * Don't fail to configure if DRI1 is not available and the user asks for both DRI and KMS-only [Regression from 2.21.14] * Lots of miscellaneous fixes for older gcc, other compilers and BSD. * Initial framework support for hosted X. * Improve transition from fbcon to X with multiple outputs and extended desktops. * Ensure the framebuffer exists before checking it against the CRTC constraints. https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/121234 [Regression from 2.21.10] * Add RGB overlay support for Ironlake and later. * Don't release the overlay buffer too early, i.e. before the client disables the Xv image. * Tweak the ring switching logic to reduce use of semaphores on Sandybridge and later - a delicate balancing act between trying to use the faster engine for the task and preventing concurrent use of multiple rings. Release 2.21.14 (2013-08-04) ============================ A few updates for the top-end Haswell systems (notably GT3 and GT3e systems), in particular, setting the appropriate thread counts for the larger GPU and handling a few scaling issues with the emedded DRAM. More important than the performance tuning though is a fix for a critical issue encountered by a few people on gen4/gen5 systems. * Initial performance tuning for HSW:GT3e * Fix a crash with Planetary Annihilation * Disable triple buffering for compositors * Reserve space in the exec buffer array for deferred VBOs. https://bugs.freedesktop.org/show_bug.cgi?id=67504 Release 2.21.13 (2013-07-27) ============================ A minor release to repair the build for non-Linux systems, and to undo a few more regressions. * Avoid potential memory corruption with allocations of very small depth 1 bitmaps. * Fix source clipping whilst computing copy extents and exposures. [Regression from 2.21.12] https://bugs.freedesktop.org/show_bug.cgi?id=66970 * Use /proc/cpuinfo if cpuid4 is not available (old hardware or old gcc), and repair the build on systems without cpuid. [Regression from 2.21.12] * Fix performance regression on Ironlake from inadvertently flushing after every operation. [Regression from 2.21.11] https://bugs.freedesktop.org/show_bug.cgi?id=67157 * Fix conflict handling when probing initial KMS configuration for ZaphodHeads. [Regression from 2.21.11] https://bugs.freedesktop.org/show_bug.cgi?id=67176 * Stop being overly restrictive and rejecting stale DRI2 buffers. (DRI2 is inherently racy in that the client may have completed and submitted rendering to buffers that are now invalid on the server. This race is magnified by bugs within the Xserver where it forgets to notify the DRI2 clients of certain invalidation events.) https://bugs.freedesktop.org/show_bug.cgi?id=67210 * Handle a failure to use a GTT mmap for a pixmap upload and try an alternative method before giving up. Release 2.21.12 (2013-07-14) ============================ In this release, we clear up the teething troubles from preserving the KMS configuration, notably external connections on Haswell and plugging in new outputs after startup were broken. Besides these regression fixes, there are a couple of fixes for some long standing issues, such as incorrect rendering on gen2, an infinite loop with very, very large pixmaps and a slight improvement to the tempermental gen4. * Allow untiled scanouts again (required for large extended desktops on gen2 and gen3). [Regression from 2.21.11] * Use the correct count of the number of dirty damage boxes for the quick check on whether the existing damage contains the requested area. The danger is that we may get a false result and skip migration and so cause pixmap corruption (in the unlikely event that the application frequently causes fallbacks). [Regression from 2.21.11] https://bugs.freedesktop.org/show_bug.cgi?id=66430 * Fix initial connection probing for multi-function encoders, such as the external connections on Haswell. [Regression from 2.21.11, initial connection probing] https://bugs.freedesktop.org/show_bug.cgi?id=66488 * Fix gen2 rendercopy into a8 surfaces, for example, glyph uploads into the glyph cache. * Fix detection of user overrides for initial connection configuration. The code used the xorg-server-1.15 values, having missed the introduction of ZoomModes into that release. [Regression from 2.21.11, initial connection probing] * Always initialise the gamma ramp, even on unconnected CRTCs. https://bugs.freedesktop.org/show_bug.cgi?id=66563 [Regression from 2.21.11, initial connection probing] * Some more tuning of the gen4 vertex corruption workaround. The root cause behind the GPU using incorrect texture coordinates is still not solved, but by reducing the maximum number or rectangles in flight through the GPU we reduce the likelihood of corruption. * Fix compilation with gcc-4.5 [Regression from 2.21.11] * Avoid integer overflow when performing tiled uploads and operations on very large (>28k pixels wide or tall pixmaps) https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1200766 Release 2.21.11 (2013-06-30) ============================ An eventful week. What started with a regression with some builds of firefox on some machines lead ultimately to the discovery of an older kernel bug. Aside from the work to fix the image bug and a few other older bugs that were reported and resolved this week, there is also a (hopefully) subtle change to the initial configuration of displays. In the absence of user overrides in xorg.conf, the DDX will try to preserve the same display configuration as used by the kernel, which hopefully will be the same configuration as setup by the BIOS. The result should be a boot sequence that does not resize at all (aka fastboot) - until the display manager takes over and loads a completely different configuration! * Add reference counting of drmMaster for ZaphodHeads https://bugs.freedesktop.org/show_bug.cgi?id=66041 * Add a GPU flush before changing blend modes on Ironlake https://bugs.freedesktop.org/show_bug.cgi?id=51422 * Fix occasional missing images for inplace uploads [regression from 2.21.10] https://bugs.freedesktop.org/show_bug.cgi?id=66059 * Add missing utility files to the tarball and remove a few unused ones * Initialise PolyPoint operand state before calling miWideDash https://bugs.freedesktop.org/show_bug.cgi?id=66104 * Fix redirection handling for rendering into large surfaces https://bugs.freedesktop.org/show_bug.cgi?id=66168 https://bugs.freedesktop.org/show_bug.cgi?id=66249 * Fix compilation of UXA with xorg-xserver < 1.10 [regression from 2.20.0] * Fix consideration of gradients for deciding when to migrate render operations [performance regression from 2.21.10, the bug itself is older] https://bugs.freedesktop.org/show_bug.cgi?id=66297 Also fixed this week was: commit 22fd5ca947b58901927d100d2b1aa0f1672b3435 Author: Chris Wilson Date: Fri Jun 28 16:54:08 2013 +0100 drm/i915: Only clear write-domains after a successful wait-seqno which affects kernels 3.7 - 3.10, coming to a stable kernel near you soon. Release 2.21.10 (2013-06-22) ============================ Fixes missing support for Xv (with the textured video adaptor) on Haswell, and an old bug with wide monitors on various generation. Along with a few other regression fixes and performance tweaks for various corner cases. * Do not lose track of fast pageflips across mode changes [regression from 2.20.8] * Fix listing of Visuals for Xv [regression from 2.21.8] https://bugs.freedesktop.org/show_bug.cgi?id=65479 * Improve coherency of concurrent CPU accesses to a pixmap https://bugs.freedesktop.org/show_bug.cgi?id=61628 * Set sampler swizzling for textured video on Haswell https://bugs.freedesktop.org/show_bug.cgi?id=65699 * Apply scanout stride limits https://bugs.freedesktop.org/show_bug.cgi?id=65099 * Undo the self-copy for cloned pixmaps for loimpress's animations [regression from 2.21.7] https://bugs.freedesktop.org/show_bug.cgi?id=65665 Release 2.21.9 (2013-06-06) =========================== Consolidating the copy-on-write support, hopefully cleaning up the last of the regressions. * Restore vsync on textured videos. [regression from 2.21.8] https://bugs.freedesktop.org/show_bug.cgi?id=65048 * Fix incorrect ordering of possible_clones with certain outputs, which can lead to attempting to incorrectly clone 2 outputs and failing to light them up. [regression from 2.20.10] * Fix performance regression from not promoting large fills to the GPU [regression from 2.21.7] * Undo the pixmap clone before performing a DRI2CopyRegion [regression from 2.21.7] https://bugs.freedesktop.org/show_bug.cgi?id=65250 Release 2.21.8 (2013-05-27) =========================== A quick release to cleanup a few regressions from the introduction of copy-on-write support, notably hitting wine applications and a memory leak for firefox. * Only mark a PolyFillRect operation as replacing if it is unclipped https://bugs.freedesktop.org/show_bug.cgi?id=64841 * Prevent potential NULL dereference of damage when checking COW support * Fix invalidation of clone after dirtying the pixmap via the CPU * Prevent discarding an operation before requiring it for a fallback * Fix memory leak from replacing the clone under certain circumstances https://bugs.freedesktop.org/show_bug.cgi?id=64978 Release 2.21.7 (2013-05-21) =========================== A couple of weeks turned into a month and a couple of weeks... Amidst the usual bug fixes, we have added the complete set of Haswell PCI IDs - hopefully future proofing ourselves against being surprised by new products. We can also now use the correct term for the top of the range Haswell variants, GT3. * Fix several assertion failures hit by Jiri Slaby. * Allow XvMC to also target overlay/sprite planes. * Throw in a paranoid MI_FLUSH between BLT and RENDER operations on Ironlake. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1168066 * Prevent reuse of old framebuffers after a resize. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1157678 * Fix compilation with --enable-valgrind and no --enable-debug * Improve partial migration of render sources. * Fix origin of trapezoids. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1178020 * Introduce copy-on-write support for cloning pixmaps. The ultimate goal here is to efficiently support the TearFree mode of operation, but this provides immediate benefits with firefox - most importantly because of the inefficient way it now implements scrolling. Release 2.21.6 (2013-04-06) =========================== A surprising highlight of this release is a little refresh to the KMS support for OpenBSD. OpenBSD now has its own KMS implementation which is mostly compatible with the interface in Linux, with one or two tweaks supplied by Mark Kettenis. This release continues to cleanup behaviour for Haswell. * Workaround a failure by the xserver to invalidate DRI buffers following a pixmap change for XComposite redirection. https://bugs.freedesktop.org/show_bug.cgi?id=62614 * Fix computation of clip extents for stippling https://bugs.freedesktop.org/show_bug.cgi?id=62618 * Support KMS on OpenBSD, by Mark Kettenis * Clean up sockets upon CloseScreen (making ourselves better behaved for muxed setups). * Fix the tests for AVX/AVX2 support in CPUID and remember to check for OS support as well. * Report a monotonic UST value for undisplayed drawables rather than 0 by Daniel Kurtz * Fix video playback on gen4 through a complex clip (more gen4 GPU woes) https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1162046 Release 2.21.5 (2013-03-21) =========================== Haswell reintroduces a command to load the scanline window from the command stream and so requires its own specialised wait-for-vsync routine - failure to do so was then causing hangs when trying to do tearfree video or use a compositor. * Prevent buffer leak if a non-fullscreen Window is closed with multiple pending swap events. * Fix offset transformation for fallback gradient paths. https://bugs.freedesktop.org/show_bug.cgi?id=62198 * Prevent Glamor from crashing if misconfigured. Thanks to Michel Dänzer. * Prevent UXA from crashing if torn down during PreInit. Thanks to Aaron Plattner. * Prevent miscompilation with different functional units having different compiler flags. Some functions were expected to be inlined and so recompiled with the current target. However, some compilers were choosing to emit subroutine calls instead without noticing that the ABI was different between the caller and callee - causing corruption. https://bugs.freedesktop.org/show_bug.cgi?id=62198 * Fix rendering of CompositeTriFan with recent Xorg. * Apply the video src-offset fix highlighted in the last release! A typo prevented the fix from working for gen4+. https://bugs.freedesktop.org/show_bug.cgi?id=62343 * Fix rendering of multiple glyphs to very large destination surfaces https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156387 * Fix scanline waits for Haswell https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156679 Release 2.21.4 (2013-03-11) =========================== More bugs, more fixes, more releases. A minor new feature being introduced is the runtime detection of CPU instructions sets along with specialised paths to take advantage of the available CPU. * Honour LinearFramebuffer for clumsy PowerXpress integration * Disable read-read optimisations of mappings whilst the root cause of a corruption issue remains elusive. https://bugs.freedesktop.org/show_bug.cgi?id=61628 * Disable 8-bpp framebuffers in UXA as the regressions therein remain unfixed. * Restart vertex checks after lock contention https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1124576 * Handle Screen Pixmap recreation whilst exported via PRIME. * Correct application of scale factors to video source offsets. https://bugs.freedesktop.org/show_bug.cgi?id=61610 * Chain up CloseScreen so that resources are actually freed across regen https://bugs.freedesktop.org/show_bug.cgi?id=56608 * Fix Haswell CRW PCI-IDs * Handle batch submission failure during DRI copies https://bugs.freedesktop.org/show_bug.cgi?id=61708 * Probe for kernel support of requested Screen depth https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1135403 * Correct GPU limits for early gen2 and gen3 architectures and prevent an infinite recursion for particular image sizes. Release 2.21.3 (2013-02-20) =========================== A few minor bugfixes, another point release. * Fix tracking of DRI pixmaps and their backing bo across reparenting. If we tried to execute a SwapBuffers after a Window was reparented, but before the DRI client has updated its references, then we would end up manipulating an exported pixmap without a flush flag set. In the worst case, this would culminate in a segfault in the driver. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1127497 * Restore the gen4 workarounds for flickering rendering - a few cases still remain, as the root cause persists. https://bugs.freedesktop.org/show_bug.cgi?id=60402 * Double check that the device has KMS enabled before claiming. This allows X to gracefully fallback to VESA/fbdev rather than bailing out. https://bugs.freedesktop.org/show_bug.cgi?id=60987 * Fix the UXA render programs for projective transforms on Ivybridge. Release 2.21.2 (2013-02-10) =========================== Pass the brown paper bags, I need half a dozen or so. That seemingly innocuous build fix with xorg-1.13 happened to have the little side-effect of breaking glyph rendering with xorg-1.12 and older on 64-bit machines. Release 2.21.1 (2013-02-10) =========================== A fix for a potential GPU hang on 945gm (GMA950) and earlier chipsets, along with backporting SNA to the packages found in stable distributions like Debian 6.0 (Squeeze). * Cleanup compilation warnings from deblint, thanks to Paul Menzel * Minor build improvements by Damien Lespiau. * Disable generating span geometry for non-rectilinear spans on gen4 in order to work around and prevent one class of render corruption. * Prevent cache thrashing and severe performance degradation on LLC machines for streaming texture updates. However, note the effect was only observed on just one particular laptop. * Fix alignment of subsurface proxies for old chipsets. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1120108 * Repair build against Xserver-1.6 and contemporary packages. Release 2.21.0 (2013-02-01) =========================== A few new features: * Enable render acceleration for Haswell GT1/GT2. * Enable multi-threaded rasterisation of trapezoids and fallback composition * Utilise a new kernel interface (v3.9) for processing relocations along with a few older features from the 2.20.x series: * PRIME support for hotplug GPUs and hybrid systems * Support for IvyBridge GT1 machines, aka HD2500 graphics. * Stable 830gm/845g support, at last! As usual we have a large number of bug fixes since the last release: * Prevent a stray relocation being left after a buffer is removed from a batch, leading to GPU hangs. * Make the driver more robust against its own failures to submit batches by falling back to software rendering. * Fix emission of scanline waits for secondary pipes on gen6/7. Otherwise you may encounter GPU hangs in MI_WAIT_FOR_EVENT. * Fix a missing corner pixel when drawing rectangles with PolyLines https://bugs.freedesktop.org/show_bug.cgi?id=55484 * Don't try to use Y-tiling colour buffers with mesa/i915c as mesa doesn't support them and wil fallback to software rendering * Ensure that any cached mmaps are invalidated for a SwapBuffers https://bugs.freedesktop.org/show_bug.cgi?id=60042 * Correctly handle the composition of rotated displays too large for the 3D pipeline https://bugs.freedesktop.org/show_bug.cgi?id=60124 * Fix the computation of the planar video frame size https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1104180 Release 2.20.19 (2013-01-20) ============================ A quick release as the last broke USB DisplayLink slave outputs badly. The performance of those displays was unusable due to an inadvertent change that caused us to flush the entire scanout over the USB for every drawing operation. * Implement the GNOME Build API. A couple of minor changes to make integrators and distributors lives a little easier, or at least more consistent. * Correctly offset inplace trapezoids for subwindows, such as the GTK+ close button after it has a background image uploaded. * Explicitly prevent ring-switching for synchronized rendering to scanouts (for vsync). * Clip dirty region to slave pixmaps (otherwise UDL is nigh unusable) https://bugs.freedesktop.org/show_bug.cgi?id=59539 Release 2.20.18 (2013-01-16) ============================ A bunch of miscellaneous fixes for assertion failures and various performance regressions when mixing new methods for offloads, along with a couple of improvements for rendering with gen4. * Remove use of packed unnormalized texture coordinates on gen4/5 as these GPUs do not support unnormalized coordinates in the sampler. * Remove dependency upon x86 asm for cross-building to unsupported architectures. https://bugs.gentoo.org/show_bug.cgi?id=448570 * Apply damage around PRIME updates in the correct order. * Correctly read the initial backlight level for when the user overrides UXA's choice of backlight controller. * Throttle UXA and prevent it queuing work much faster than the GPU can complete it. This realised itself in impossible performance figures and the entire display freezing for several seconds whlist the GPU caught up. One side effect is that it also caused the DDX to consume more memory than was required as it could not recycle buffers quick enough, and in some cases this produces a marked improvement in performance. Also note on gen2/3 this requires a new libdrm [2.4.41] in order to prevent a bug causing the DDX to fallback to swrast. Release 2.20.17 (2012-12-26) ============================ A minor update to prepare for co-operating with the kernel over managing stability on 830gm/845g. On this pair of chipsets, the kernel will perform an extra copy of the batchbuffer into reserved memory, which prevents them from randomly dying. However, that extra copy does have a noticeable impact upon throughput, so we also have a mechanism for userspace to opt-out of the kernel workaround and take responsibility for ensuring its batches are coherent. * Build fixes against xorg-1.14 https://bugs.freedesktop.org/show_bug.cgi?id=58552 https://bugs.freedesktop.org/show_bug.cgi?id=58406 * Fixed the origin of cropped (textured) video windows (Xv and XvMC) https://bugs.freedesktop.org/show_bug.cgi?id=23033 * Fix potential corruption when using images larger than ~1GiB Release 2.20.16 (2012-12-15) ============================ Rejoice! We have found a trick to make 830gm/845g stable at long last. Ever since the switch to GEM and dynamic video memory, those early second generation chipsets have been plagued by instability. The lack of flushing cachelines from the CPU to GMCH was eventually solved by using an undocmented bit, but 830/845 were still hanging under memory pressure. These deaths were all due to garbage finding its way into the command streamer, and they go away if we take a leaf out of the original driver and never reuse those pages for anything else. So for the first time ever, I have been able to complete running the test suite on an 845g, even whilst thrashing the page and buffer caches! * Run the SF stage as single-threaded on gen4 to workaround a few issues https://bugs.freedesktop.org/show_bug.cgi?id=57410 * Keep the scanout SURFACE_STATE separate to avoid overriding its memory access control on gen6/7 (i.e. writes to the scanout need to be kept out of the render cache) * Tune batch flushing after an operation to an exported surface under a compositor. * Make sure the source is on the CPU for inplace composition of trapezoids using the CPU https://bugs.freedesktop.org/show_bug.cgi?id=56825 * Immediately flush in the block hander after a split batch to reduce latency between the two halves of an operation. https://bugs.freedesktop.org/show_bug.cgi?id=51718 * Install a fallback config if we fail to install the desired config at VT switch (i.e. booting, after resume with 3 incompatible pipes on Ivybridge) * Pin batches to avoid CS incoherence on 830/845 https://bugs.freedesktop.org/show_bug.cgi?id=26345 Release 2.20.15 (2012-12-03) ============================ And lo, enabling more of the common acceleration paths for gen4 revealed another lurking bug - something is wrong with how we prepare Y-tiling surfaces for rendering. For the time being, we can surreptitiously disable them for gen4 and avoid hitting GPU hangs. * Avoid clobbering the render state after failing to convert the operation to use the blitter. https://bugs.freedesktop.org/show_bug.cgi?id=57601 * Disable shadow tracking upon server regeneration, and so fix a crash if you restart the server whilst a RandR transform (e.g. rotation) is in effect. https://bugs.freedesktop.org/show_bug.cgi?id=52255 https://bugs.freedesktop.org/show_bug.cgi?id=56608 Release 2.20.14 (2012-11-26) ============================ The highlight of this release is gen4, from 965g to gm45. Quite an old bug surfaced in the shader assembly, sparking a chance to review a few design choices within that backend and experiment on fresh ways to workaround the remaining issues. * Avoid using inplace XOR'ed uploads for very large buffers https://bugs.freedesktop.org/show_bug.cgi?id=57031 * Fix the gen4/5 opacity shader https://bugs.freedesktop.org/show_bug.cgi?id=57054 * Queue a pending vblank request after flip completion https://bugs.freedesktop.org/show_bug.cgi?id=56423 * Avoid migrating an uninitialised pixmap for use as a render source https://bugs.freedesktop.org/show_bug.cgi?id=47597 * Improve handing of texture fallbacks for 830/845. https://bugs.freedesktop.org/show_bug.cgi?id=57392 Release 2.20.13 (2012-11-11) ============================ Nothing but bug fixes. Many thanks to everyone who took the time to report their issues, and for their help in improving the driver. * Sanity check the platform probe points to our expected i915 device https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1069031 * Prevent 16-bit overflow for computing the sample area to upload of sources for render operations https://bugs.freedesktop.org/show_bug.cgi?id=56324 * Clamp the drawable box for migration to prevent 16-bit overflow https://bugs.freedesktop.org/show_bug.cgi?id=56591 * Disable RandR hotplug events if Xinerama is enabled and thereby prevent a crash upon hotplug https://bugs.freedesktop.org/show_bug.cgi?id=55260 * Call ValidatePicture before attempting to flatten the alphamaps https://bugs.freedesktop.org/show_bug.cgi?id=56367 * Clip the trapezoid correctly if it ends on the boundary pixel https://bugs.freedesktop.org/show_bug.cgi?id=56395 * Make sure the pipeline choice is propagated to the scanline wait across a batch flush https://bugs.freedesktop.org/show_bug.cgi?id=47597 * Set the valid drawable box when choosing placement of BLT composite ops https://bugs.freedesktop.org/show_bug.cgi?id=47597 * Prevent use-after-free when promoting a partial-GPU bo to a full-GPU bo https://bugs.freedesktop.org/show_bug.cgi?id=56591 * gen4 opacity spans require the per-rectangle workaround https://bugs.freedesktop.org/show_bug.cgi?id=55500 * Prevent use of invalid damage pointers when redirecting rendering https://bugs.freedesktop.org/show_bug.cgi?id=56785 Release 2.20.12 (2012-10-20) ============================ More bug reports, more bug fixes! Perhaps the headline feature is that with a secure batches, coming to a 3.8 kernel near you, we may finally have the ability to perform updates to the scanout synchronized to the refresh rate on later SandyBridge and IvyBridge chipsets. It comes at quite a power cost as we need to keep the GPU out of its power saving modes, but it should allow legacy vsync to function at last. But this should allow us to address a longstanding issue with tearing on SandyBridge+. * Fix component-alpha rendering on IvyBridge, for example subpixel antialiased glyphs. https://bugs.freedesktop.org/show_bug.cgi?id=56037 * Flush before some "pipelined" state changes on gen4. The evidence is that the same flushes as required on gen5+ are also required for gen4. https://bugs.freedesktop.org/show_bug.cgi?id=55627 * Prevent a potential crash when forcing a stall on a busy CPU bo https://bugs.freedesktop.org/show_bug.cgi?id=56180 [Release 2.20.11 contained a typo causing UXA to fail immediately.] Release 2.20.10 (2012-10-14) ============================ The last couple of weeks have been fairly retrospective, a dive into prehistory tidying up the earlier generations which lay languishing as the core progressed and lead to a number of annoying core bugs being fixed. * Release DRM master earlier during shutdown so switching between multiple X servers works automatically. https://bugs.freedesktop.org/show_bug.cgi?id=55446 * Suppress error propagation from DRI2GetMSC and behave as if the pipe was simply off to avoid unexpected errors in the clients https://bugs.freedesktop.org/show_bug.cgi?id=55395 * A few fixes to i8xx batch emission, ensuring that the GPU is always in a valid state. https://bugs.freedesktop.org/show_bug.cgi?id=55455 * Prevent a use-after-free during UXA shutdown due to inspecting the glamor flags after the glamor interface had been freed. * Prevent a crash combining TearFree and rotations. https://bugs.freedesktop.org/show_bug.cgi?id=55527 * Correct a missing damage upload along PutImage after using the CPU bo as a source for the GPU. https://bugs.freedesktop.org/show_bug.cgi?id=55508 * Fix compilation for older glibc without O_CLOEXEC https://bugs.freedesktop.org/show_bug.cgi?id=55577 * Fix out-of-tree builds failing to recompile the gen4 assemblies https://bugs.freedesktop.org/show_bug.cgi?id=55645 * Fix non-standard build host configuration handling for intel-gen4asm https://bugs.freedesktop.org/show_bug.cgi?id=55646 * Fix a potential batch buffer overflow when replacing the last BLT fill operation with a copy https://bugs.freedesktop.org/show_bug.cgi?id=55700 * Flush the render pipeline more frequently on Ironlake as not all pipelined state changes are. https://bugs.freedesktop.org/show_bug.cgi?id=51422 * Detect when we need to read the destination for the background raster op during fallbacks. https://bugs.freedesktop.org/show_bug.cgi?id=55810 * Avoid a potential deference of an invalid CPU mmap after doing an inplace tiled upload. https://bugs.freedesktop.org/show_bug.cgi?id=55812 * Prevent sign extension when packing the upload data for CopyPlane https://bugs.freedesktop.org/show_bug.cgi?id=55823 * Fix some render corruption with a UDL slave output and pageflipping Release 2.20.9 (2012-09-29) =========================== And so it came to pass that a critical bug was uncovered in UXA. The kernel does not like to pageflip when the pipe is off, yet due to the delayed nature of a pageflip and the relaxed checking performed by UXA, we could request a pageflip after turning off the display (DPMS). The kernel rejected that pageflip and the error handling path failed to restore sanity, and when the screen came back it was stuck on the image seen before it went to sleep. (Note that there are also some related kernel bugs, but this update should prevent the most conspicious of the freezes.) Many thanks to Timo Aaltonen for his efforts in tracking down the issue. In other news: * Prepare for xorg-1.14, the api is being tweaked again. * Handle early FreeScreen in UXA. https://bugs.freedesktop.org/show_bug.cgi?id=55346 * Reenable XvMC support * Do not replace the GPU bo when uploading into the shadow/CPU copy https://bugs.freedesktop.org/show_bug.cgi?id=54978 * Fix use of an uninitialised GC when drawing glyphs to a depth=1 pixmap Release 2.20.8 (2012-09-16) =========================== Another new small feature, another new release. And a few more bugs fixed as well! But what is this new feature, do I hear you ask? Why, it is nothing less than enabling the ValleyView SDV! The lucky person to have their hands on one will now be able to enjoy X in full TechniColor. For the rest of us, a few more bugs were fixed with interesting combinations of software and rendering patterns. * Add an extra layer of defence against trying to use a non-GEM device with UXA. This should already be taken care of with the new probe, but the extra sanity check already existed in the code but was doing nothing. https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/962892 * Fix computation of valid CRTCs bitmask for ZaphodHead Some systems can only handle certain outputs on certain pipes (Screens), and this information was not being propagated through to X and randr correctly, breaking valid configurations and not detecting invalid configurations correctly. * Disable global glyph caching with ZaphodHeads. The glyph privates need to be Screen private, but at the moment are global leading to conflicts and invalid rendering with multiple heads. https://bugs.freedesktop.org/show_bug.cgi?id=54707 * Prevent direct read back of unmappable buffers https://bugs.freedesktop.org/show_bug.cgi?id=54808 * Tile large uploads whilst replacing the alpha channel https://bugs.freedesktop.org/show_bug.cgi?id=54808 * Correct the source offset when converting a RENDER composite operation into a BLT composite operation. https://bugs.freedesktop.org/show_bug.cgi?id=54868 * Correct a minor typo in flattening alphamaps which caused the replacement pixmap to often end up with a height of zero. https://bugs.gentoo.org/show_bug.cgi?id=434860 * Don't discard the CPU damage if only part of is being replaced. This is most evident when combining software renders like Opera with accelerated rendering. https://bugs.freedesktop.org/show_bug.cgi?id=54937 Release 2.20.7 (2012-09-08) =========================== Continuing the flurry of releases, this week saw the release of xorg-1.13 bringing with it the first steps towards hotpluggable gpu support and the ability to offload DRI rendering onto other GPUs. In light of that advance, this release includes the support code by Dave Airlie to integrate PRIME into xf86-video-intel and make those new features available. Aside from landing PRIME, a few other bugs were fixed since 2.20.6: * Fix framebuffer leak on server regeneration * Fix texture cache flushing on IvyBridge and Kwin with plastique https://bugs.freedesktop.org/show_bug.cgi?id=54488 * Redirect large solid fills on SandyBridge+. By large I mean greater than 8192 or 16384 pixels on SandyBridge and IvyBridge respectively. https://bugs.freedesktop.org/show_bug.cgi?id=54134 * Fix up backlight option handling in the manpage and uxa. https://bugs.freedesktop.org/show_bug.cgi?id=54397 * Unbreak ZaphodHeads. https://bugs.freedesktop.org/show_bug.cgi?id=52438 Release 2.20.6 (2012-09-02) =========================== A serious bug that caused a crash on SandyBridge and IvyBridge when mixing CPU and GPU operations on the same buffer, and an annoyance from bad scheduling of windowed swapbuffer updates causing low framerates and jitter. Plus the usual smattering of assertion fixes and a long standing issue with incoherent page access to a streaming buffer. * Low frame rates in Blobby Valley when "fullscreen" https://bugs.freedesktop.org/show_bug.cgi?id=54274 * Incoherent concurrent access with the CPU and GPU https://bugs.freedesktop.org/show_bug.cgi?id=51422 https://bugs.freedesktop.org/show_bug.cgi?id=52299 * Add Option "Backlight" to override automatic selection of the backlight interface. * Avoid overwriting the composite operation info when testing if we can transfer the operation to the BLT. Release 2.20.5 (2012-08-26) =========================== Another silly bug found, another small bugfix release. The goal was for the driver to bind to all Intel devices supported by the kernel. Unfortunately we were too successful and started claiming Pouslbo, Medfield and Cedarview devices which are still encumbered by proprietary IP and not supported by this driver. Bugs fixed since 2.20.4: * Only bind to Intel devices using the i915 kernel module * Regression in the bitmap-to-region code, e.g. icewm window buttons https://bugs.freedesktop.org/show_bug.cgi?id=53699 Release 2.20.4 (2012-08-18) =========================== Continuing the small bugfix releases, the only real feature is initial enabling for Haswell for the purpose of rendering verification and validation - by no means is it complete! Bugs fixed since 2.20.3: * Some potential errors along failure paths found by a static analyser with the help of Zdenek Kablac. * Eliminate zero-sized rectangles from PolyFillRectangles as the code assumes that they did not exist and so caused corruption. * Remove the UXA warning for failing to tile the front buffer if it is disallowed by hardware, and so expected. * Fix the validation of the XV pipe parameter. * Fix 8x8 tiled pattern fills https://bugs.freedesktop.org/show_bug.cgi?id=53353 * Fix compile failure when using --with-builderstring * Restore w/a flush for gen4 fill/copy/video, fortunately rare operations as at least for fill/copy we prefer to use the BLT. https://bugs.freedesktop.org/show_bug.cgi?id=53119 * Restore preferred use of the RENDER ring for SNB+ DRI copies. Release 2.20.3 (2012-08-04) =========================== Just a minor bugfix for gen4 chipsets (965gm, gm45 and friends) that crept into 2.20.2. As an added bonus, the pessimistic workaround for a GPU hang on gen4 has been relaxed and the shaders have been overhauled which should pave the way to eliminating the last of the uncommon CPU operations, along with immediately realising a small perforamnce improvement. Bugs fixed since 2.20.2: * Update DPMS bookkeeping after modeset https://bugs.freedesktop.org/show_bug.cgi?id=52142 * Avoid overlapping gpu/cpu damage after ignoring cpu damage in the consideration of placement for the operation. * Enable acceleration by default on 830gm/845g. The GMCH on this pair of chipsets is notoriously incoherent, so the GPU is almost certainly going to hang at some point, though unlikely to hang the system and should automatically disable acceleration (and thence behave identically as if the acceleration was disabled from the start). Option "NoAccel" can be used to disable all 2D acceleration and Option "DRI" can be used to disable all 3D acceleration. https://bugs.freedesktop.org/show_bug.cgi?id=52624 * Fix vertex bookkeeping for gen4 that was causing corruption in the command stream. Release 2.20.2 (2012-07-27) =========================== For the last 9 months, since 2.16.901, we have been shipping a driver that does not work on IvyBridge GT1 systems (HD2500 graphics); we were telling the GPU to use an invalid number of threads for the pixel shader and this in turned caused the GPU to hang. Also fixed since the last release just a few days ago: * Support for the gmux backlight controller on Apple laptops https://bugs.freedesktop.org/show_bug.cgi?id=52423 * Fix X -configure not to list this driver as matching any Intel device, just the VGA class devices will do! * A crash in SNA when repeatedly switching xrandr rotations * Corruption in SNA observed in kwin on IvyBridge https://bugs.freedesktop.org/show_bug.cgi?id=52473 Release 2.20.1 (2012-07-22) =========================== A week in, grab the brown paper bags, for it is time to reveal a couple of critical bugs that spoilt the 2.20.0 release. Firstly we have the restoration of DRI for i810. I am sure that the solitary user will be overjoyed in a couple of years when a new xserver is forced upon him. That enjoyment will be short-lived when as no actual acceleration remains, not even shadow, for the chipset. Perhaps a little more wildly felt, I hope!, will be that the SNA fallbacks were broken on 64-bit machines if they required clipping. One little misplaced cast of a pointer, and the screen is filled with corruption. Among the other tweaks this week: * A bug affecting gen4 handling of trapezoids was fixed, and CPU overhead reduced. https://bugs.freedesktop.org/show_bug.cgi?id=52158 * A fix for a bug causing corruption of a DRI2 unredirected client window that was resized whilst under a compositor. * Support for snoopable buffers on non-LLC architectures, coming to a future kernel. The aim to accelerate transfers between the CPU and the GPU, in particular to dramatically improve readback performance, and to further minimise clflushes. * Improvement to the composite performance on GT2 SandyBridge and IvyBridge devices, in particular the render copy is significantly improved. * Improved handling for when acceleration is disabled, including permitting DRI2 to remain supported even if the X server believes the GPU wedged. * Shadow support was dropped from UXA as it was neither complete nor correct, use SNA instead. Release 2.20.0 (2012-07-15) =========================== First the big news, a new acceleration method that aims to be faster and consume far less CPU than UXA is now available for selection at runtime. This snazzy new architecture can be selected through use of Option "AccelMethod" "sna" in your xorg.conf. Whilst it has been under development for some time, it has not yet had the same degree of widespread testing of UXA, so tread lightly. Try it and if you spot anything that can be improved, please do report a bug. Otherwise we have the usual smattering of bug fixes for UXA: * Use a white source whilst adding glyphs to the glyph mask (This fixes blank glyphs if using a font that mixes ARGB and A glyphs.) * Avoid fallbacks for glyph-to-dst in e.g. gnome-terminal https://bugs.freedesktop.org/show_bug.cgi?id=50508 * Force unused outputs off when VT switching https://bugs.freedesktop.org/show_bug.cgi?id=50772 * Copy the fbcon across to the Screen pixmap at startup. (This patch has been kicking around in the distributions for years.) * Many missed malloc failures checks and forgotten frees found by a static analyzer. Thanks Zdenek Kabelac! * Leak of the back buffer when terminating an application after pageflipping https://bugs.freedesktop.org/show_bug.cgi?id=50670 * Double check that the pipe is on before emitting a WAIT_ON_EVENT. In conjunction with an uptodate kernel, this should eliminate any hangs when changing resolutions or adding/removing displays. https://bugs.freedesktop.org/show_bug.cgi?id=50668 * Update to new Xorg APIs. Future proofing for the next generation of hotplug Xorg display servers. Many thanks to everyone who has reported a bug and otherwise helped to improve the driver. Release 2.19.0 (2012-04-29) =========================== More stability fixes for UXA and support for another variant of IvyBridge. Given the severity of the stability fixes, I strongly recommend everybody to upgrade to 2.19.0. * Prevent waiting on scanlines whilst not in control of the VT and therefore whilst referencing foreign CRTC configurations. * Pixmap (and bo leak) during fallback glyph composition * Remove broken acceleration for rendering glyphs directly upon the destination pixmap, exposed by cairo-1.12.0 (and coincidentally fix another Pixmap leak upon fallback handling). * Add support for Ivy Bridge GT2 Server chipset [PCI id 0x016a] * Remove broken damage flushing with CompositeRectangles https://bugs.freedesktop.org/show_bug.cgi?id=32547 * Fix crash upon server start with multiple monitors https://bugs.freedesktop.org/show_bug.cgi?id=47395 * Fix composition issues resulting from overly aggressive Pixmap reuse https://bugs.freedesktop.org/show_bug.cgi?id=47345 Release 2.18.0 (2012-02-24) =========================== Time passes, a few more bugs have crept out of the woodwork that are a compelling reason to update. Bugs fixed in this release (compared to 2.17.0) ----------------------------------------------- * Limit maximum object size so that all of the source, mask and destination can be mapped into the aperture simultaneously by basing the limit on the mappable aperture size rather than the size of the total GATT. * Incorrect clipping of polygons https://bugs.freedesktop.org/show_bug.cgi?id=43649 Regression from 2.15.901 * Limit number of VMA cached to avoid hitting the per-process VMA limit There still is a residual bug in that we seem to have so many objects floating around in the first place and that still leads to exhaustion of system limits. https://bugs.freedesktop.org/show_bug.cgi?id=43075 https://bugs.freedesktop.org/show_bug.cgi?id=40066 * Latency in processing user-input during continuous rendering Release 2.17.0 (2011-11-16) ============================== A few months have passed, and we have accumulated a surprising number of bug fixes. Oops! We would strongly encourage everyone to upgrade. Bugs fixed in this snapshot (compared to 2.16.902) -------------------------------------------------- * Video clobbering composite batch state http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635953 Snapshot 2.16.902 (2011-11-13) ============================== This is the second release candidate in preparation for the upcoming 2.17.0 release. We will appreciate any feedback we can get from testing of this snapshot, and thanks to everyone who tested and reported upon issues in the last snapshot. A very old bug demonstrating that nobody has ever used alpha maps, and a couple of more recent mistakes were found. Bugs fixed in this snapshot (compared to 2.16.901) -------------------------------------------------- * Incorrect reuse of surface bindings within a batch for multiple formats https://bugs.freedesktop.org/show_bug.cgi?id=40926 * Nothing was rendered for text with procedural sources https://bugs.freedesktop.org/show_bug.cgi?id=31819 * Handle fallbacks involving alpha maps Snapshot 2.16.901 (2011-10-30) ============================== This is the first release candidate in preparation for the upcoming 2.17.0 release. We will appreciate any feedback we can get from testing of this snapshot. The basis of this release are to push out a couple of critical stability fixes for SandyBridge and IvyBridge. There is very little else to see here. Those 200+ other commits do not exist... Bugs fixed in this snapshot (compared to 2.16.0) -------------------------------------------------- * Workaround blitter hang on SandyBridge and IvyBridge https://bugzilla.kernel.org/show_bug.cgi?id=27892 https://bugs.freedesktop.org/show_bug.cgi * Workaround pipe control issues on SandyBridge * Use correct maximum PS thread count on IvyBridge * Protect against failed pixmap allocation for XV https://bugs.freedesktop.org/show_bug.cgi?id=40439 Release 2.16.0 (2011-08-09) ============================== A new quarter, a new release! The key feature of this release, looking past the bug fixes, is the enabling of IvyBridge acceleration. We have also fixed many bugs and graphical glitches and would encourage everyone to upgrade. Bugs fixed in this snapshot (compared to 2.15.901) -------------------------------------------------- * Build fix for xserver-1.7.7 Snapshot 2.15.901 (2011-07-30) ============================== This is the first release candidate in preparation for the upcoming 2.16.0 release. We will appreciate any feedback we can get from testing of this snapshot. The highlight of this snapshot is the full enabling of IvyBridge with acceleration for Render and Xv, along with handling of the shared render buffer allocations required for Mesa. Also of note is that deep-color support is enabled (for all chipsets), which allows you to drive your 30-bit monitor at its native colour depth. Bugs fixed in this snapshot (compared to 2.15.0) -------------------------------------------------- * Misuse of the Resource database causing crashes after DRI clients close https://bugs.freedesktop.org/show_bug.cgi?id=37700 * Crash on large strings https://bugs.freedesktop.org/show_bug.cgi?id=36860 * Incorrect rendering for some core drawing operations http://bugs.freedesktop.org/show_bug.cgi?id=28768 http://bugs.freedesktop.org/show_bug.cgi?id=28798 http://bugs.freedesktop.org/show_bug.cgi?id=28908 http://bugs.freedesktop.org/show_bug.cgi?id=29401 * Crash in Xv due to insufficient checks on batch space https://bugs.freedesktop.org/show_bug.cgi?id=36319 Release 2.15.0 (2011-04-14) ============================== We are pleased to announce this major release of the xf86-video-intel driver, roughly on schedule at 3 months since 2.14.0. With the many bug fixes in this release, we encourage everyone to upgrade to 2.15. The priority for this quarter has been simply to be unexciting and stabilise the driver further, seeking to capitalise upon the improvements elsewhere in the stack. Bugs fixed in this snapshot (compared to 2.14.903) -------------------------------------------------- * Turn off relaxed fencing by default for older chipsets This was continuing to destabilize those system, so for the release we disabled the feature. If you wish to help us debug this, you can re-enable the optimisation with Option "RelaxedFencing" "True". Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36147 * Build fix for xserver-1.7.7 * KDE glitches on SNB [Technically fixed in the previous snapshot, but I'm really pleased that this got fixed in time for the release!] https://bugs.freedesktop.org/show_bug.cgi?id=35808 Snapshot 2.14.903 (2011-04-11) ============================== This is the third release candidate in preparation for the upcoming 2.15.0 release. We will appreciate any feedback we can get from testing of this snapshot. There was a bit of churn since 2.14.902 as a potential fix for a performance regression was tried but had to reverted when it was found to cause glitches running Compiz on SandyBridge. Otherwise, there were just a couple of fixes for building against old xservers and running on an obscure chipset. Bugs fixed in this snapshot (compared to 2.14.902) -------------------------------------------------- * Prevent issuing an invalid scanline wait command https://bugs.freedesktop.org/show_bug.cgi?id=35576 * The 946GZ in not a 945, but a 965. https://bugs.freedesktop.org/show_bug.cgi?id=35854 * Fix tile sizes for gen2 (finally). * Allow building of recent dri2 changes against old xservers. Snapshot 2.14.902 (2011-03-29) ============================== This is the second release candidate in preparation for the upcoming 2.15.0 release. We will appreciate any feedback we can get from testing of this snapshot. As befits testing of release candidates, no major regression was found and a couple more bugs have been fixed. Bugs fixed in this snapshot (compared to 2.14.901) -------------------------------------------------- * Clients disappearing with pending swaps * Incorrect clipping of Xv output on i915 across extended desktops https://bugs.freedesktop.org/show_bug.cgi?id=35346 * Introduction of a LinearFramebuffer option. (Defaults to tiled for performance and power saving.) Snapshot 2.14.901 (2011-03-02) ============================== This is the first release candidate in preparation for the upcoming 2.15.0 release. We will appreciate any feedback we can get from testing of this snapshot. Still no further along my grandiose plans to improve Render performance, aside from the performance tuning lower in the stack, instead we have had a steady stream of bug fixes. Bugs fixed in this snapshot (compared to 2.14.0) ------------------------------------------------ * Green pixels within partially off-screen video playback https://bugs.freedesktop.org/show_bug.cgi?id=24767 * Defer creation of the glyph cache to generation startup https://bugs.freedesktop.org/show_bug.cgi?id=33412 * Incorrect maximum addresses for video decoder state https://bugs.freedesktop.org/show_bug.cgi?id=34017 * Failure to handle oversized temporary surfaces https://bugs.freedesktop.org/show_bug.cgi?id=34399 * Relaxed tiling corruption on gen2 * Crash when destroying a foreign DRI drawable https://bugs.freedesktop.org/show_bug.cgi?id=34787 Release 2.14.0 (2011-01-07) =========================== We are pleased to announce this major release of the xf86-video-intel driver, on schedule at 3 months since 2.13.0. With the many bug fixes in this release, we encourage everyone to upgrade to 2.14. The most notable feature of this release is the inclusion of acceleration support, both RENDER and XVIDEO, for Sandy Bridge; note that this requires a 2.6.37 kernel. In improving the acceleration code paths to support Sandy Bridge, we were also able to improve the performance of the general i965+ RENDER acceleration. For example on i3, glyph (aa10 and rgb10) performance is about 3x faster, as is performing small copies between windows, with the improvement becoming negligible once you hit around 100 pixels square. Snapshot 2.13.903 (2010-01-04) ============================== This is the second release candidate in preparation for the upcoming 2.14.0 release, and if no showstoppers turn up in wider testing will become the next release. Besides the usual bug fixes, we've included patches by Mario Kleiner to improve vblank handing which both improve the timing accuracy and remove a few potential races -- provided you also have the corresponding fixes in the kernel. Bug fixes --------- * Crash on hot-unpluging with an active fullscreen GL application, e.g. a compositing WM or video player https://bugs.freedesktop.org/show_bug.cgi?id=32770 * Freeze upon maximising client-side software renderers, e.g. flash. https://bugs.freedesktop.org/show_bug.cgi?id=31367 * Fix confusion over G35 generation https://bugs.freedesktop.org/show_bug.cgi?id=32478 Snapshot 2.13.902 (2010-12-10) ============================== This is the first release candidate in preparation for the upcoming 2.14.0 release. Sandybridge support should be now be ready for use, and we will appreciate any feedback we can get from this snapshot. Improving the code base for Sandybridge should also have had knock on effects for earlier chips as well, in particular Ironlake and to a lesser extent i965. New requirements compared to 2.13 --------------------------------- * Librdrm >= 2.4.23 Bug fixes --------- * Crash after failing to allocate memory https://bugs.freedesktop.org/show_bug.cgi?id=31487 * EFAULT during pwrite https://bugs.freedesktop.org/show_bug.cgi?id=29752 * Mark outputs as on and restore backlight after mode-set * A hang with i965+ with newer kernels. Snapshot 2.13.901 (2010-11-05) ============================== This is an intermediate snapshot of ongoing driver development. The primary purpose of this snapshot is to capture some recent improvements, (particularly in Sandybridge support), for further testing. Release 2.13.0 (2010-09-30) =========================== We are pleased to announce this major release of the xf86-video-intel driver, on schedule at 3 months since 2.12.0. With the many bug fixes in this release, we encourage everyone using 2.12 to upgrade to 2.13. [This release is functionally identical to the earlier 2.12.902 release candidate.] New requirements compared to 2.12 --------------------------------- * Librdrm >= 2.4.22 Bug fixes --------- * Attempt to fix infinite MI_WAIT_FOR_EVENT while watching video https://bugs.freedesktop.org/show_bug.cgi?id=28964 [Various new checks have been added to the video code here, but the bug fix hasn't yet been verified by the original reporter.] * Fix buffer-object leak https://bugs.freedesktop.org/show_bug.cgi?id=26946 * Fix memory leak on server reset * Fix crash due to unchecked pixmap allocation https://bugs.freedesktop.org/show_bug.cgi?id=29187 * Fix for video artifacts when using dualscreen https://bugs.freedesktop.org/show_bug.cgi?id=29213 * Fix for incorrect characters in gnome-terminal when using compiz https://bugs.freedesktop.org/show_bug.cgi?id=28438 * Fix for hanging, full-screen applications, (flash, compiz, etc.) https://bugs.freedesktop.org/show_bug.cgi?id=29584 * Fix selection of backlight device on multi-GPU systems https://bugs.freedesktop.org/show_bug.cgi?id=29273 * Fix to avoid crash with extremely large glyphs https://bugs.freedesktop.org/show_bug.cgi?id=29430 * Fix for eDP panels incorrectly being given only a single, valid mode https://bugs.freedesktop.org/show_bug.cgi?id=30069 * Fix GPU hang involving clipped SRC copies https://bugs.freedesktop.org/show_bug.cgi?id=30120 * Fix to compile for 1.6 series X server. * Fix to retry framebuffer allocation after an initial failure. * Fix to disable dri2 after fallbacks are forced on. Snapshot 2.12.902 (2010-09-28) ============================== This is the second release candidate in preparation for the upcoming 2.13.0 release. The comes exactly one week after 2.12.902 and includes only a handful of changes. One significant change is that the drive now requires libdrm 2.4.22 (or newer), as several people reported compilation failures of xf86-video-intel 2.12.901 with libdrm 2.4.21. Other changes include a fix to compile for the 1.6 series X server, a fix to retry framebuffer allocation after an initial failure, and a fix to disable dri2 after fallbacks are forced on. Snapshot 2.12.901 (2010-09-21) ============================== This is the first release candidate in preparation for the upcoming 2.13.0 release. We will appreciate any feedback we can get from testing of this snapshot. Bugs fixed in this snapshot (compared to 2.12.0) ------------------------------------------------ * Attempt to fix infinite MI_WAIT_FOR_EVENT while watching video https://bugs.freedesktop.org/show_bug.cgi?id=28964 [Various new checks have been added to the video code here, but the bug fix hasn't yet been verified by the original reporter.] * Fix buffer-object leak https://bugs.freedesktop.org/show_bug.cgi?id=26946 * Fix memory leak on server reset * Fix crash due to unchecked pixmap allocation https://bugs.freedesktop.org/show_bug.cgi?id=29187 * Fix for video artifacts when using dualscreen https://bugs.freedesktop.org/show_bug.cgi?id=29213 * Fix for incorrect characters in gnome-terminal when using compiz https://bugs.freedesktop.org/show_bug.cgi?id=28438 * Fix for hanging, full-screen applications, (flash, compiz, etc.) https://bugs.freedesktop.org/show_bug.cgi?id=29584 * Fix selection of backlight device on multi-GPU systems https://bugs.freedesktop.org/show_bug.cgi?id=29273 * Fix to avoid crash with extremely large glyphs https://bugs.freedesktop.org/show_bug.cgi?id=29430 * Fix for eDP panels incorrectly being given only a single, valid mode https://bugs.freedesktop.org/show_bug.cgi?id=30069 * Fix GPU hang involving clipped SRC copies https://bugs.freedesktop.org/show_bug.cgi?id=30120 Release 2.12.0 (2010-06-24) =========================== We are pleased to announce this major release of the xf86-video-intel 2D driver. It contains many correctness and performance improvements compared to the 2.11 releases. We encourage everyone using 2.11 to upgrade to 2.12. [This release contains several bug fixes since the earlier 2.11.901 release candidate---see below for details.] New requirements compared to 2.11 --------------------------------- * Libdrm >= 2.4.21 Major performance improvements ------------------------------ There have been many performance improvements targeting the 915G/945G/Pineview graphics chipsets (thank to Chris Wilson!). Areas improved include: * Major improvements to glyph rendering * Avoid software fallback when using extended desktops, (for example, video playback) * Better performance when using large windows, (for example with firefox scrolling) * Avoiding migration ping-pong with gigantic drawing The following speedups (measured with cairo-perf-trace/cairo-traces) capture some of the improvements. These were measured on a Pineview system with X server 1.8.1. This compares how this 2.12 release improves performance compared to 2.11.0: Trace Speedup ----- ------- ocitysmap 5.41x speedup firefox-talos-gfx 2.41x speedup gnome-terminal-vim 2.15x speedup poppler 1.86x speedup firefox-planet-gnome 1.43x speedup midori-zoomed 1.39x speedup swfdec-giant-steps 1.36x speedup xfce4-terminal-a1 1.17x speedup evolution 1.09x speedup swfdec-youtube 1.06x speedup Other improvements ------------------ Daniel Vetter improved Xvmc and overlay, adding GEM support. Bug fixes --------- There have been many conformance improvements targeting the 915G/945G/Pineview graphics chipsets. The rendercheck test suite passes once again and there has been a significant reduction in the number of errors detected by the cairo test suite (notably center sampling and EXTEND_NONE behaviors are fixed). Other notable bug fixes include: * Fix for bug 28446 Garbled fonts with Mathematica https://bugs.freedesktop.org/show_bug.cgi?id=28446 * Fixes for page-flipping and other DRI2-handling bugs, (Thanks Jesse Barnes, and Kristian Høgsberg) * Avoid corruption when using extended desktops, (for example, video playback) (The bug fixes below are new since the 2.11.901 release candidate) * Fix corrupted output when screen rotated https://bugs.freedesktop.org/show_bug.cgi?id=28461 * Fix corrupted rendering in KDE due to missing flush. * Fixes i830_uxa_put_image for the following issues: 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 * Fix visual corruption of scrollbar in Chromium * Fix tiling limits to resolve this issue: Bug 28497 - Graphics corruption after opening a specific website https://bugs.freedesktop.org/show_bug.cgi?id=28497 Snapshot 2.11.901 (2010-06-14) ============================== This is the first release candidate in preparation for the upcoming 2.12.0 release. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.12.0 release. New requirements compared to 2.10 --------------------------------- * Libdrm >= 2.4.19 Major performance improvements ------------------------------ There have been many performance improvements targeting the 915G/945G/Pineview graphics chipsets (thank to Chris Wilson!). Areas improved include: * Major improvements to glyph rendering * Avoid software fallback when using extended desktops, (for example, video playback) * Better performance when using large windows, (for example with firefox scrolling) * Avoiding migration ping-pong with gigantic drawing The following speedups (measured with cairo-perf-trace/cairo-traces) capture some of the improvements. These were measured on a Pineview system with a very recent X server, (from git just before 1.8.1). This compares how this 2.12 release candidate improves performance compared to 2.11.0: Trace Speedup ----- ------- ocitysmap 5.41x speedup firefox-talos-gfx 2.41x speedup gnome-terminal-vim 2.15x speedup poppler 1.86x speedup firefox-planet-gnome 1.43x speedup midori-zoomed 1.39x speedup swfdec-giant-steps 1.36x speedup xfce4-terminal-a1 1.17x speedup evolution 1.09x speedup swfdec-youtube 1.06x speedup Other improvements ------------------ Daniel Vetter improved Xvmc and overlay, adding GEM support. Bug fixes --------- There have been many conformance improvements targeting the 915G/945G/Pineview graphics chipsets. The rendercheck test suite passes once again and there has been a significant reduction in the number of errors detected by the cairo test suite (notably center sampling and EXTEND_NONE behaviors are fixed). Other notable bug fixes include: * Fix for bug 28446 Garbled fonts with Mathematica https://bugs.freedesktop.org/show_bug.cgi?id=28446 * Fixes for page-flipping and other DRI2-handling bugs, (Thanks Jesse Barnes, and Kristian Høgsberg) * Avoid corruption when using extended desktops, (for example, video playback) Release 2.11.0 (2010-03-29) =========================== New in 2.11: DRI2 and page flipping ----------------------------------- The most significant new feature of this release is support for new DRI2 APIs, allowing page flipping to occur for swaps that are full-screen and not rotated. Performance improvements in 2.11 compared to 2.10 ------------------------------------------------- Dramatically improved performance of large pixmaps on memory-constrained hardware, (such as 945), by using tiling. Note that this fix is new since the most recent release candidate for this release (2.10.903). https://bugs.freedesktop.org/show_bug.cgi?id=25375 Elimination of software fallback with alpha-only pixmap (a fix which eliminated a full second from the Moblin boot time): https://bugs.freedesktop.org/show_bug.cgi?id=26189 Notable bug fixes in 2.11 compared to 2.10 ------------------------------------------ Fix for undesired black borders on some images, (caued several problems with firefox): http://bugs.freedesktop.org/show_bug.cgi?id=17933 And other fixes to provide more conformance with existing software-rendering, (as measures by the cairo test suite), such as the sampling location for nearest-neighbor sampling. Other changes ------------- Eric Anholt and Daniel Vetter both removed large piles of old and useless code now that the driver requires kernel modesetting (KMS). This continues to reduce the mainteance burden of the driver, making it easier to isolate and fix bugs. Snapshot 2.10.903 (2010-03-22) ============================== Some notable bug fixes ---------------------- * Fix unpredictable results in page-flipping code due to access of an uninitialized variable. * Two fixes that address a number of long-outstanding failures in the cairo test suite: Remove coord-adjust for nearest centre-sampling. Fill alpha on xrgb images. Closes: Bug 17933 - x8r8g8b8 doesn't sample alpha=0 outside surface bounds http://bugs.freedesktop.org/show_bug.cgi?id=17933 * Fix a regression introduced in 2.10.902: Fatal server error: i915_emit_composite_setup: ADVANCE_BATCH: under-used allocation 100/104 Bug 21723 [i915 bisected] rendering makes X crash http://bugs.freedesktop.org/show_bug.cgi?id=27123 Other minor fixes (avoid trying to print an error message with a freed string, set a variable to NULL after freeing), and documentation updates are also included. Snapshot 2.10.902 (2010-03-15) ============================== Some significant bug fixes -------------------------- Fix video color problems due to YUV plane ordering issue. This fixed a regression that showed up recently (only in these release candidates). Fix recent regression leading to corruption under compiz: https://bugs.freedesktop.org/show_bug.cgi?id=26814 Further DRI2 improvements/fixes from Mario Kleiner and Jesse Barnes, (including support for SwapBuffers request with divisor != 0). Fix build against X server 1.6 branch. Avoid flooding logs after an error occurs. And dramatic code cleanups -------------------------- Eric Anholt removed several cases of old, useless code, (conditions that could not occur now that we require KMS, etc.). Daniel Vetter eliminated piles of code by modernizing the XvMC memory-management and completely removing the old i830_memory allocator (i830_allocate_memory, i830_free_memory), etc. Snapshot 2.10.901 (2010-02-26) ============================== The most significant new feature of this release is support for new DRI2 APIs, allowing page flipping to occur for swaps that are full-screen and not rotated. Some significant bug fixes -------------------------- * Avoid fallback due to failing to extract pixel value from an alpha-only solid, (this fix eliminated 1 second from Mobilin boot time). https://bugs.freedesktop.org/show_bug.cgi?id=26189 * Handle full-height blits without tearing in CopyRegion https://bugs.freedesktop.org/show_bug.cgi?id=22475 Several other fixes and cleanups are included as well, (including the removal of stale utility code that is now maintained in the separate intel-gpu-tools module). Release 2.10.0 (2010-01-04) =========================== New requirements of 2.10 compared to 2.9 ---------------------------------------- * Linux kernel with kernel-modesetting (KMS) All user-modesetting code has now been removed from the driver. We highly recommend kernel version 2.6.32 or later. * Libdrm >= 2.4.16 New features in 2.10 compared to 2.9 ------------------------------------ * New driver debugging options available in xorg.conf (DebugFlushBatches, DebugFlushCaches, DebugWait). See "man intel" for more details. * Video overlay support with KMS. This currently requires Linux 2.6.33, but a backport to 2.6.32 is available here: http://gitorious.org/daniel-s-linux-stuff/linux-kernel/commits/intel-kms-overlay-for-2.6.32 Notable fixes in 2.10 compared to 2.9 ----------------------------------- * Fix crash when XRenderComposite is called with a -1 value for width/height, (crash at login when using compiz). http://bugs.freedesktop.org/show_bug.cgi?id=24724 * Fix to support larger extended desktops, (such as a 2560x1600 plus a 1920x1200 monitor). * Fix glyph corruption due to insufficient cache flushing: https://bugs.freedesktop.org/show_bug.cgi?id=24315 Several other correctness and performance fixes are also included. Note: The driver code of the 2.10.0 release is identical to that of the 2.9.99.901 release candidate. The only changes in 2.10.0 compared to 2.9.99.902 are a minor change to the configure script, and some small updates to the documentation. Snapshot 2.9.99.902 (2009-12-10) ================================ This is the second release candidate in preparation for the upcoming 2.10.0 release. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.10.0 release. Compared to the previous snapshot, this snapshot now correctly verifies that libdrm 2.4.16 (or newer) is available. The previous snapshot also required libdrm 2.4.16 for correct functionality, but neglected to notify the user of this at configure, compile, or install time and would instead simply fail to run. Snapshot 2.9.99.901 (2009-11-30) ================================ This is the first release candidate in preparation for the upcoming 2.10.0 release. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.10.0 release. With this snapshot, the xf86-video-intel driver requires kernel modesetting (KMS) as all of the user modesetting (UMS) support has been removed from the driver. Release 2.9.0 (2009-09-28) ========================== We are pleased to announce the 2.9.0 release of the xf86-video-intel driver. (If you have been following along at home, this release is identical to the 2.8.99.902 release candidate other than the version number). New features in 2.9 compared to 2.8 ----------------------------------- * Support for the B43 chipset. Major fixes in 2.9.0 compared to 2.8.0 -------------------------------------- * Multiple fixes to make the driver stable for 8xx chipsets, (855GM, 865G, etc.). The 2.8 driver series was extremely unstable with many of these chipsets. https://bugs.freedesktop.org/show_bug.cgi?id=22904 (and many duplicates) https://bugs.freedesktop.org/show_bug.cgi?id=22947 * Add support for BACKLIGHT property when using kernel modesetting (KMS). This allows backlight adjustment with programs such as "xbacklight -set " or "xrandr --set BACKLIGHT ". https://bugs.freedesktop.org/show_bug.cgi?id=20963 * Fix so that "xrandr --scale" works when using KMS. https://bugs.freedesktop.org/show_bug.cgi?id=22893 * Fix segfaults of X server when logging out. https://bugs.freedesktop.org/show_bug.cgi?id=20516 * Avoid falling back to software for 1-bit alpha-only masks. https://bugs.freedesktop.org/show_bug.cgi?id=23184 * Fix pixel sampling position for 8xx chipsets, (fixes some cairo-test suite failures). Snapshot 2.8.99.901 (2009-09-09) ================================ This is the first release candidate in preparation for the upcoming 2.9.0 release. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.9.0 release. See the commit log for changes in this release, and developers, please provide me summaries for any major features in this release that you think should appear in NEWS and in the 2.9.0 release notes. Note: We are still investigating failures with 865G chipsets, (these failures existed in the 2.8 series as well). We are hoping to fix these failures before the 2.9.0 release. Release 2.8.0 (2009-07-20) ========================== We are pleased to present this major release of the xf86-video-intel driver. This release is very similar to the 2.7.99.902 release candidate but includes a couple of additional bug fixes, (for bugs #22760 and @22483). Compared to the 2.7 releases this driver contains several new features and many bug fixes. The driver now depends on X server 1.6 or later, and eliminates several obsolete code paths, (XAA and EXA removed in favor of UXA, DRI1 support eliminated). The driver certainly will work best with an i915 module from a recent kernel (2.6.31) and with kernel-modesetting (KMS, specified by loading i915 with the option "modeset=1"). New features in 2.8.0 compared to 2.7 ------------------------------------- * Remove XAA/EXA/DRI1 and NoAccel, and only support UXA/DRI2 now (requiring xserver 1.6). * VLD support added into XvMC for Mpeg2, which decreases CPU usage when playing video. Major fixes in 2.8.0 compared to 2.7 ------------------------------------ * Fix broken front-buffer rendering https://bugs.freedesktop.org/show_bug.cgi?id=19174 * Fix disabling of XvMC disabled https://bugs.freedesktop.org/show_bug.cgi?id=20790 * Fix broken VT switch on some machines https://bugs.freedesktop.org/show_bug.cgi?id=19578 * Improve performance of trapezoid rendering for UXA https://bugs.freedesktop.org/show_bug.cgi?id=21376 * Vblank sync'd GL buffer swap (fixing video tearing under composite) https://bugs.freedesktop.org/show_bug.cgi?id=20664 * Fix G41 DRM support https://bugs.freedesktop.org/show_bug.cgi?id=21095 * Fix crash on some 8xx https://bugs.freedesktop.org/show_bug.cgi?id=18974 Various fixes for GPU hangs, and more... Snapshot 2.7.99.902 (2009-07-13) -------------------------------- This is the first release candidate in preparation for the upcoming 2.8.0 release. Most major and critical bugs should be fixed, but some minor bugs may still be present. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.8.0 release. Snapshot 2.7.99.901 (2009-06-10) -------------------------------- This is the first release candidate in preparation for the upcoming 2.8.0 release. Most critical bugs should be fixed, but some major bugs may still be present. We will appreciate any feedback we can get from testing of this snapshot to improve the 2.8.0 release. Some of the major fixes in this snapshot include: * Several fixes for intermittent GPU hangs/crashes, (some of which already appeared in the 2.7.1 release) * Fix to avoid X crash when viewing large images in browser * Fix X server failure when running old (non-GEM) kernel * Fixes for SDVO LVDS mode detection * Fix major performance regression of trapezoid rendering compared to XAA/EXA * New support for tear-free video when using KMS * New support for tear-free DRI2 CopyRegion Snapshot 2.7.99.1 (2009-04-28) ------------------------------ This is a development snapshot very early in the process toward developing 2.8. There have been some big changes to the code, and we're anxious to get feedback on these changes as early as possible. Here is a summary of the biggest changes: * Driver now depends on X server 1.6 or later * Eliminate XAA and EXA support (in favor of UXA) * Eliminate DRI1 support * Fixes for running without DRI at all These code removals represent a deletion of a substantial amount of code, (and hopefully piles of bugs), as well as reduce the maintenance effort going forward as the number of combinatorial configurations for the driver are greatly reduced. This means that users are much more likely to be running code that has actually been tested, and it will be much easy for developers to replicate bugs that users experience. One of the things that would be most useful in testing this release is to revisit any outstanding bugs that you have previously reported. If the buggy behavior is gone, (or the bug is no longer relevant---such as a bug that's specific to XAA only), please feel free to indicate so in bugzilla or even just close the bug. If you confirm that the bug is still present, please indicate so in the bug report. (I was going to ask that you select a 1.7.99 version, but it looks like bugzilla only has versions for products not compoenents, while we use a "xorg" product and a "driver/intel" component.) We definitely want to make any such confirmed bugs a priority, so it would be nice to have a consistent mechanism to search for these bugs. Suggestions are welcome on the best approach. Thanks in advance for any testing or feedback on this snapshot. Release 2.7.0 (2009-04-15) -------------------------- Compared to the 2.6 series, 2.7.0 has a large number of bug fixes, but also a few significant features, such as: SDVO-TV support, available on ADD2 card (bug#9992) and D945GCLF2 board (bug#17776). Basic SDVO-LVDS support XV video display without tearing [Though this isn't working for all users yet, see https://bugs.freedesktop.org/show_bug.cgi?id=21076 ] Various fixes for UXA, DRI2, and Kernel modesetting. We encourage users to use kernel modesetting and UXA acceleration with this release, which should give the best performance and robustness. When KMS is available, UXA is the default acceleration used by the driver, (EXA is the default otherwise). Known issue: Some Linux kernel versions (such as 2.6.29) are known to have broken PAT code that causes recent versions of this driver to fail, (which can manifest as the X server simply not starting). This can be verified by adding the "nopat" option to the kernel command-line and seeing the failure go away. We hope that newer kernels in the 2.6.29.x as well as 2.6.30 and above will have working PAT code. Some of the most notable bugs fixed in 2.7.0 include: [GM45 965GM] bad htotal causes panel startup failure https://bugs.freedesktop.org/show_bug.cgi?id=17292 [xrandr TV] need TV output property control https://bugs.freedesktop.org/show_bug.cgi?id=12763 [TV] "xrandr --set TV_FORMAT" gets BadMatch error https://bugs.freedesktop.org/show_bug.cgi?id=16566 [945 tiling] Low performance due to no A17 workaround https://bugs.freedesktop.org/show_bug.cgi?id=16835 [TV]Flicker when launching applications in the 2.4-branch https://bugs.freedesktop.org/show_bug.cgi?id=17405 [945GM FBC] FBC causes underruns & flicker https://bugs.freedesktop.org/show_bug.cgi?id=18651 [xv] Textured video suffers from tearing https://bugs.freedesktop.org/show_bug.cgi?id=19635 [G45] Random hangs with UXA https://bugs.freedesktop.org/show_bug.cgi?id=19734 [945GM] Any 3D app is slow in resolution higher than 800x600 with UXA+DRI2, due to tiling https://bugs.freedesktop.org/show_bug.cgi?id=19738 [i915 UXA,EXA] rotation messes display with tiling on https://bugs.freedesktop.org/show_bug.cgi?id=20265 [G45] DRI2/UXA gives solid white instead of transparency https://bugs.freedesktop.org/show_bug.cgi?id=20321 LVDS output not detected https://bugs.freedesktop.org/show_bug.cgi?id=20517 xf86-video-intel-2.6.3: Xv crashes X server https://bugs.freedesktop.org/show_bug.cgi?id=20525 [G965 non-GEM] systray in KDE 4 completely broken https://bugs.freedesktop.org/show_bug.cgi?id=20527 [SDVO-TV]the desktop is teared in four sections on the screen https://bugs.freedesktop.org/show_bug.cgi?id=20550 Intel video driver 2.6.3 crashes with XVideo https://bugs.freedesktop.org/show_bug.cgi?id=20563 [855GM] Xv crash with non-KMS https://bugs.freedesktop.org/show_bug.cgi?id=20585 2.6.99.902 breaks native 1680x1050 mode on TMDS -- EDID miss https://bugs.freedesktop.org/show_bug.cgi?id=20594 [945GM TV] 2.6.99.902 sets a too high CONTRAST-value https://bugs.freedesktop.org/show_bug.cgi?id=20670 [915GM] fail to detect LVDS with new VBT code https://bugs.freedesktop.org/show_bug.cgi?id=20752 [regression i965]tiled output when start X https://bugs.freedesktop.org/show_bug.cgi?id=20803 2.6.99.902: LVDS wrongly detected as disconnected https://bugs.freedesktop.org/show_bug.cgi?id=20826 vt switching fails and crashes X https://bugs.freedesktop.org/show_bug.cgi?id=20863 [HDMI] The screen will flicker when some application runs on G45-64 https://bugs.freedesktop.org/show_bug.cgi?id=20875 TexturedVideo is offsetted wrongly on dualhead https://bugs.freedesktop.org/show_bug.cgi?id=20980 [EXA] xvideo hang X https://bugs.freedesktop.org/show_bug.cgi?id=21027 [EXA] x11perf performance regression https://bugs.freedesktop.org/show_bug.cgi?id=21029 And many others...