Device based views for the Vulkan hardware database

I have just pushed the first big fundamental update to the Vulkan hardware database since it went live in february 2016. With more than 5,000 reports uploaded it already contains lots of valuable data, but I felt that the visualization was lacking.

When creating the Vulkan hardware database, I took the same approach as with the OpenGL and OpenGL ES database, making the web front-end more or less as pretty view of the database setup. All listings and statistics are purely based on report data, which is probably not what most users of the database, including me, are actually looking for.

Especially statistics like extensions coverage does not reflect real-world data as it includes all reports, even those from the very early days of Vulkan and also mixes the three major supported platforms into single numbers. Old reports with old driver versions not supporting an extension e.g. will affect those numbers, making them pretty useless.

So in order to make the database more usefull I have started to move the views to device based data instead of report based. This will result in a better overview and more realistic statistics.

Device listing

The first added is a new device listing. Instead of just listing uploaded reports from new to old, it now displays a new view listing devices, sorted by last uploaded report. So if a new report for a given device is uploaded, it’ll be displayed atop:

By default all platforms are mixed in a single view, but you can now easily switch over to devices for a single platform, all with separate urls (Windows, Linux, Android).

Selecting a device will open the list of reports uploaded for that device.

Using the new per-device listing you an now also get a list of all devices (instead of reports) you have submitted to the database, e.g. [mine](https://vulkan.gpuinfo.org/listdevices.php?submitter=Sascha Willems):

Extensions

The actual reason behind this fundamental change though were the coverage numbers for the extensions. Up until now these took all reports across all platforms into account, with esp. the old reports making the numbers pretty much unusable.

So the reworked extension listing is now based on actual device coverage instead and also split into the three major platforms:

Clicking on a percentage bar will then bring up a list of devices supporting that extension for the selected platform:

For comparison, here are the differences for the VK_KHR_maintenance extensions:

New:

Old:

The old coverage made it look like only a third of all devices support e.g. VK_KHR_maintenance3, while that coverage heavily differs between the platforms.

Looking at the new extension list you may also notice some extensions being links. Those have additional, non-core features and properties fetched by the Caps Viewer using vkGetPhysicalDeviceFeatures2 and vkGetPhysicalDeviceProperties2.

Clicking those links will display an extension detail page where you can access the additional features and properties: