[Libva] [PATCH 2/2] tests: try a render-node device by default for VA/DRM displays.

Gwenole Beauchesne gb.devel at gmail.com
Wed Sep 24 02:59:13 PDT 2014


2014-09-24 10:40 GMT+02:00 Gwenole Beauchesne <gb.devel at gmail.com>:
> Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
> ---
>  test/common/va_display_drm.c | 26 +++++++++++++++++++++-----
>  1 file changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/test/common/va_display_drm.c b/test/common/va_display_drm.c
> index aa9f60a..d427984 100644
> --- a/test/common/va_display_drm.c
> +++ b/test/common/va_display_drm.c
> @@ -34,15 +34,31 @@
>
>  static int drm_fd = -1;
>
> +static const char *drm_device_paths[] = {
> +    "/dev/dri/renderD128",
> +    "/dev/dri/card0",
> +    NULL
> +};
> +
>  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;
> +
> +    for (i = 0; !va_dpy && drm_device_paths[i]; i++) {

Wrong patch. The correct one without that va_dpy check will be pushed.

> +        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
> --
> 1.9.1
>


More information about the Libva mailing list