Latest Vulkan API Extensions and Additions
Vulkan is constantly evolving to bring new capabilities and improvements to the API. Here are some of the most recent developments
.jpg)
Baldur's Gate 3 - Larian Studios
Latest Vulkan API Extensions and Additions
Vulkan is constantly evolving to bring new capabilities and improvements to the API. Here are some of the most recent developments
-
-
Read the blog
Khronos has introduced a new extension named VK_EXT_graphics_pipeline_library that allows for shaders to be compiled much earlier than at full Pipeline State Object (PSO) creation time. By leveraging this extension, I was able to avoid many causes of frame hitches due to PSOs being late-created at draw time in the Source 2 Vulkan renderer.
-
Spec Proposal Document
This document outlines a proposal to allow partial compilation of portions of pipelines
- Specification
-
Read the blog
-
-
Vulkan 1.3 Specification
The Vulkan API is under constant development, with an ever-growing pool of extensions to solve problems and add valuable new features. With Vulkan 1.3 and the new public roadmap, we’re taking a significant step to reduce feature fragmentation.
-
Vulkan 1.3 and Roadmap 2022 Blog
The Vulkan API is under constant development, with an ever-growing pool of extensions to solve problems and add valuable new features. However, extensions typically don't come with a deployment timeline or a guarantee of which devices will support them. As a result, it can be hard for developers to have a clear picture of when and where extensions will be supported, and what functionality can be relied on for current and future projects. This situation is even more complex for developers shipping applications across both mobile and desktop platforms.
-
Vulkan 1.3, Public Roadmap and Profiles Press Release
Vulkan 1.3 mandates widely supported features into the core standard; the Vulkan Roadmap provides visibility into Vulkan’s future requirements for key markets; Profiles streamline development and deployment of portable applications
-
Vulkan 1.3 Specification
-
-
Find Out More
The Vulkan Video extensions provisional release in April 2020 brings video decoding and encoding acceleration to Vulkan, enabling early review and evaluation by the developer community to start for this new functionality which is a key building block in many use cases from game streaming to video playback on various devices. We encourage your feedback to enhance these extensions as Vulkan CTS, Samples, and of course driver implementations by multiple vendors are being prepared for the upcoming final release.
-
Provisional Spec Blog
The Vulkan Video extensions provisional release in April 2020 brings video decoding and encoding acceleration to Vulkan, enabling early review and evaluation by the developer community to begin. This is a key building block in many use cases from game streaming to video playback on various devices.
-
Provisional Release - GitHub Issue
Have feedback, a question or issue? This is the place to raise it to the Vulkan Video group.
-
NVIDIA's Beta Driver
Vulkan Beta Driver Downloads contain newly released Vulkan features and bug fixes for Vulkan developers.
-
Sample Vulkan Video decoding application
NVIDIA has released a sample Vulkan Video decoding application vk_video_decoder to enable developers to prototype and experiment against the current provisional extensions.
-
Find Out More
-
-
Overview Blog
The newly released VK_KHR_synchronization2 extension brings extensive improvements to Vulkan queue submission, events, and pipeline barriers to significantly improve API usability for developers.
-
Technical Blog
The goal of this article is to help developers easily understand and not be intimidated or confused by one of the toughest aspects of Vulkan: Synchronization.
-
Synchronization 2 in the Vulkan Guide
See this chapter in the Vulkan Guide for an overview of the latest Vulkan synchronization capabilities
-
Specification
See the details of VK_KHR_synchronization2 in the Vulkan specification
-
Synchronization 2 code sample
Demonstrates the use of the reworked synchronization api introduced with VK_KHR_synchronization2. This sample uses the new extension to streamline memory barriers used for compute and graphics work submissions.
-
Overview Blog
-
-
Read the Blog
Khronos® has released the final versions of the set of Vulkan®, GLSL and SPIR-V extension specifications that seamlessly integrate ray tracing into the existing Vulkan framework.
-
Ray Tracing in the Vulkan Guide
For an overview of Ray Tracing in Vulkan, check out this chapter in the Vulkan Guide
-
Specification
Start with the Ray Traversal and Ray Tracing sections of the Vulkan Spec for more details
-
Ray Tracing code sample
Render a basic scene using the official cross-vendor ray tracing extension. Shows how to setup all data structures required for ray tracing
-
Read the Blog
-
-
Read the Blog
The new timeline semaphore synchronization API defines a primitive containing a superset of both the original VkSemaphore and VkFence primitives while simultaneously eliminating many of the most painful limitations of the previous APIs
-
Specification
See detials for Timeline Semaphore in the Vulkan Specification
-
Timeline Semaphore code sample
Demonstrates various use cases which are enabled with timeline semaphores. The sample implements "Game of Life" using out-of-order signal and wait, multiple waits on same semaphore in different queues, waiting and signalling semaphore on host.
-
Read the Blog
-
-
Read the blog
The VK_KHR_fragment_shading_rate extension provides a new, flexible technique to control the fragment shading rate, enabling developers to perform shading at a lower resolution than the render targets.
-
Specification
See detials for VK_KHR_fragment_shading_rate in the Vulkan Specification
-
Fragment Shading Rate code sample
Uses a special framebuffer attachment to control fragment shading rates for different framebuffer regions. This allows explicit control over the number of fragment shader invocations for each pixel covered by a fragment
-
Read the blog
-
-
Read the blog
Android is enabling a host of useful new Vulkan extensions for mobile. These new extensions are set to improve the state of graphics APIs for modern applications, enabling new use cases and changing how developers can design graphics renderers going forward.
-
Specification
See details for Descriptor Indexing in the Vulkan Specification
-
Descriptor Indexing code sample
Demonstrates how to use descriptor indexing to enable update-after-bind and non-dynamically uniform indexing of descriptors
-
Read the blog