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

Tables displaying internal instead of external driverVersion. #67

Open alecazam opened 1 year ago

alecazam commented 1 year ago

I'm trying to reference the external shipping driverVersion in your tables, and noted that vulkan.gpuinfo.org displays the a column with:

VkPhysicalDeviceProperties.driverVersion

See "DriverInfo" prop here: https://vulkan.gpuinfo.org/displayreport.php?id=20939#properties_core_12

vs. "Driver" column here https://vulkan.gpuinfo.org/listreports.php?devicename=AMD+Radeon%28TM%29+Vega+8+Graphics&platform=windows

This isn't possible to correlate with the IHV supplied driver version. VkPhysicalDeviceVulkan12Properties has driverID, driverName, driverInfo. And the driverInfo field is the actually shipping name of the driver. This would be much more useful to report in that column. We're safely past Vulkan 1.1 on Windows at this point. This info is displayed in the Core1.2 panel, but should be the "driver version". Note that the Intel driver is just stuffing "Intel driver" into the driverInfo field which is worthless.

// On Nvidia: 4, NVIDIA, 535.98 // On Intel: 5 "Intel Corporation", "Intel driver"

I've got a bug report on the Intel forums to fix this oversight.
https://community.intel.com/t5/Intel-ARC-Graphics/Lastest-Intel-Vulkan-driver-doesn-t-detail-driver-version-in/m-p/1494119#M5030

alecazam commented 1 year ago

Here's a good link on decoding the driver name. Maybe the "Driver" column could show in bold vs. not if it's internal/external. So Intel and older Vulkan versions would display the old driverVersion still. Or a new column for when driverInfo is available.

https://gpuopen.com/learn/decoding-radeon-vulkan-versions/

SaschaWillems commented 1 year ago

Thanks for bringing this up. I'll see what I can do about this. As usual, something as simple as a driver version is kinda messed up.

The change won't be easy though due to how the database is structured and I also don't want to add in worse information (e.g. "Intel driver" instead of an actual version).

alecazam commented 1 year ago

Thanks, I'll try to send you more info as I explore this. Maybe only AMD differs, and I've got your same parsing code for driverVersion for Nvidia/AMD/Intel so we can lookup in your database. I don't know if another column is needed, and would need to handle Android driver versions too.

Ultimately, we'll have to hardcode a number and range if we need to target a specific driver or range. I too wish this wasn't so much code.