On 13 August 2018 at 16:43, Tomasz Figa <tf...@chromium.org> wrote: > On Tue, Aug 14, 2018 at 12:35 AM Emil Velikov <emil.l.veli...@gmail.com> > wrote: >> >> On 13 August 2018 at 16:16, Tomasz Figa <tf...@chromium.org> wrote: >> > Hi Emil, >> > >> > On Mon, Aug 13, 2018 at 11:48 PM Emil Velikov <emil.l.veli...@gmail.com> >> > wrote: >> >> >> >> From: Emil Velikov <emil.veli...@collabora.com> >> >> >> >> The function name is misleading - it effectively checks if >> >> loader_get_driver_for_fd fails. Which can happen only only on strdup >> >> error - a close to impossible scenario. >> > >> > How about a DRI node which doesn't have a driver in Mesa? >> > >> Can you elaborate a bit - are you thinking of any of the following or >> something else: >> - no support for vendor X >> - supported vendor, missing vendor/device pci id for device X >> - supported vendor, built w/o it >> >> All these are fairly different cases, with somewhat different solution >> for each one. > > Let's say "no support for vendor X", but supported vendor Y GPU next > to it. We want this code to skip vendor X DRI node and choose vendor Y > DRI node. > >> >> Fwiw the function loader_get_driver_for_fd does: >> - gets the vendor/device pci id and maps that to a driver_name >> - if device not a pci device (or query fails) - fallback to the name >> as returned in drmGetVersion > > Good catch. Looks like I misunderstood what it does when reviewing > Rob's series and existing code doesn't work as I expected. I think it > would just error out in the case above, right? > Determining if a device is "supported" is fairly subtle: For example, even if you open the foo_dri.so the driver can fail due to old kernel module, LLVM version, etc. One solution is to continue loading up-to dri2_create_screen() - if it fails fall-back to the next device.
Any objections if I do that as follow-up patch, if you agree of course? Feels a bit dirty, but will work until we get something like EGL_EXT_explicit_device and EGL_MESA_query_renderer. Thanks Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev