Vulkan Hardware Database updates

Intro

The Vulkan Hardware Database just got another large update, bringing some substantial new features, quality-of-life improvements and bugfixes. A large part of the code has been reworked to make it easier to maintain and expand, and also more secure.

Reworked format support views

The biggest change in functionality are the reworked format support views. Instead of a single view that would only tell coverage for “is a format supported linear/optimal tiling or buffers”, the listings have been split into separate listings for linear tiling, optimal tiling and buffer format support and now list device coverage by format and flag. With the reworked views, it’s now possible to find out what coverage for a given format and support flag combination, something that has been often requested:

Clicking on a coverage number will list all devices supporting that specific format and flag combination:

Due to the complex nature of the underlying the data, those listings are now updated via a cronjob multiple times a day, instead of running database queries at each page load. While this results in data slightly lagging behind, load times and server load are heavily reduced.

Combined platform tabs for all views

All listings now consistently have an “All platforms” tab. This is useful if you e.g. want to find out coverage of an extension or feature across all devices and all platforms.

Filtered platform tabs

Filtered listings also got platform tabs. Switching between these keeps the filtering, so this should make comparing different platforms a lot easier.

Additions to surface data

The surface format support overview now also contains the color space, so you can filter for certain format and color space combinations:

I have also added a new overview for surface usage flag support:

Database cleanup

As usual, I have also removed some 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.