New Vulkan® Extensions in Radeon™ Adrenalin 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.

Latest news

AMD Matrix Cores (amd-lab-notes)

This first post in the ‘AMD lab notes’ series takes a look at AMD’s Matrix Core technology and how best to use it to speed up your matrix operations.

Looking for a good place to get started with exploring GPUOpen?

Getting started: our software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

Getting started: development and performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

You may also like...

Explore our huge collection of detailed tutorials, sample code, presentations, and documentation to find your answers to your graphics development questions.

Create wonder. No black boxes.

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

Browse all our useful samples. Perfect for when you’re needing to get started, want to integrate one of our libraries, and much more.

Discover what our SDK technologies can offer you. Query hardware or software, manage memory, create rendering applications or machine learning, and much more!

Analyze, Optimize, Profile, Benchmark. We provide you with the developer tools you need to make sure your game is the best it can be!