Skip to main content

VulkanRT Extensions Finalized, AMD, Nvidia Add Extensions to Its Drivers

Big Navi
(Image credit: AMD)

Khronos has unveiled its finalized version of its Vulkan RT extensions today for developers, meaning the ray tracing implementation for the Vulkan API is finally out of beta. Plus, hot on the heels of the release, AMD has released a new beta driver prepped with the new Vulkan RT extensions and support for World of Warcraft: Shadowlands 20.11.2.

The latest set of Vulkan RT extensions from Khronos include the following:

 

  • VK_KHR_acceleration_structure - for acceleration structure building and management
  • VK_KHR_ray_tracing_pipeline - for ray tracing shader stages and pipelines
  • VK_KHR_ray_query - providing ray query intrinsics for all shader stages
  • SPV_KHR_ray_tracing
  • SPV_KHR_ray_query
  • GLSL_EXT_ray_tracing
  • GLSL_EXT_ray_query
  • GLSL_EXT_ray_flags_primitive_culling

All these extensions are responsible for generating the rays and executing them properly, along with optimizations for efficiently processing them. Regarding AMD's Vulkan RT driver support, they've added the following extensions: 

  • VK_KHR_fragment_shading_rate
  • This extension provides the ability to change the shading rate per fragment. This extension allows for multiple pixels to be shaded via a single fragment shader invocation as opposed to the normal rate of one invocation per pixel.
  • VK_KHR_acceleration_structure
  • This extension provides acceleration structures for representing geometry that is spatially sorted. Acceleration structures are the most common way for quickly identifying potential ray intersections by ray tracing techniques.
  • VK_KHR_ray_tracing_pipeline
  • This extension introduces ray tracing pipelines along with new shader domains and an indirection table to link shader groups with acceleration structures.
  • VK_KHR_ray_query
  • This extension introduces ray queries, which can be used by any shader type outside of the optional dedicated ray tracing pipeline to return traversal results to the calling shader.
  • VK_KHR_deferred_host_operations
  • This extension defines the infrastructure and usage patterns for deferrable commands, which allows dependent extensions to defer their own operations. The VK_KHR_deferred_host_operations extension itself does not specify any commands as deferrable.
  • VK_KHR_pipeline_library
  • This extension introduces pipeline libraries. A pipeline library is a new special pipeline type that defines a set of pipeline states. It cannot be bound, rather it can be linked into other pipelines.
  • VK_KHR_shader_terminate_invocation
  • This extension indicates support for the SPV_KHR_terminate_invocation SPIR-V extension. The SPIR-V extension introduces a new instruction OpTerminateInvocation that allows a shader invocation to immediately terminate, which provides the behavior required by the GLSL discard statement.

Since the new extensions just dropped, you'll have to wait a little bit before seeing these finalized extensions implemented into your favorite Vulkan RT titles. Khronos encourages all developers to transition to the new ray-tracing extensions, so hopefully, it shouldn't take too long.

Intel will support the drivers by 2021 on its Xe-HPG GPUs, and Nvidia's drivers are also now available. Nvidia has already updated its developer tools like Nsight to support Vulkan RT. So for you developers out there, you can start working with the new Vulkan RT extensions immediately.

Correction Nov. 24, 10:42 a.m. ET: This story originally stated that Nvidia drivers were not available. This has been corrected. We regret the error.