summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-09-24 10:31:21 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-09-25 15:12:03 +0200
commite5d6c49c54ed7f6e1dacf9bafaae8fa0ba88db5d (patch)
tree63af19d8239f6f70f8a9f81ccc1772241ec1d29d
parent936f548d999afc44918f869f8c54fc82c5400ad9 (diff)
downloadlibva-e5d6c49c54ed7f6e1dacf9bafaae8fa0ba88db5d.tar.gz
tests: try a render-node device first for VA/DRM displays.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Reviewed-by: Sean V Kelley <sean.v.kelley@intel.com>
-rw-r--r--test/common/va_display_drm.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/test/common/va_display_drm.c b/test/common/va_display_drm.c
index aa9f60a..b6394cd 100644
--- a/test/common/va_display_drm.c
+++ b/test/common/va_display_drm.c
@@ -37,12 +37,28 @@ static int drm_fd = -1;
static VADisplay
va_open_display_drm(void)
{
- drm_fd = open("/dev/dri/card0", O_RDWR);
- if (drm_fd < 0) {
- fprintf(stderr, "error: can't open DRM connection!\n");
- return NULL;
+ VADisplay va_dpy;
+ int i;
+
+ static const char *drm_device_paths[] = {
+ "/dev/dri/renderD128",
+ "/dev/dri/card0",
+ NULL
+ };
+
+ for (i = 0; drm_device_paths[i]; i++) {
+ drm_fd = open(drm_device_paths[i], O_RDWR);
+ if (drm_fd < 0)
+ continue;
+
+ va_dpy = vaGetDisplayDRM(drm_fd);
+ if (va_dpy)
+ return va_dpy;
+
+ close(drm_fd);
+ drm_fd = -1;
}
- return vaGetDisplayDRM(drm_fd);
+ return NULL;
}
static void