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
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
-
-
Press Release
The Roadmap 2024 milestone is intended to be supported by newer mid-to-high-end devices shipping in 2024 or shortly thereafter across mainstream smartphone, tablet, laptops, console and desktop devices.
-
Roadmap 2024 Specification
Adds support for framebuffer-local dependencies to dynamic rendering, allowing developers to fully move over to dynamic rendering on all GPUs
- Featuring new extension: VK_KHR_dynamic_rendering_local_read
- Featuring new extensions: VI_KHR_shader_maximal_reconvergence and VK_KHR_shader_quad_control
-
Press Release
-
-
Press Release
Khronos has released finalized extensions, collectively called ‘Vulkan Video’, for seamlessly integrating hardware-accelerated video compression and decompression into the Vulkan API. This API incorporates industry feedback and exposes core decode Vulkan Video functionality to provide fully accelerated H.264 and H.265 decode.
-
Vulkan Video Blog - Decode
Vulkan Video adheres to the Vulkan philosophy of providing applications flexible, fine-grained control over scheduling, synchronization, and memory allocation. By leveraging the existing Vulkan API framework, the Vulkan Video extensions enable efficient, low-latency, low-overhead use of processing resources for accelerated video processing.
-
Vulkan Video Blog - Encode
With the release of Vulkan 1.3.274, Khronos has finalized the extensions to enable encoding of H.264 and H.265 video streams.
-
Vulkan Video Blog - AV1 Decode
Khronos Releases AV1 Decode in Vulkan Video with SDK Support for H.264/H.265 Encode
-
Press Release
-
-
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
-
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
-
-
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