On April 27, 2023 the Vulkan® Ray Tracing TSG released the VK_KHR_ray_tracing_position_fetch extension, which exposes the ability to fetch vertex positions from an acceleration structure hit when tracing rays. The SPIR-V SPV_KHR_ray_tracing_position_fetch and GLSL GL_EXT_ray_tracing_position_fetch extensions have also been released to provide SPIR-V and GLSL support for this functionality.
Background to Compute in Vulkan
Graphics processors have come a long way from simple framebuffer-based 2D display cards to fully programmable high performance devices. One of the most groundbreaking changes in this evolution was the addition of freely programmable compute units, paving the way for general-purpose computations on the GPU (aka “GPGPU”) and leveraging graphics processors for a host of use cases that have traditionally be
In April 2021, the Vulkan® Working Group at Khronos® released a set of provisional extensions, collectively called ‘Vulkan Video’, for seamlessly integrating hardware-accelerated video compression and decompression into the Vulkan API. Today, Khronos is releasing finalized extensions that incorporate industry feedback and expose core and decode Vulkan Video functionality to provide fully accelerated H.264 and H.265 decode.
Khronos will release an ongoing series of Vulkan Video extensions to enable additional codecs and accelerated encode as well as decode. This blog is a general overview of the Vulkan Video architecture and also provides details about the finalized extensions and links to important resources to help you create your first Vulkan Video applications.
We’ve just released an extension that I think will completely change how engines approach descriptors going forward. Descriptor sets are now backed by VkBuffer objects where you memcpy in descriptors. Delete VkDescriptorPool and VkDescriptorSet from the API, and have fun!
With the release of the VK_EXT_mesh_shader extension Vulkan gets an alternative geometry rasterization pipeline. This extension brings cross-vendor mesh shading to Vulkan, with a focus on improving functional compatibility with DirectX 12.
Mesh and Task shaders follow the compute programming model and use threads cooperatively to generate meshes within a workgroup. The vertex and index data for these meshes are written similarly to s
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. Read on to learn more about VK_EXT_graphics_pipeline_library.
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. With Vulkan 1.3 and the new public roadmap, we’re taking a significant step to reduce feature fragmentation.
When we were designing Vulkan 1.0, we had an idea to embed a task-graph-like object into Vulkan in the form of the render pass object. We knew the first version would be kind of restricted because we had an API to ship, and not long to do the work - but we had plans to extend the initial version, and those extensions would eventually provide significant flexibility to the API. Eventually, render passes would support all kinds of bells and whistle
Following the release of OpenCL™ 3.0 in September 2020, The Khronos® Group continues to expand and grow the ecosystem of this open, royalty-free standard for cross-platform, parallel programming of diverse accelerators found in supercomputers, cloud servers, personal computers, mobile devices, and embedded platforms.
In the world of simulation we are accustomed to dealing with both extremely large datasets and very long compute times. Even with modern GPU acceleration and large amounts of memory the resolution of the domain required to accurately simulate even a subset of real-world physics can result in compute times that run into the days or even weeks and datasets that are many tens of gigabytes in size. When you have datasets this large it can be difficult to distill this down into something that you can derive valuable insights from and keeping these enormous datasets in the cloud allows us to use scalable cloud resources to process the data. This is something that has become more of a pressing issue as the simulation capabilities of Autodesk Fusion 360 have expanded.
In early 2018 the Vulkan Working Group at Khronos started to explore how to seamlessly integrate hardware accelerated video compression and decompression into the Vulkan API. Today, Khronos is releasing a set of Provisional Vulkan Video acceleration extensions : ‘Vulkan Video’. This blog will give you an overview of Vulkan’s new video processing capabilities and we welcome feedback before the extensions are finalized so that the
Synchronization is a critical but often misunderstood part of the Vulkan API. The new VK_KHR_synchronization2 extension includes several improvements to make Vulkan Synchronization easier to use, without major changes to the fundamental concepts described below. We’ll highlight key differences introduced with Synchronization2 throughout the blog.
The newly released VK_KHR_synchronization2 extension brings extensive improvements to Vulkan queue submission, events, and pipeline barriers resulting in API significant usability enhancements for developers.
Synchronization2 highlights include:
Data for semaphores and command buffers is passed in arrays of structures, rather than in separate arrays spread across multiple structures, to streamline queue submissions.
Barrier pipeline stage masks
Today, the functionality of the Vulkan SDK gets a major upgrade for Vulkan developers targeting Apple platforms. LunarG is now shipping Device Simulation (DevSim) and Validation layers for the Vulkan SDK on macOS in addition to Linux and Windows. DevSim layers enable Vulkan application development on a highly-capable development system by "simulating" a less-capable target Vulkan implementation through constraining the reported features and resources on the more-capable platform. Validation layers verify that applications are correctly using the reported Vulkan functionality. The validation layers and associated Vulkan loader on macOS also now support Apple Silicon via Universal Binaries.
For the past two years, Holochip has been working on light field technology for the US Navy’s Aegis program. The program calls for a table top light field display that can accommodate horizontal and vertical real-time parallax. In October 2020, the team working on OpenXR™ at Holochip released an open source Vulkan® example project and started work with light field display technology using the OpenXR API. As a result of both efforts, Holochip has discovered a method of light field real-time rendering that is built upon the Khronos Group’s Vulkan Ray Tracing extensions.