1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Intel Publishes Ivy Bridge Programming Documentation


Published on 23 June 2012 12:04 PM EDT
Written by Michael Larabel in Intel

Intel quietly pushed out their "Ivy Bridge" graphics programming documentation and register specifications on Friday. This Ivy Bridge graphics core programming documentation spans 17 files spread across three volumes and 2,468 pages of technical details concerning their latest-generation graphics.

While Intel has a large team of developers within their Open-Source Technology Center working on their open-source Linux graphics driver, they continue to produce very detailed programming documentation for the public. These documents cover the key registers for their hardware and other information to benefit anyone wishing to get into low-level graphics driver programming or just wanting to better understand how Intel's latest graphics core works.

Intel has put out documentation on their graphics chips for several generations now and they just did so for Ivy Bridge. The Ivy Bridge processors have been available since April, and the open-source Linux code for the graphics driver has been available for more than a year, but they finally received permission to do the public drop of their programming documentation.
This Intel HD Graphics Open Source Programmer’s Reference Manual (PRM) describes the architectural behavior and programming environment of the Ivy Bridge chipset family. The Graphics Controller (GC) contains an extensive set of registers and instructions for configuration, 2D, 3D, and video systems. The PRM describes the register, instruction, and memory interfaces, and the device behaviors as controlled and observed through those interfaces. The PRM also describes the registers and instructions, and provides detailed bit/field descriptions.
Intel continues to be the most open-source and Linux friendly hardware vendor -- see Linux Driver Support Still Leaves A Lot To Desire. Meanwhile, NVIDIA is the single worst Linux company, according to Linus Torvalds. As for AMD, they are working on their open-source Linux driver in tandem with their proprietary driver, but they still have yet to publish any extensive GPU documentation for their Radeon HD 7000 "Southern Islands" graphics processors that have been available for about a half-year.

There's been some ISA documentation and other bits out of other groups at AMD for GCN / S.I., but not the mode-setting docs and other GPU programming guides. AMD's been lagging behind in pushing out public programming documentation, with some of the documentation even for the "R600" era still sitting behind closed doors. NVIDIA remains the worst when it comes to being open-source friendly with either public documentation / specifications or open-source driver support, but that's beginning to lose them a great sum of money in losing out on at least one huge deal.

Anyhow, back onto Ivy Bridge: this documentation appears to be rather complete from the initial look through it this morning. There's just under 2,500 pages of information spanning 17 PDF files. The graphics core is covered including the MMIO registers, memory interface, render engine, blitter engine, and video codec engine command streamer. There's also coverage on the GT interface register, L3 cache and URB, 3D media pipeline, media and general purpose pipeline, multi-format transcoder, VGA registers, PCI registers, north/south display engines, message gateway, and execution unit ISA.

Intel Publishes Ivy Bridge Programming Documentation

It's nice to see that even the Ivy Bridge execution unit is covered with this documentation for doing general purpose computing (GPGPU). At this time that's one of the missing features of the open-source Intel Linux driver: no current OpenCL driver support on the graphics core.

Beyond that, Intel also continues documenting their video acceleration engine. This is one area where AMD has never publicly documented or provided code for since their long-standing concern has been that documenting the video encode/decode engine of their Radeon hardware could potentially compromise their Digital Rights Management mechanism under Microsoft Windows. Intel's open-source VA-API video acceleration is great.

Intel releases this "OpenSource HD Graphics Programmer's Reference Manual" documentation under the Creative Commons License. Intel's public documentation is available for unrestricted download from IntelLinuxGraphics.org.

Great job, Intel! For those curious about the Intel Ivy Bridge Linux performance (CPU and GPU) under Linux, see the many Phoronix articles. (More Ivy Bridge Linux benchmarks are on the horizon.) Overall it's in great shape with good performance and comparable features, but the key outstanding items include:

- No GPGPU/OpenCL support yet.
- The Linux driver only handles OpenGL 3.0 (the Intel Windows driver goes GL 4.0 and the Intel Linux developers don't even expect OpenGL 3.1 until 2013)
- The Intel Windows driver is much faster and there's talk of fundamental improvements coming to the Intel Windows driver this year.
- The Intel Linux developers are still working on some fundamental features like support for multi-sample anti-aliasing that Windows and Mac OS X users take for granted. S3 Texture Compression support also continues to not be available by default.

Thankfully they at least already have working open-source Linux graphics driver code for Haswell and Valley View. Once their 2013 Haswell platform is out and the next-gen Atom SoC, there will hopefully be another pleasant documentation / register specification drop.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Radeon Linux Benchmarks: Catalyst 15.3 Beta vs. Linux 4.0 + Mesa 10.6-devel
  2. Trying Out The Modern Linux Desktops With 4 Monitors + AMD/NVIDIA Graphics
  3. Turning A Basement Into A Big Linux Server Room
  4. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  5. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  6. The New Place Where Linux Code Is Constantly Being Benchmarked
Latest Linux News
  1. VirtualBox 5.0 Now In Beta, Adds PV To Windows/Linux Guests
  2. Go Language Improvements Coming For Ubuntu 15.04
  3. The Big SuperTuxKart Update Is Almost Ready
  4. Blender 2.74 Brings Many Improvements
  5. Qt Creator 3.4 Is Near
  6. Allwinner: "We Are Taking Initiative Actions Internally"
  7. It's Been Five Years Since The Phoronix Visit To Chernobyl
  8. Vulkan, The New Linux Server Room & BioShock Won Linux Users In March
  9. Debian 8.0 Jessie Gets A Release Date
  10. Firefox 37 Coming Today With Heartbeat, HTTPS Bing
Most Viewed News This Week
  1. The Big Features Of The Linux 4.0 Kernel
  2. Systemd Developers Did NOT Fork The Linux Kernel
  3. Improved OpenCL Support For Blender's Cycles Renderer
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. Allwinner Continues Jerking Around The Open-Source Community
  6. GNOME 3.16 Released: It's Their Best Release Yet
  7. Ubuntu 15.04 Final Beta Released
  8. Nuclide: Facebook's New Unified IDE