[Mesa-dev] [PATCH 00/16] loader: unify loader codepaths

Nicolai Hähnle nhaehnle at gmail.com
Tue Oct 18 08:57:28 UTC 2016


On 11.10.2016 20:31, Emil Velikov wrote:
> Hi all,
>
> I've been 'threatening' to do this for a while, so here it is:
>
> Remove the three separate code paths that we have in the loader giving
> is a since cleanup and consistent/predictable runtime behaviour across
> the board. Not to mention some 100 lines removed from configure.ac and
> an extra ~400 lines removed throughout the tree.

Hooray for code removal :)

I sent some simple comments on patches 2 & 5. Apart from that, while I'm 
not super familiar with this code it does all look reasonable to me, so 
for the series:

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

> What this series does:
>  - Changes/unifies how we retrieve the vendor/device pci id.
> Namely:
>  Removes the ioctl, libudev and sysfs codepaths in favour of using the
> libdrm drm*Device API effectively adding "PRIME support" for non-libudev
> users ;-) We also get one configure toggle less in the process.
>
> What it does _not_ do:
>  - Any changes on the mapping process between the fd/device id and the
> device/driver name.
> Namely:
>  Stuff such as hwdb, platform devices and respective mapping between the
> lot is _not_ touched/covered.
>
> I've been touch using it, on an off for about a week, but any extra
> testing, review and input is appreciated.
>
> Emil
>
> Emil Velikov (16):
>   configure.ac: mark libdrm as have_pci_id provider
>   loader: slim down loader_get_pci_id_for_fd implementation(s)
>   loader: separate USE_DRICONF code into separate function
>   loader: annotate __driConfigOptionsLoader as static
>   loader: reimplement loader_get_user_preferred_fd via libdrm
>   loader: remove libudev_get_device_name_for_fd and related code
>   automake: remove all the libudev references
>   gbm: remove superfluous/incorrect udev comment
>   scons: loader: use libdrm when available
>   scons: remove all libudev references
>   travis: remove no longer needed liudev-dev dependency
>   loader: remove final sysfs codepath in loader_get_device_name_for_fd()
>   loader: remove loader_get_driver_for_fd() driver_type
>   loader: cleanup copyright section
>   configure.ac: remove no longer needed *_pci_id logic
>   configure.ac: use a single require_libdrm helper
>
>  .travis.yml                                        |   1 -
>  configure.ac                                       | 112 +---
>  scons/gallium.py                                   |   1 -
>  src/egl/drivers/dri2/platform_android.c            |   2 +-
>  src/egl/drivers/dri2/platform_surfaceless.c        |   2 +-
>  src/egl/drivers/dri2/platform_wayland.c            |   2 +-
>  src/egl/drivers/dri2/platform_x11.c                |   2 +-
>  src/egl/drivers/dri2/platform_x11_dri3.c           |   2 +-
>  .../auxiliary/pipe-loader/pipe_loader_drm.c        |   2 +-
>  src/gbm/backends/dri/gbm_dri.c                     |   2 +-
>  src/gbm/main/gbm.c                                 |   1 -
>  src/glx/dri2_glx.c                                 |   2 +-
>  src/glx/dri3_glx.c                                 |   2 +-
>  src/loader/Makefile.am                             |   3 +-
>  src/loader/SConscript                              |   6 +-
>  src/loader/loader.c                                | 622 ++++-----------------
>  src/loader/loader.h                                |   5 +-
>  src/loader/pci_id_driver_map.h                     |  23 +-
>  18 files changed, 150 insertions(+), 642 deletions(-)
>


More information about the mesa-dev mailing list