From 8481d208cee0e10250d5f34487defec414470bb5 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 27 Jan 2014 10:34:16 -0500 Subject: pipe-loader: Add auth_x parameter to pipe_loader_drm_probe_fd() The caller can use this boolean parameter to tell the pipe-loader to authenticate with the X server when probing a file descriptor. --- src/gallium/auxiliary/pipe-loader/pipe_loader.h | 6 +++++- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 8 +++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/gallium/auxiliary/pipe-loader') diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.h b/src/gallium/auxiliary/pipe-loader/pipe_loader.h index e0525df..0064011 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader.h +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.h @@ -128,9 +128,13 @@ pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev); * This function is platform-specific. * * \sa pipe_loader_probe + * + * \param auth_x If true, the pipe-loader will attempt to + * authenticate with the X server. */ boolean -pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd); +pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd, + boolean auth_x); #endif diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 597a9b5..7abdec3 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -112,7 +112,8 @@ disconnect: } boolean -pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd) +pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd, + boolean auth_x) { struct pipe_loader_drm_device *ddev = CALLOC_STRUCT(pipe_loader_drm_device); int vendor_id, chip_id; @@ -127,7 +128,8 @@ pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd) ddev->base.ops = &pipe_loader_drm_ops; ddev->fd = fd; - pipe_loader_drm_x_auth(fd); + if (auth_x) + pipe_loader_drm_x_auth(fd); ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); if (!ddev->base.driver_name) @@ -159,7 +161,7 @@ pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev) if (fd < 0) continue; - if (j >= ndev || !pipe_loader_drm_probe_fd(&devs[j], fd)) + if (j >= ndev || !pipe_loader_drm_probe_fd(&devs[j], fd, true)) close(fd); j++; -- cgit v1.1