Cyber Week 2025: If you wish to enjoy the site ad-free, multi-page articles on a single page, and other benefits, consider joining Phoronix Premium. This week only is our Cyber Week promotion to help support all of our Linux/open-source hardware and software operations while enjoying the added premium benefits at a discounted rate. Thanks for your consideration and support this holiday season with providing daily original content for over 21 years.
Originally opened in September 2020 by NVIDIA Linux engineer James Jones, tonight the Vulkan VK_EXT_present_timing extension was finally merged! Five years in the making and incorporating contributions from Google, NVIDIA, AMD, Collabora, Samsung, Unity, and Red Hat is this prominent new addition to the Vulkan API.
The VK_EXT_present_timing extension allows for an application/game using Vulkan swapchains to obtain information on the presentation engine’s display for accurate timing information about present and being able to schedule a present to happen no earlier than a desired time. This extension can be used to reduce game stuttering and other visual anomalies. We covered it back in September 2020 with Vulkan Present Timing Extension With Aim To Avoid Stuttering.
The newly-merged extension text for VK_EXT_present_timing explains:
“Traditional game and real-time animation applications need to correctly position their geometry for when the presentable image will be presented to the user. To accomplish this, applications need various timing information about the presentation engine’s display. They need to know when presentable images were actually presented, and when they could have been presented. Applications also need to tell the presentation engine to display an image no sooner than a given time. This allows the application to avoid stuttering, so the animation looks smooth to the user.”
This big extension addition to Vulkan saw a lot of work over the past five years and has now been merged to the Vulkan-Docs GitHub repository.
All the technical details on VK_EXT_present_timing for those interested via the pull request.
Not yet released, VK_EXT_present_timing will be part of the upcoming Vulkan 1.4.335 specification update. The NVIDIA Linux Vulkan driver already supports the VK_EXT_present_timing extension while presumably the prominent Mesa Vulkan drivers will be introducing support for it soon given that it can be a big-ticket item for gaming moving forward.
