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 Linux News
  1. Dell Gets An Airplane Mode Switch Driver In Linux 4.2
  2. I Gave Up Waiting On The Water-Cooled Radeon R9 Fury X
  3. NVIDIA Tegra X1 Chromebooks Appear Closer, Support Added To Coreboot
  4. Pinos Is For Linux Video What PulseAudio Is For Audio
  5. Crossing 200,000 Benchmark Results Posted On LinuxBenchmarking.com
  6. New Mesa Vec4 Backend For Intel, Supports Their NIR Goals
  7. "PulseVideo" Coming To Complement PulseAudio?
  8. Premium Users Now Can Experience Our New Site
  9. XFS Will Get DAX Support In The Linux 4.2 Kernel
  10. X.Org Server Lands More Mode-Setting/GLAMOR Improvements, But No Sign Of 1.18
Latest Articles & Reviews
  1. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  2. Attempting To Try Out BCache On The Linux 4.1 Kernel
  3. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
  4. AMD A10-7870K Godavari: RadeonSI Gallium3D vs. Catalyst Linux Drivers
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. NVIDIA Starts Supplying Open-Source Hardware Reference Headers
  3. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  4. The Staging Pull For Linux 4.2: "Big, Really Big"
  5. The State & Complications Of Porting The Unity Editor To Linux
  6. SteamOS "Brewmaster" Is Valve's New Debian 8.1 Based Version
  7. Jonathan Riddell Steps Down From The Kubuntu Council
  8. ARM Posts Pictures Of AMD's New Development Board