Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on email

| New Vulkan® Extensions in Radeon™ Adrenaline driver 19.11.1

Our latest Radeon Software Adrenalin Edition driver – 19.11.1 – was released on 4th November 2019. It comes packed with several useful Vulkan® extensions you may be interested in.

Here’s a brief overview:

  • VK_KHR_timeline_semaphore – This extension adds new a new semaphore type which is no longer binary, but encapsulates a counter. This brings feature parity to other APIs and among other things, allows for wait-before-signal.
  • VK_KHR_shader_clock – With this extension, you can query the GPU clock at different points in a shader and identify hot-spots. Please keep in mind that compilers can re-order code, so double check the generated code. For that, you can use …
  • VK_KHR_pipeline_executable_properties – This new extension provides tons of information about a shader binary and can be easily extended. If you’ve been using VK_AMD_shader_info , then you’ll be familiar with the functionality – the main difference is that this extension can expose more, and it also works across vendors.
  • VK_KHR_shader_subgroup_extended_types – Subgroup operations have been only supported on 32-bit integers and floats so far. With this extension, subgroup operations can be used on all types supported by the device, so you can use them with 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types.
  • VK_EXT_subgroup_size_control – This extension was already supported, but we’re exposing more control now. With 19.11.1, you can now request full compute subgroups, as well as opting into using “varying” size. Enabling varying size is highly recommended as the brand new RDNA architecture can use both 32- and 64-wide subgroups, and this flag allows the compiler to pick the optimal size.
  • We’ve also enabled Clustered Subgroup Operations – In various cases you don’t want to run a subgroup operation across the whole subgroup, but only a subset. This is provided by “clustered” subgroup operations, which allows you for instance to compute the minimum value for every group of four invocations. With 19.11.1, this is now available on AMD, completing our subgroup operation support.
  • VK_KHR_spirv_1_4 – We’ve enabled SPIR-V 1.4, which provides various improvements for code generation.

You can download the 19.11.1 driver here.