Hi All, I
am working for adding the
DRM Client cap for the aspect ratio support as part of the
series: https://patchwork.freedesktop.org/series/10850/
: Picture aspect ratio support in DRM layer by
Shashank Sharma. I
have an open as to how to go
about it. I
was going through the existing
DRM Client Cap like DRM_CLIENT_CAP_STEREO_3D,
DRM_CLIENT_CAP_ATOMIC. On
Similar lines, I was able
to add the new DRM_CLIENT_CAP_ASPECT_RATIO. I also added a
member 'aspect_ratio_required' in drm_file structure, which
is set, when the client
calls drm_setclientcap( ), for aspect ratio, just like its
being done for other
DRM Client Caps. Now
what I want to do is 1. Setting
the aspect-ratio flag-bits (19-22) in drmModeModeInfo only
if the client
advertises that it requires the aspect-ratio. So I
need to have this information (that client requires aspect
ratio) available in
the function: drm_mode_convert_to_umode(
) : Where the
flag bits are actually set 2. Similarly
in case of modeset request from the client, we would want to
parse the aspect
ratio bits from the requested
drmModeModeInfo
only if the client requires aspect ratio. This will require change in the function: drm_mode_convert_umode() : Where the flag bits of
drm_mode_mode_info are read by the drm layer to determine
the aspect ratio and set in drm_display_mode) The
problem is that, both
these functions have drm_mode_mode_info and drm_display_mode
as the only arguments, but
our flag aspect_ratio_required is in file_priv (struct
drm_file). To
do this there are two ways
I can think of: 1. Change the drm_mode_convert_umode() to include aspect_ratio_required flag. Before calling this function, the file_priv->aspect_ratio_required will be checked and the flag will be set accordingly.
2.
While
getting the drmClientCap from client, instead of storing
this information in file-priv, store this info in some other
structure. Is my understanding correct or is there any other way I should handle the drm client cap?
Thanks and Regards, Ankit |
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel