Vulkan Hardware Capability Viewer and Database update 3.0

Intro

2021 starts with a huge update for both the Vulkan Hardware Capability Viewer application and the accompanying Vulkan Hardware Database, bringing some long-awaited features along with many smaller changes, additions and improvements.

Vulkan Hardware Capability Viewer 3.0

Update mechanism

One of the most requested features was a proper update mechanism, that would allow users to update reports with stuff added in newer versions. This version finally adds such an update mechanism. If a report for the device is already present in the database but is lacking new data present in the application, it allows you to update the existing report with that information. This is useful for data only available in newer versions of the application (e.g. for releases based on newer Vulkan headers) and for vendors that don’t always increase their driver version number for newer drivers.

Update mechanism

Vulkan 1.1 and 1.2 core features and properties

Vulkan 1.2 added dedicated structures for reading features (Core 1.1, Core 1.2) and properties (Core 1.1, Core 1.2) that were promoted in the respective core versions. On implementations that support Vulkan 1.2 (or newer), the application will now read, store and display those features. Most of that information was already present in the form of extension related features and properties, but having that data explicitly stored is a nice addition to the api, and makes several database queries easier.

Features and Properties

Reorganized structure

With the addition of dedicated values for Vulkan core versions, I also reorganized the structure of the data presented in the application. It’s now mostly similar to the structure of the database report display and also more in-line with the api.

The device page has been removed, the data contained there has been moved to the core 1.0 and 1.1 features page. So the core 1.0 properties page is now also the landing page for the application.

The limits are now displayed on the core 1.0 properties page, as this is more in line with VkPhysicalDeviceProperties.

Both the properties and features pages now have multiple tabs displaying data on the core version information that is available for the current implementation. To get this in line with the database, extension related properties and features have also been moved there.

The other minor changes are the removal of the deprecated device layer list and renaming the Vulkan tab to instance.

Release

The new version is available for Windows, Linux (X11 and Wayland), Mac OSX and Android on the download page. The update to the Google Play store should also be available soon.

Vulkan Hardware Database

There have also been numerous improvements and changes to the database. I also spent a lot of time reworking and refactoring the PHP code used by the database, which should make it easier to update in the future. The changes should primarily make it easier to find relevant information.

Reorganized structure

Most of the above changes to the way data is presented has also been applied to the database. This applies to both the single report display, as well as the report compare feature.

This also applies to the navigation bar, which has been reworked to include drop downs for core versions and extension related data for features and properties.

Database navigation

Vulkan 1.1 and 1.2 core features and properties

Core 1.1 and core 1.2 information for reports that have this data available is now also stored in the database, and the limits have also been moved to the core 1.0 pages, matching the structure of the Vulkan Hardware Capability Viewer:

Database feature listing

New listings for those values based on device coverage have also been added, so you can easily check coverage, get a list of devices supporting a given feature or check out what values are available:

Database feature listing

Reworked format support display

The report format support table has been completely redone and now displays all supported flags in a cross-table that has been split into separate pages for linear tiling, optimal tiling and buffer formats. This has been a frequent request, and should give a much better insight on an implementations format support.

Format support

This also applies to report compares, so it’s now easily possible to compare flags for a given format across multiple devices:

Format support

Mac OS selection

With the recent addition of official Mac OS builds, this platform has been added to all views with a platform selection options. So you can now check information for Apple’s platform the same way you can do with other platforms.

Format support

Better value visualization

Many values are now displayed in a human-readable form based on their Vulkan types using dedicated visualizations. So e.g. for sample counts you’ll now get a nice display of supported and available counts:

Visualization

And similar for certain modes:

Visualization

This makes it easier to read such values, esp. for possible flag combinations.

Database cleanup

I have also removed some old reports from the database that were either too old (api versions below 1.0.0), or contained wrong data. I’ll be doing regular house-keeping on the database in the future, to avoid out-dated or wrong reports displaying wrong data and skewing e.g. coverage numbers.