summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-09-24 10:31:21 +0200
committerXiang, Haihao <haihao.xiang@intel.com>2014-10-10 14:54:44 +0800
commitcf2cf51215543a1bb74c4a04130b2c2fa6994d3c (patch)
treee9898983e3243688fc8d526c87363eadcb939609
parent4d8a2b26241500b8f674e988fa0e8bfffc9c02b2 (diff)
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> (cherry picked from commit e5d6c49c54ed7f6e1dacf9bafaae8fa0ba88db5d)
-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