Vulkan profiles support for the Vulkan Hardware Capability Viewer and database

Vulkan profiles

Along with Vulkan 1.3, Khronos also introduced Vulkan Profiles into the Vulkan ecosystem:

“The new Vulkan profile mechanism enables the precise specification and management of sets of API capabilities. Each profile specifies a core version of Vulkan plus a set of required extensions, with supported limits, features, and formats. Profiles provide a way to precisely communicate functionality requirements and device capabilities between participants in the Vulkan ecosystem to streamline the development and deployment of portable applications.”

(From here)

The initial wave of profiles includes a Vulkan 2022 roadmap profile, an Android 2021 baseline profile and a LunarG desktop portability profile. Each defining their own sets of requirements.

More documentation on Vulkan Profiles can be found in this github repository and LunarG just released a new Vulkan SDK that has all the tooling bundled.

Similar to extensions, features and structures, support for these varies, so adding them to the database was a natural fit.

With today’s update, the Vulkan Hardware Capability Viewer and Database added full support for Vulkan profiles.

Profile support

The first new addition is reading and storing the list of supported profiles for device reports. This is similar to supported extensions, and the information is displayed in each report, in the report compare function and as a global coverage listing where you can check support for a given profile and platform.

Profile layer deprecates DevSim

The second change affects the device simulation layer. That layer allowed a user to simulate device limitations without actual access to that device using a JSON file. For some time now, the database allowed you to generate a JSON format for the device simulation layer from almost all reports. These allowed you to validate your application against limitations of device you don’t have access too.

That device simulation layer has been deprecated with the introduction of Vulkan Profiles, so all api routes and download links for device simulation layer JSON files have been removed.

Instead it’s now possible to generate a Vulkan Profile for a given report that you can then use with vkconfig (from LunarG’s SDK) to simulate that device.

You can download an example of such a profile from here and find documentation on how to use this here. Additional documentation on how this works with regards to the database can be found here.

Vulkan Hardware Capability Viewer 3.2

The new version is available for Windows, Linux (X11 and Wayland), Mac OSX and Android on the download page. If you have already submitted a device with an older version, you may be able to update the device report with the newly added profile information.