The Vulkan headers now include the following new extensions:
- VK_LAYER_KHRONOS_shader_object emulation layer (beta)
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.
The position of scene geometry is provided to ray tracing acceleration structures at build time and they include a derived form of the positions to enable efficient ray tracing and queries. Applications frequently require the position or a derived attribute of a triangle on a hit. For example, the geometric normal of the hit can be used as a biased ray origin for shadow rays in path tracers to prevent self intersection. The Ray Tracing Position Fetch extension enables direct retrieval of position and attribute information to avoid duplication of geometry data storage.
NVK, an open-source Vulkan driver for NVIDIA hardware that is part of Mesa, now supports the Vulkan extension, VK_KHR_Multiview. Multiview is a rendering technique originally designed for VR.
New features and improvements include:
- Update Khronos Vulkan Headers to 1.3.246
- Support Navi3x floating point instructions
- Support extensions VK_KHR_map_memory2, VK_EXT_image_sliced_view_of_3d, VK_EXT_vertex_input_dynamic_state, VK_EXT_extended_dynamic_state3, VK_EXT_shader_module_identifier, VK_EXT_mesh_shader, VK_EXT_pipeline_library_group_handles, VK_EXT_descriptor_buffer
Intel’s open-source OpenGL “Iris” and Vulkan “ANV” Linux drivers are now part of the auto-generated set of drivers set to be built for 64-bit ARM (AArch64) when compiling this code inside Mesa.
The new NVIDIA Optical Flow SDK 5.0 now enables Vulkan applications to use the NVIDIA Optical Flow engine when running on NVIDIA Ampere architecture and newer generation GPUs to create a smoother gaming and video experience by inserting interpolated frames between original frames using the computed flow between frame pairs.
LunarG has summarized the results of their annual survey and created a report that shares the key findings and suggested actions to improve the Vulkan SDK and Ecosystem in 2023 and beyond.
Today, Khronos® is releasing a new multi-vendor Vulkan® extension that aims to radically simplify how applications specify shaders and shader state while maintaining Vulkan’s ethos of being a highly performant “API without secrets.” This extension is VK_EXT_shader_object. It introduces a new VkShaderEXT object type which represents a single compiled shader stage, along with 4 new functions to manipulate and use VkShaderEXT objects. Learn more in this Khronos Blog.
Godot 4.0 runs on Windows, Linux, and MacOS, and also Android devices. The Goldot team embedded OpenXR in the engine’s core and introduced Godot XR tools, which will help developers of XR projects. With two new Vulkan backends (Clustered and Mobile), Godot rendering has never been so advanced. While Godot is excited to leverage Vulkan for performance optimization going forward, it was very important not to penalize users with less powerful hardware. For that, they’ve integrated an OpenGL-based compatibility renderer aimed at supporting older and lower-end devices. As always, Godot wants to see people create games on the full spectrum of devices for everyone to enjoy. They’re also working on a Direct3D 12 renderer for better Windows and Xbox support. With Je06jm‘s contribution, you can now also take advantage of AMD’s Fidelity FX Super Resolution 1.0 (FSR 1.0) to dynamically and beautifully render at lower resolution while keeping your game running smoothly. Spoiler: Support for FSR 2.1 is planned in future releases.
In this educational paper from TU Wien, they conclude that supporting a Vulkan route was much less bumpy for their students than they initially anticipated, and therefore propose a pragmatic route for transitioning to Vulkan in academia for the purpose of teaching real-time computer graphics. Teaching Vulkan from the start will have a positive effect on students for becoming proficient users of modern graphics APIs and, thereby, in more advanced courses when they encounter Vulkan again. Using a low-level API enables students to learn about the massively parallel operation mode of modern GPUs early in their visual computing education. TU Wien’s evaluation has shown that students appreciate the skills and knowledge they picked up through using the Vulkan API. Teaching Vulkan is both viable and beneficial to students who aim to become competent practitioners of visual computing. While the transition may be challenging, it appears to be a worthwhile investment to provide students with future-proof education.
AMD has released a new version of it’s AMDVLK Vulkan driver. The update brings support for VK_EXT_physical_device_drm extension for querying Direct Rendering Manager (DRM) properties for physical devices, enabling users to match Vulkan physical devices with DRM nodes on Linux. The update also fixes a couple of potential CTS failures.
Nsight Graphics 2022.7 is available now, adding support for the finalized release of Vulkan Video decode. You can frame capture applications that use Vulkan Video to inspect events and resource allocation.
Get started today
LunarG, developers of the Vulkan SDK, are asking Vulkan developers to complete a survey to better understand what’s working well and what needs improvement in the Vulkan API ecosystem. This survey is a cooperative effort between LunarG and the Khronos Vulkan Working Group. The survey closes on Monday, February 27th, 2023.
Vulkan was designed with compute support as a mandatory feature. In this blog, Sascha Willems shows how to get started with Vulkan compute acceleration.
Over the course of the last decade, Rust has emerged as a new programming language for writing safe low-level code. In the first of a series, Faith Ekstrand explores using Rust to write Mesa Vulkan drivers