diff options
author | Emil Velikov <emil.velikov@collabora.com> | 2016-09-12 17:48:18 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-10-18 17:06:29 +0100 |
commit | af7abc512c422183a761ce3d687086abe282fa74 (patch) | |
tree | 149c76b7a7f738b2338dfc235b475dbad1939585 /src | |
parent | f9f7e44c94f7eee4778768adf7afffba6c0581e7 (diff) |
loader: remove loader_get_driver_for_fd() driver_type
Reminiscent from the pre-loader days, were we had multiple instances of
the loader logic in separate places and one could build a "GALLIUM_ONLY"
version.
Since that is no longer the case and the loaders (glx/egl/gbm) do not
(and should not) require to know any classic/gallium specific we can
drop the argument and the related code.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/egl/drivers/dri2/platform_android.c | 2 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_surfaceless.c | 2 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_wayland.c | 2 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_x11.c | 2 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_x11_dri3.c | 2 | ||||
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 2 | ||||
-rw-r--r-- | src/gbm/backends/dri/gbm_dri.c | 2 | ||||
-rw-r--r-- | src/glx/dri2_glx.c | 2 | ||||
-rw-r--r-- | src/glx/dri3_glx.c | 2 | ||||
-rw-r--r-- | src/loader/loader.c | 8 | ||||
-rw-r--r-- | src/loader/loader.h | 5 | ||||
-rw-r--r-- | src/loader/pci_id_driver_map.h | 23 |
12 files changed, 22 insertions, 32 deletions
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c index 6a110e2c9c..2dcc5b552b 100644 --- a/src/egl/drivers/dri2/platform_android.c +++ b/src/egl/drivers/dri2/platform_android.c @@ -934,7 +934,7 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy) goto cleanup_display; } - dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0); + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (dri2_dpy->driver_name == NULL) { err = "DRI2: failed to get driver name"; goto cleanup_device; diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c index fcf7d69701..c81eacafda 100644 --- a/src/egl/drivers/dri2/platform_surfaceless.c +++ b/src/egl/drivers/dri2/platform_surfaceless.c @@ -282,7 +282,7 @@ dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp) if (dri2_dpy->fd < 0) continue; - dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0); + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (dri2_dpy->driver_name) { if (dri2_load_driver(disp)) { driver_loaded = 1; diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 726a45845c..ccab192f91 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1183,7 +1183,7 @@ dri2_initialize_wayland_drm(_EGLDriver *drv, _EGLDisplay *disp) * the server by requesting its pci-id */ dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER; - dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0); + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (dri2_dpy->driver_name == NULL) { _eglError(EGL_BAD_ALLOC, "DRI2: failed to get driver name"); goto cleanup_fd; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 2921147eca..cf2ce3f895 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -681,7 +681,7 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy) /* If Mesa knows about the appropriate driver for this fd, then trust it. * Otherwise, default to the server's value. */ - loader_driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0); + loader_driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (loader_driver_name) { dri2_dpy->driver_name = loader_driver_name; } else { diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c index 3dc9b98a90..475ec05a9c 100644 --- a/src/egl/drivers/dri2/platform_x11_dri3.c +++ b/src/egl/drivers/dri2/platform_x11_dri3.c @@ -537,7 +537,7 @@ dri3_x11_connect(struct dri2_egl_display *dri2_dpy) dri2_dpy->fd = loader_get_user_preferred_fd(dri2_dpy->fd, &dri2_dpy->is_different_gpu); - dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0); + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (!dri2_dpy->driver_name) { _eglLog(_EGL_WARNING, "DRI3: No driver found"); close(dri2_dpy->fd); diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 1ad2f132c8..2b7ab2757a 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -176,7 +176,7 @@ pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd) ddev->base.ops = &pipe_loader_drm_ops; ddev->fd = fd; - ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); + ddev->base.driver_name = loader_get_driver_for_fd(fd); if (!ddev->base.driver_name) goto fail; diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c index e7c0e8941b..51c4117ba7 100644 --- a/src/gbm/backends/dri/gbm_dri.c +++ b/src/gbm/backends/dri/gbm_dri.c @@ -516,7 +516,7 @@ dri_screen_create(struct gbm_dri_device *dri) { char *driver_name; - driver_name = loader_get_driver_for_fd(dri->base.base.fd, 0); + driver_name = loader_get_driver_for_fd(dri->base.base.fd); if (!driver_name) return -1; diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index af388d97d3..d6eb281cf9 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -1206,7 +1206,7 @@ dri2CreateScreen(int screen, struct glx_display * priv) /* If Mesa knows about the appropriate driver for this fd, then trust it. * Otherwise, default to the server's value. */ - loader_driverName = loader_get_driver_for_fd(psc->fd, 0); + loader_driverName = loader_get_driver_for_fd(psc->fd); if (loader_driverName) { free(driverName); driverName = loader_driverName; diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index db01007171..358bd5f9fe 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -780,7 +780,7 @@ dri3_create_screen(int screen, struct glx_display * priv) psc->fd = loader_get_user_preferred_fd(psc->fd, &psc->is_different_gpu); deviceName = NULL; - driverName = loader_get_driver_for_fd(psc->fd, 0); + driverName = loader_get_driver_for_fd(psc->fd); if (!driverName) { ErrorMessageF("No driver found\n"); goto handle_error; diff --git a/src/loader/loader.c b/src/loader/loader.c index bb0c392cf7..fdcd6eca80 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -378,14 +378,11 @@ loader_get_device_name_for_fd(int fd) } char * -loader_get_driver_for_fd(int fd, unsigned driver_types) +loader_get_driver_for_fd(int fd) { int vendor_id, chip_id, i, j; char *driver = NULL; - if (!driver_types) - driver_types = _LOADER_GALLIUM | _LOADER_DRI; - if (!loader_get_pci_id_for_fd(fd, &vendor_id, &chip_id)) { #if HAVE_LIBDRM @@ -410,9 +407,6 @@ loader_get_driver_for_fd(int fd, unsigned driver_types) if (vendor_id != driver_map[i].vendor_id) continue; - if (!(driver_types & driver_map[i].driver_types)) - continue; - if (driver_map[i].predicate && !driver_map[i].predicate(fd)) continue; diff --git a/src/loader/loader.h b/src/loader/loader.h index 055dc78689..d404f5b67f 100644 --- a/src/loader/loader.h +++ b/src/loader/loader.h @@ -33,9 +33,6 @@ extern "C" { /* Helpers to figure out driver and device name, eg. from pci-id, etc. */ -#define _LOADER_DRI (1 << 0) -#define _LOADER_GALLIUM (1 << 1) - int loader_open_device(const char *); @@ -43,7 +40,7 @@ int loader_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id); char * -loader_get_driver_for_fd(int fd, unsigned driver_types); +loader_get_driver_for_fd(int fd); char * loader_get_device_name_for_fd(int fd); diff --git a/src/loader/pci_id_driver_map.h b/src/loader/pci_id_driver_map.h index cab69fb87f..343fc346ac 100644 --- a/src/loader/pci_id_driver_map.h +++ b/src/loader/pci_id_driver_map.h @@ -72,20 +72,19 @@ static const struct { const char *driver; const int *chip_ids; int num_chips_ids; - unsigned driver_types; int (*predicate)(int fd); } driver_map[] = { - { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids), _LOADER_DRI | _LOADER_GALLIUM }, - { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids), _LOADER_DRI | _LOADER_GALLIUM }, - { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids), _LOADER_DRI }, - { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids), _LOADER_DRI }, - { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids), _LOADER_GALLIUM }, - { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids), _LOADER_GALLIUM }, - { 0x1002, "radeonsi", radeonsi_chip_ids, ARRAY_SIZE(radeonsi_chip_ids), _LOADER_GALLIUM}, - { 0x10de, "nouveau_vieux", NULL, -1, _LOADER_DRI, is_nouveau_vieux }, - { 0x10de, "nouveau", NULL, -1, _LOADER_GALLIUM }, - { 0x1af4, "virtio_gpu", virtio_gpu_chip_ids, ARRAY_SIZE(virtio_gpu_chip_ids), _LOADER_GALLIUM }, - { 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids), _LOADER_GALLIUM }, + { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) }, + { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) }, + { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) }, + { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) }, + { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) }, + { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) }, + { 0x1002, "radeonsi", radeonsi_chip_ids, ARRAY_SIZE(radeonsi_chip_ids) }, + { 0x10de, "nouveau_vieux", NULL, -1, is_nouveau_vieux }, + { 0x10de, "nouveau", NULL, -1, }, + { 0x1af4, "virtio_gpu", virtio_gpu_chip_ids, ARRAY_SIZE(virtio_gpu_chip_ids) }, + { 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) }, { 0x0000, NULL, NULL, 0 }, }; |