Intel, Radeon DRM Get Precise VBlank Timestamps

Posted by Michael Larabel on October 25, 2010

Mario Kleiner has published patches over the weekend that introduce precise vblank time-stamping support within the Linux kernel's DRM core and has implemented this support already within the Radeon and Intel kernel drivers too. The precise vblank timestamps and counting is needed by the DRI2 sync and swap extensions and in particular to conform with the OML_sync_control extension.

The existing infrastructure within the kernel DRM to generate timestamps was not reliable due to interrupt handling delays and thus were not conformant since they were not actually synchronized to a vblank. The DRM core patch adds support for vblank timestamp caching, calculating the precise vblank timestamps, and filtering of redundant vblank IRQs and removing of some race-conditions in the vblank IRQ disable/enable code path. This work was previously discussed at XDS Toulouse so it really shouldn't have a problem being accepted and hopefully is in a state where it can be pushed into the mainline Linux kernel this week prior to the Linux 2.6.37 kernel merge window closing prior to next Sunday.

For those not familiar with GLX_OML_sync_control, it's a nine year old extension that is described by the registry specification as: "This extension provides the control necessary to ensure synchronization between events on the graphics card (such as vertical retrace) and other parts of the system. It provides support for applications with real-time rendering requirements by providing precise synchronization between graphics and streaming video or audio." Right now this code is just hooked up for the Intel and Radeon DRM drivers, but we imagine hooking in the Nouveau driver will not be too far behind.

Mario has described this vblank timestamp endeavor in this mailing list message that he sent prior to mailing of the actual three-piece patch series, with additional comments inside that e-mail as well.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Phoronix Test Suite 4.6.0 "Utsira" Released
  2. New Intel X.Org Driver Supports All Of Haswell
  3. SQLite Now Faster With Memory Mapped I/O
  4. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  5. Qt For Tizen Launches, Based On Qt 5.1
  6. KTAP Released For Linux Kernel Dynamic Tracing
  7. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  8. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  9. Handbrake 0.9.9 Supports OpenCL Offloading
  10. Freedreno Gallium3D Now Banging The Adreno A3XX
  11. Jolla Announces Their First Phone
Latest Forum Talk
  1. Modern Intel Gallium3D Driver Still Being Toyed...
  2. Microsoft Releases Skype For Linux 4.2, Has...
  3. New Intel X.Org Driver Supports All Of Haswell
  4. Jolla Announces Their First Phone
  5. Intel Linux OpenGL Driver Leading Over Apple OS X
  6. FreeBSD Still Working On Next-Gen Package Manager
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite