SaschaWillems / vulkan.gpuinfo.org

Front-End and Back-End for the Vulkan Hardware Database
https://vulkan.gpuinfo.org
GNU Affero General Public License v3.0
23 stars 4 forks source link

Invalid reports in the database #19

Closed NicolBolas closed 4 years ago

NicolBolas commented 8 years ago

The database contains a number of reports that are invalid, with regard to the spec thanks to beta Vulkan drivers.

This is particular pernicious in the Limits section. For example, Vulkan requires that implementations specify that maxPerStageDescriptorSamplers be at least 16. However, if you look at the database, a couple of entries specify 0. Indeed, thanks to such reports, the entire Limits page has 0 for the minimum value.

Reports from dysfunctional implementations limit the usefulness of the database. I would suggest adjusting the Caps viewer to at least check the reported limits against the minimum requirements (a non-trivial task, since many limits are based on support for one or more features).

Oh, and it would be good if the website, when generating that Limits page, could ignore values from implementations that don't support that feature. For example, maxTessellationGenerationLevel is allowed to be 0 if the tessellation feature isn't supported. But I don't really care about what the smallest supported max tessellation level is for hardware that doesn't support it. I want to see what the smallest supported maximum is for hardware that actually supports it. Again, a non-trivial task, to be sure.

SaschaWillems commented 7 years ago

Oh, and it would be good if the website, when generating that Limits page, could ignore values from implementations that don't support that feature. For example, maxTessellationGenerationLevel is allowed to be 0 if the tessellation feature isn't supported. But I don't really care about what the smallest supported max tessellation level is for hardware that doesn't support it. I want to see what the smallest supported maximum is for hardware that actually supports it. Again, a non-trivial task, to be sure.

Finally got around tackling this. I have added a new table that stores the limit requirements from table 36. of the specs and applies them to the report listing by limit and also on the min and max values on the overall limit listing page. I've also added the required feature (where it applies) to the limit listing page.

image

image

As for the invalid reports I plan on removing these (and some other old reports) in the future to get a clean database state.

SaschaWillems commented 4 years ago

I'm preparing for a big update and have removed lots of invalid and wrong reports, so they no longer affect correctness of the displayed data.