[Linux-graphics-maintainer] [PATCH] glamor: Work around GEM usage v2
Deepak Singh Rawat
drawat at vmware.com
Wed Jun 20 17:58:20 UTC 2018
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 <drawat at 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 <thellstrom at 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-maintainer at vmware.com
More information about the xorg-devel
mailing list