[Mesa-dev] [PATCH] anv: Set driver version to Mesa version
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Mon Jun 5 16:19:07 UTC 2017
On Mon, Jun 5, 2017 at 5:40 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Mon, Jun 5, 2017 at 7:48 AM, Alex Smith <asmith at feralinteractive.com>
> wrote:
>>
>> As already done by RADV, this code is lifted straight from there.
>
>
> I think this is a good idea but I'm very confused by the code.
>
>>
>> Signed-off-by: Alex Smith <asmith at feralinteractive.com>
>> ---
>> src/intel/vulkan/anv_device.c | 24 +++++++++++++++++++++++-
>> 1 file changed, 23 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
>> index aacd07f..8090eea 100644
>> --- a/src/intel/vulkan/anv_device.c
>> +++ b/src/intel/vulkan/anv_device.c
>> @@ -754,6 +754,28 @@ void anv_GetPhysicalDeviceFeatures2KHR(
>> }
>> }
>>
>> +static uint32_t anv_get_driver_version()
>
>
> First off, it would be good to put this in src/vulkan/
Agreed.
>
>>
>> +{
>> + const char *minor_string = strchr(VERSION, '.');
>> + const char *patch_string = minor_string ? strchr(minor_string + 1,
>> ','): NULL;
>
>
> Why are we searching for "," and not "." here?
Looks like I made a typo, nice find!
>
>>
>> + int major = atoi(VERSION);
>> + int minor = minor_string ? atoi(minor_string + 1) : 0;
>> + int patch = patch_string ? atoi(patch_string + 1) : 0;
>> + if (strstr(VERSION, "devel")) {
>> + if (patch == 0) {
>> + patch = 99;
>
>
> Is this really what we want? When I checkout the mesa-17.0.0 tag and
> configure, I see this in config.log:
>
> #define VERSION "17.0.0"
>
> This code looks like it would call that 16.99.99 which is a version that
> never existed. Perhaps the better thing to do is to look for "-something"
> at the end of the string, assert that patch == 0, and do the decrement.
> That should catch -rcN as well as -devel.
>
> Dave? Bas?
Note the strstr, which checks for devel, so with 17.0.0, that
decrement shouldn't happen. I'm open to generalizing this, I mostly
did this for getting a sense of what people used on vulkan.gpuinfo.org
and so the rc's weren't really a priority.
- Bas
>
> --Jason
>
>>
>> + if (minor == 0) {
>> + minor = 99;
>> + --major;
>> + } else
>> + --minor;
>> + } else
>> + --patch;
>> + }
>> + uint32_t version = VK_MAKE_VERSION(major, minor, patch);
>> + return version;
>> +}
>> +
>> void anv_GetPhysicalDeviceProperties(
>> VkPhysicalDevice physicalDevice,
>> VkPhysicalDeviceProperties* pProperties)
>> @@ -886,7 +908,7 @@ void anv_GetPhysicalDeviceProperties(
>>
>> *pProperties = (VkPhysicalDeviceProperties) {
>> .apiVersion = VK_MAKE_VERSION(1, 0, 42),
>> - .driverVersion = 1,
>> + .driverVersion = anv_get_driver_version(),
>> .vendorID = 0x8086,
>> .deviceID = pdevice->chipset_id,
>> .deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
>> --
>> 2.9.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
More information about the mesa-dev
mailing list