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

Intel Publishes Ivy Bridge Programming Documentation

Intel

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

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.

Latest Linux Hardware Reviews
  1. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  2. Overclocking The AMD AM1 Athlon & Sempron APUs
  3. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  4. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  2. Fedora Workstation Is Making Me Quite Excited
  3. Maynard: A Lightweight Wayland Desktop
  4. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  5. KDE 4.13 Is Being Released Today With New Features
  6. Trying Out Radeon R9 290 Graphics On Open-Source
  7. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  8. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  9. Red Hat Releases Its RHEL 7 Release Candidate
  10. New Features Coming To Xubuntu 14.04 LTS
  11. NVIDIA Officially Releases CUDA 6
  12. Google Releases An AutoFDO Converter For Perf In LLVM
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. Change installation destination from home directory
  4. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  5. Bye bye BSD, Hello Linux: A Sys Admin's Story
  6. New tool for undervolt/overclock AMD K8L and K10 processors
  7. How to enable opengl 3.3 on r9 270?
  8. R290x sound problems