GPUOpen-LibrariesAndSDKs/AGS_SDK

Function for disassembling driver version into major/minor/patch

Nielsbishere opened this issue · 2 comments

Hi there,
So currently we're using agsCheckDriverVersion to ensure the AMD driver version is supported. However, for debugging purposes and for a more standardized flow between various vendors we want to get a version name that is formatted the following way: major.minor.patch. The name we get from ASGPUInfo::driverInfo doesn't seem to be that way, we have to split by - to ensure we don't get remainder (22.40.01.45-230210a-388153C-AMD-Software-Adrenalin-Edition).
Is there a guarantee that this assumption (- being splittable and separating version) will hold true for the future?
My guess is that the agsCheckDriverVersion function will parse this string and turn it into a uint and do a compare on that, if this is the case; why is this not exposed (by providing this value and a function that turns the bitfield back into the separate components)? Maybe I'm missing something, but the only thing I found was ags version major/minor/patch and that's about AGS itself and not about the driver.
Thanks for the help.

I would recommend using AGSGPUInfo::radeonSoftwareVersion in the agsCheckDriverVersion as that is expected to be in the format major.minor.patch. This also maps to the year.month.revision of the driver package.

The AGSGPUInfo::driverVersion is going to look something like 22.40.xxx which is an internal versioning scheme we use, and as you've seen, doesn't map well to major.minor.patch numbering.

Awesome, guess I'll use that then, thank you.