The patch looks good to me just one question, I see that flink name
is returned as fd, so handle is what vmwgfx expecting in that case ?

Reviewed-by: Deepak Rawat <dra...@vmware.com>

> 
> KMS drivers are not required to support GEM. In particular, vmwgfx
> doesn't support flink and handles and names are identical.
> Getting a bo name should really be part of a lower level API, if needed,
> but in the mean time work around this by setting the name identical to
> the handle if GEM isn't supported.
> 
> This fixes modesetting driver dri2 on vmwgfx.
> 
> Signed-off-by: Thomas Hellstrom <thellst...@vmware.com>
> ---
> v2: Strip changes to an unrelated file.
> ---
>  glamor/glamor_egl.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
> index 4a4ca4bd8..7ec749742 100644
> --- a/glamor/glamor_egl.c
> +++ b/glamor/glamor_egl.c
> @@ -99,8 +99,18 @@ glamor_get_flink_name(int fd, int handle, int *name)
>      struct drm_gem_flink flink;
> 
>      flink.handle = handle;
> -    if (ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink) < 0)
> -        return FALSE;
> +    if (ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink) < 0) {
> +
> +     /*
> +      * Assume non-GEM kernels have names identical to the handle
> +      */
> +     if (errno == ENODEV) {
> +         *name = handle;
> +         return TRUE;
> +     } else {
> +         return FALSE;
> +     }
> +    }
>      *name = flink.name;
>      return TRUE;
>  }
> --
> 2.14.3
> 
> _______________________________________________
> Sent to linux-graphics-maintai...@vmware.com
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to