On Fri, Dec 11, 2020 at 05:11:12PM +0100, Daniel Vetter wrote:
> There's a confusion between the preferred_depth uapi and the generic
> fbdev helpers. Former wants depth, latter wants bpp, and for XRGB8888
> they don't match. Which hit me with vkms, which wants that.
> 
> All other drivers setting this and using the generic fbdev helpers use
> 16, where both numbers match, for RGB565.
> 
> Since fixing this is a bit involved (I think for atomic drivers we
> should just compute this all internally from the format list of the
> first primary plane) paper over the issue in vkms by using defaults
> everywhere. Then userspace will pick XRGB8888, and fbdev helpers will
> do the same, and we have what we want.

I think I had a patch ages ago that tried to improve the fb_helper
pixel format stuff a bit. This one I think:
https://patchwork.freedesktop.org/patch/203189/

Haven't checked how much of that would still be relevant though.

> 
> Reported-by: Simon Ser <cont...@emersion.fr>
> Reviewed-by: Simon Ser <cont...@emersion.fr>
> Cc: Simon Ser <cont...@emersion.fr>
> Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
> Cc: Rodrigo Siqueira <rodrigosiqueiram...@gmail.com>
> Cc: Melissa Wen <melissa....@gmail.com>
> Cc: Haneen Mohammed <hamohammed...@gmail.com>
> Cc: Daniel Vetter <dan...@ffwll.ch>
> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index d4d39227f2ed..aef29393b811 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -113,7 +113,10 @@ static int vkms_modeset_init(struct vkms_device *vkmsdev)
>       dev->mode_config.max_height = YRES_MAX;
>       dev->mode_config.cursor_width = 512;
>       dev->mode_config.cursor_height = 512;
> -     dev->mode_config.preferred_depth = 32;
> +     /* FIXME: There's a confusion between bpp and depth between this and
> +      * fbdev helpers. We have to go with 0, meaning "pick the default",
> +      * which ix XRGB8888 in all cases. */
> +     dev->mode_config.preferred_depth = 0;
>       dev->mode_config.helper_private = &vkms_mode_config_helpers;
>  
>       return vkms_output_init(vkmsdev, 0);
> -- 
> 2.29.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to