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. 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(-) -- 2.10.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev