diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2014-09-24 10:31:21 +0200 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2014-09-25 15:12:03 +0200 |
commit | e5d6c49c54ed7f6e1dacf9bafaae8fa0ba88db5d (patch) | |
tree | 63af19d8239f6f70f8a9f81ccc1772241ec1d29d | |
parent | 936f548d999afc44918f869f8c54fc82c5400ad9 (diff) | |
download | libva-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.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 |