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
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.
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.
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.
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.
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.
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:
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:
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.
This also applies to report compares, so it’s now easily possible to compare flags for a given format across multiple devices:
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.
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:
And similar for certain modes:
This makes it easier to read such values, esp. for possible flag combinations.
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.