News: 0001595145

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Vulkan's VK_EXT_present_timing Merged After Five Years In The Making

([Valve] 4 Hours Ago VK_EXT_present_timing)


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 [1]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 [2]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.



[1] https://www.phoronix.com/news/VK_EXT_present_timing

[2] https://github.com/KhronosGroup/Vulkan-Docs/pull/1364



The fancy is indeed no other than a mode of memory emancipated from the order
of space and time. -- Samuel Taylor Coleridge