diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2014-09-24 10:31:21 +0200 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2014-10-10 14:54:44 +0800 |
commit | cf2cf51215543a1bb74c4a04130b2c2fa6994d3c (patch) | |
tree | e9898983e3243688fc8d526c87363eadcb939609 | |
parent | 4d8a2b26241500b8f674e988fa0e8bfffc9c02b2 (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.c | 26 |
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 |