[ANNOUNCE] xf86-video-intel 2.12.0
Carl Worth
cworth at cworth.org
Thu Jun 24 14:22:51 PDT 2010
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.
-Carl
--
carl.d.worth at intel.com
Where to obtain xf86-video-intel 2.12.0
=======================================
git tag: 2.12.0
http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.12.0.tar.bz2
MD5: 8314def847dcdc4f2970e2d193054f96 xf86-video-intel-2.12.0.tar.bz2
SHA1: b1642e634a05f4ec28716e44c3192d62febc8843 xf86-video-intel-2.12.0.tar.bz2
http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.12.0.tar.gz
MD5: 6d3788f3d13c7b3f790fee625b90b1e0 xf86-video-intel-2.12.0.tar.gz
SHA1: 354d0465d60120cbe1261576dbb6dc582ac9e3f1 xf86-video-intel-2.12.0.tar.gz
Notable changes in 2.12.0 compared to 2.11
==========================================
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
All changes from 2.11.0 to 2.12.0
=================================
Carl Worth (5):
Fix to require libdrm 2.4.19 or newer.
NEWS: Add notes for 2.11.901
Update version to 2.11.901
NEWS: Add notes for the 2.12.0 release.
Update version to 2.12.0
Chris Wilson (143):
uxa: Add fallback warnings for PutImage.
Review i830_pad_drawable_width()
uxa: Try using put_image when copying from a memory buffer.
Revert "uxa: Add fallback warnings for PutImage."
i830: Use pixman_blt directly for performing the in-memory copy
Revert "Revert "uxa: Try using put_image when copying from a memory buffer.""
i830: Allocate bo's for glyphs larger than 32x32.
uxa: Reuse in-flight bo
i830: tidy in flight bo reuse.
i830: if pixman_blt() fails fallback to fbCopyArea()
i830: prepare the uxa pixmap for fbCopyArea.
uxa: Extract sub-region from in-memory buffers.
uxa: Transform composites with a simple translation into a blit
uxa: Rearrange checking and preparing of composite textures.
i915: Use 1x1R pixmap for solid drawables
uxa,i915: Handle SourcePict through uxa_composite()
i830: Update stride when swapping bo for PutImage
i830: Minor cleanup
uxa: Protect against valid SourcePict in uxa_acquire_mask()
i915: Fix pixmap based masks.
uxa: Recheck texture after acquiring pattern.
i965: Add texformats mapping for additional pixman formats
i830: Do not cache in-flight non-reusable buffers.
i830: Use set_pixmap_bo() instead of open-coding.
i830: Never create a bo for depth=1 pixmaps.
drmmode: Reorder i830_set_pixmap_bo() so that the correct stride is used.
xvmc: Build fix with -pedantic
debug: Add names for operators
uxa: solid rects
uxa: Use accelerated PutImage for uploading pixman images.
i830: Prevent allocation of bo larger than half the aperture
uxa: Fallback when compositing to a !offscreen destination
uxa: Avoid ping-pong with !offscreen destination and traps
uxa: Avoid glyph ping-pong with !offscreen destination
dri2: Handle reference counting across page flipping
i915: Add a2r10g10b10 format and friends
i915: Force output alpha to 1. if dst has no alpha channel.
uxa: Fallback early if compositing with alphaMaps
uxa: Replace source for CLEAR with a transparent solid
uxa: Only use solid_fill for SRC.
uxa: Convert 1x1R back to solid_fill
dri: Hold reference to buffers across swap
i830: Teardown batch entries on reset.
drm: don't overwrite the old intel->front_buffer
drm: Remove unused old_front parameter from drmmode_do_pageflip.
drm: Remove pin(); unpin() sync
uxa: enable solid rects for backends that require pixmaps
i915: Don't force alpha=1 for RGB drawables in the shader.
Split the prepare blitter functions into check + prepare.
uxa: Parse BGRA pixel formats.
i915: Remove a couple of unsupported 16bpp no-alpha tex formats
uxa: Disable compatible src xrgb and dst argb
i915: Load texture into directly into OC when possible.
uxa: Call check_solid before running the solid blitter.
uxa: Only use 1x1R as a solid with an opaque format or SRC
uxa: Expand the range of compatible formats to cover all bpp.
uxa: Fix order of conditionals to only run fill_region for SRC or opaque
i830: Remove incorrectly mapped tex formats.
i830: Remove xrgb conversion to argb, no longer required.
uxa: Check the w-scaling component is 1 for an translation matrix
uxa: Avoid using blits when with PictFilterConvolution
uxa: Apply clip for solid rectangles.
uxa: Force an alpha channel when rendering source fallbacks
uxa: Patterns are acquired at 0,0
uxa: Tidy uxa_solid_rects()
i830: Encode surface bpp into format
uxa: Replace solid planemask [0xffffffff] with FB_ALLONES
dri: Check error code from GetScratchGC()
i830: Remove vestigal debugging ALWAYS_FLUSH and ALWAYS_SYNC
uxa: Spans! OMG!
i915: amalgamate composite into a single primitive list
i915: Emit composite primitive with specialised functions.
Kill paranoid assertions on every write into the batchbuffer.
Use pwrite to upload the batch buffer
i915: Move vertices into a vertex buffer object.
i915: Add special case primitive emitters for glyphs.
uxa: translate the region in line for composites
i915: compute normalized texcoords using a scale factor.
uxa: Composite glyphs directly onto dst when possible.
uxa: Use temporary dest when target is too large for compositor
i915: Emit CA over using OutReverse + Add passes
uxa: Apply the drawable offset to the solid rects
i830: Skip an empty fill.
uxa: Add PICT format mapping for depth 4 pixmaps.
uxa: Use Composite rather than solid blitter for PolyRect
uxa: Force the alpha value to 0xffff when treating Over as Src
uxa: Perform manual damage for CompositeRects
i965: Remove ATOMIC_BATCH.
Add vertex bo to the list of buffers to be torn down.
Decouple non-reusuable pixmaps from batch lists on unref.
uxa: Use a glyph private rather than a hash table.
uxa: Make the glyph caches' fixed size explicit.
uxa: Skip the redundant miComputeCompositeRects() when adding to the mask
i915: Don't re-emit vertex size unless it has changed.
dri: Use size from backing pixmap when creating buffers.
Revert "dri: Use size from backing pixmap when creating buffers."
dri: Only flip if the front and back pixmaps match.
dri: Compilation fix.
i915: Support textured video on an extended desktop.
uxa: Mega-Glyphs!
Disable acceleration if we detect a hardware error.
uxa: Sign reversal on early break from spans passing the YXband
uxa: Spans, try again to get the early break correct.
i915; Avoid the implicit flush on changing BUF_INFO
i915: Centre sampling.
i830: Remove unused coord-adjust.
dri: Protect against NULL dereference following GPU hang.
uxa: Force fallback for copies.
Adapt glyphs for changes in devPrivates API
Use the direct dixGevPrivate() API when available
i915: Replace structure passing with macros for shader generation.
i915: Remove screen size limit from video setup.
i915: Fix typo from previous commit.
uxa: Setup acceleration functions prior to the damage layer
implicit-flush
xp:trapezoids
uxa: Handle all-clipped out case with destination glyphs.
Revert "xp:trapezoids"
Fallback implementation for trapezoids for hung GPUs.
i830: Only emit the disabling GPU error message once.
i830: Limit disabling acceleration following EIO to !i965
uxa: Always clip glyphs to destination.
Compile fix for alternate list.h from xserver-1.9
i965: Sanity check ComponentAlpha status in prepare_composite
configure: Bump drm requirement to 2.4.21
drmmode: Use the tiled stride for the rotated pixmap.
i915: Force the emission of BUF_INFO on every composite_setup
i830: Tidy i830_uxa_put_image()
i830: GetImage acceleration.
i830: Remove domain tracking from pixmaps.
uxa: Check for allocation failure.
uxa: Match depth 30 to format.
uxa: Use accelerated get_image for copying to !offscreen
uxa: Enable SHM pixmaps
uxa: Apply the source offsets to the pixmap source, not target.
Emit the flush after a potential draw from the BlockHandler.
Only append the pixmap to the flushing list if we are writing to it.
Also submit any pending flush for *this* batch in the BlockHander.
i965: Mark the render target as dirty within composite_setup()
Do not clear need_mi_flush within the batch.
i965: Compile fix.
Limit maximum tiled stride to 8k and untiled to 32k.
uxa: Fallback to pixman if source is out-of-bounds
Daniel Vetter (35):
XvMC: everyone's using execbuffer!
i915 XvMC: kill more subpict support remnants
XvMC: merge *_hwmc.c into i830_hwmc.c
XvMC: unify PutImage handling
XvMC: unify subpicture functions
i965 XvMC: don't create any surface state in the ddx
XvMC: unify surface functions
XvMC: clean up i830_hwmc.c
XvMC: unify destroy context function
XvMC: move i915 specific stuff to common context
XvMC: move i965 specific stuff to common context
XvMC: init driver in one function call
XvMC: directly set driver type in context creation
XvMC: dynamically allocate adaptor
XvMC: kill intel_xvmc_command
libXvMC: derive driver surfaces from struct intel_xvmc_surface
libXvMC: move drm_intel_bo to common intel_xvmc_surface
libXvMC: unify PutSurface
libXvMC i915: rip out unneeded surface fields
libXvMC i915: s/i915XvMCSurface/struct intel_xvmc_surface/
libXvMC: drop get_surface_status driver callback
libXvMC: unify DestroySurface
libXvMC: derive driver context from struct intel_xvmc_context
libXvMC i915: kill unused context private fields
libXvMC: unify CreateSurface
libXvMC: rip out debug stuff
i965 Xv: fix chroma pitch
Xv: fixup overlay stride confusion
XvMC: fix memory overflow
i830 render: use tiling bits where possible
i915 render: use tiling bits where possible
render: tell the kernel explicitly when fences are needed
i830 render: check aperture space requirements
i810: adjust the pitch for DRI rendering
Fix "make dist"
Eric Anholt (8):
Revert "uxa: Try using put_image when copying from a memory buffer."
Remove remaining REG_DUMPER build stuff.
Add a workaround for Ironlake errata regarding blits and other engines.
Add a workaround for Ironlake errata relating to disabling the clipper.
uxa: Fix prepare_solid being called without check_solid first.
Use libc instead of deprecated libc wrappers for malloc/calloc/free.
Allocate a correctly sized framebuffer when tiling by using libdrm's support.
Allocate rotate shadow buffers using the usual framebuffer allocator.
Gaetan Nadon (1):
COPYING: replace stub file with actual Copyright notices.
Jesse Barnes (1):
DRI2: fix new buffer exchange check
Keith Packard (2):
Must call ValidateGC in i830_uxa_put_image for scratch GC
Adapt to DevPrivate API changes
Kristian Høgsberg (1):
dri: Clean up DRI2 API #ifdefs a bit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20100624/e55f9dc4/attachment.pgp>
More information about the xorg
mailing list