[Mesa-dev] [PATCH] anv: Set driver version to Mesa version

Jason Ekstrand jason at jlekstrand.net
Mon Jun 5 16:23:22 UTC 2017


On Mon, Jun 5, 2017 at 9:19 AM, Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
wrote:

> 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,


Drp... You're right.


> 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.
>

I'm not sure what to do about RCs.  I think it may be best to just let
those count as the version for which they are an RC.  In which case the
only needed change is the typo fix and moving it to src/vulkan/util.


> - 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
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170605/7c6b39bf/attachment.html>


More information about the mesa-dev mailing list