[Mesa-dev] [PATCH 00/16] loader: unify loader codepaths
Emil Velikov
emil.l.velikov at gmail.com
Tue Oct 11 18:31:44 UTC 2016
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
More information about the mesa-dev
mailing list