2013Q2 Intel Graphics Stack Release

Details

Release Date: 

8 Jul 2013

Intel® 2013Q2 Linux Graphics Stack

Components

Release description

The 2013Q2 highlights are: bug fixes, performance improvements, new hardware-accelerated media encoding formats, and additional hardware-accelerated video processing features.

There have been many improvements to hardware-accelerated 3D graphics drivers, providing better performance and stability for supported products. In this release, support has been added or refined for the recently released 4th Generation Intel® Core™ Processors with Intel® HD Graphics, Intel® Iris™ Graphics, or Intel® Iris™ Pro Graphics.

Hardware-accelerated H.264/AVC encoding, MPEG-2 encoding, and video processing have been added for supported products, as detailed in the "Media Drivers" section below.

Highlighted new features or fixed bugs

Kernel

  • hotplug improvements

  • Stolen mem support.

  • DDI code cleanups.

  • Some refactorings around LVDS and DP code.

  • Dynamic power well support for Haswell.

  • Clarifications of the GPU hang/reset state transitions.

  • Haswell ELD fixes.

  • Broadcast RBG improvements and reduced color range fixes.

  • Regression fix for 8-bit FB console.

  • Preserve lane reversal bits on DDI/FDI ports.

  • Page flip vs. GPU hang fixes.

  • Fixup lid notifier vs. suspend/resume races.

  • Panel fitter regression fix.

Complete and detailed list can found at Maintainer's (Daniel Vetter) post.

2D drivers

  • Fix scanline waits for Haswell.

  • Fix Haswell CRW PCI-IDs.

  • Fix computation of clip extents for stippling.

  • Support KMS on OpenBSD.

  • Clean up sockets upon CloseScreen.

  • Fix video playback on Intel® Graphics Media Accelerator 3000, X3000, X3500, X3100, 4500, X4500, X4500HD, and 4500MHD.

  • Honour LinearFramebuffer for clumsy PowerXpress integration.

  • Restart vertex checks after lock contention.

  • Handle Screen Pixmap recreation whilst exported via PRIME.

  • Correct application of scale factors to video source offsets.

  • Correct GPU limits for early Intel® Extreme Graphics 1 and 2 and Intel® Graphics Media Accelerator 900, 950, 3100, 3150 architectures.

  • Prevent buffer leak if a non-fullscreen Window is closed with multiple pending swap events.

  • Fix offset transformation for fallback gradient paths.

  • Prevent Glamor from crashing if misconfigured.

  • Prevent UXA from crashing if torn down during PreInit.

  • Fix rendering of CompositeTriFan with recent Xorg.

  • Fix rendering of multiple glyphs to very large destination surfaces.

  • Fix several assertion failures.

  • Allow XvMC to also target overlay/sprite planes.

  • Prevent reuse of old framebuffers after a resize.

  • Introduce copy-on-write support for cloning pixmaps.

  • 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.

  • Restore vsync on textured videos.

3D Drivers

  • Performance Improvements.

  • Fix GPU hangs in Intel® Core™ i3/i5/i7 and 2nd Generation Intel® Core™ Processors with Intel® HD Graphics.

  • Fix hangs on 4th Generation Intel® Core™ Processors with Intel® HD Graphics, Iris™ Graphics, or Iris™ Pro Graphics.

  • Fix Intel® Graphics Media Accelerator 3000, X3000, X3500, X3100, 4500, X4500, X4500HD, 4500MHD VUE map inconsistency with gl_ClipVertex.

  • Fix register allocation for uniform pull constants in 16-wide.

  • Fix broken rendering in large shaders with UBO loads.

  • Also do the Intel® Graphics Media Accelerator 3000, X3000, X3500, X3100, 4500, X4500, X4500HD, 4500MHD SEND dependency workaround against other SENDs

  • Add data cache messages definitions for 3rd Generation Intel® Core™ Processors with Intel® HD Graphics and newer platforms.

  • Fix INTEL_DEBUG=shader_time for 4th Generation Intel® Core™ Processors with Intel® HD Graphics, Iris™ Graphics, or Iris™ Pro Graphics.

  • Specialize SURFACE_STATE creation for shader time.

  • Make INTEL_DEBUG=shader_time use the RAW surface format.

  • Fix regression in intel_create_image_from_name stride handling.

  • Avoid inappropriate optimization with regs_written gt.

  • Do CSE on 3rd and 4th Generation Intel® Core™ Processors with Intel® HD Graphics, Iris™ Graphics, or Iris™ Pro Graphics varying-index pull constant loads.

Media Drivers - Libva/Intel-vaapi-driver

  • H.264 encoding on Intel® SandyBridge, IvyBridge and Haswell:

    • Profile: Baseline (BP), Main (MP) and High Profiles (HP).

    • Entropy Coding: Context-adaptive variable-length coding (CAVLC) and Context-adaptive binary arithmetic coding (CABAC).

    • Rate Control: CQP, CBR.

    • Progressive frame.

    • Multi Slice encoding.

    • Configurable Group Of Pictures (GOP) Structure.

  • MPEG-2 encoding on Intel® IvyBridge and Haswell:

    • Profile: Scalable (SP) and Main Profiles (MP).

    • Progressive frame.

    • Configurable Group of Pictures (GOP) Structure.

  • Video process on Intel® IronLake, SandyBridge, IvyBridge and Haswell:

    • Scaling on Intel® IronLake, SandyBridge, IvyBridge and Haswell.

    • CSC on Intel® IronLake, SandyBridge, IvyBridge and Haswell.

    • NoiseReduction on Intel® SandyBridge, IvyBridge and Haswell.

    • Deinterlacing{Bob} on Intel® SandyBridge, IvyBridge.

    • Deinterlacing{Bob,MotionAdaptive} on Intel® Haswell.

    • Sharpening on Intel® Haswell.

    • ColorBalance on Intel® Haswell.

  • Optimization for H.264 encoding on Intel® IvyBridge and Haswell.

  • External buffer support:

    • Flinked GEM buffer.

    • Prime/DMA buffer.

Known issues

Newer xf86-video-intel 2.21.10 version already has important fixes:

  • Fix listing of Visuals for Xv

  • Improve coherency of concurrent CPU accesses to a pixmap

  • Set sampler swizzling for textured video on Intel® Haswell

  • Apply scanout stride limits

In order to get support for NoiseReduction/Deinterlacing/ColorBalance on HSW in libva-intel-driver, VECS ring support (VEBOX unit) support on kernel is required. This support is not included on Linux Kernel 3.9.5 used in this 2013Q2 stack release and can be foud at our development branch: drm-intel-next.

Validation Hardware

This release was validated on the following hardware, and part of the test results are published here.

  • 4th Generation Intel® Core™ Processors with Intel® HD Graphics 4600

  • 3rd Generation Intel® Core™ Processors with Intel® HD Graphics 4000

    • 3rd Generation Intel® Core™ i7 3610QM

    • 3rd Generation Intel® Core™ i7 3770K

  • 3rd Generation Intel® Core™ Processors with Intel® HD Graphics 2500

    • 3rd Generation Intel® Core™ i5 3550

  • 2nd Generation Intel® Core™ Processors with Intel® HD Graphics 3000

    • 2nd Generation Intel® Core™ i7 2720QM

    • 2nd Generation Intel® Core™ i7 2630QM

    • 2nd Generation Intel® Core™ i7 2600K

    • 2nd Generation Intel® Core™ i5 2500K

  • 2nd Generation Intel® Core™ Processors with Intel® HD Graphics 2000

    • 2nd Generation Intel® Core™ i7 2400S

  • Intel® Core™ Processors with Intel® HD Graphics

    • Intel® Core™ i5-670

    • Intel® Core™ i5-520M

  • Intel® Atom™ N450 with Intel® Graphics Media Accelerator 3150

  • Mobile Intel® GM45 Express Chipset

  • Mobile Intel® GM965 Express Chipset

  • Intel® Q965 Express Chipset

  • Mobile Intel® 945GM Express Chipset