On 2018-09-05 6:00 a.m., Eric Anholt wrote:
> With a patch to mesa to expose rgb565 pbuffers even on a server with
> only depth 24 and 32 visuals, fixes
> dEQP-EGL.functional.render.single_context.gles2.rgb565_pbuffer.  Those
> pbuffers (or at least something renderable with 565) are required by
> the current CTS for GLES3, and having the server support DRI3 on those
> pixmaps means that we can avoid having a different path for EGL
> pbuffers compared to pixmaps.
> 
> Signed-off-by: Eric Anholt <e...@anholt.net>
> ---
>  glamor/glamor_egl.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
> index b33d8ef1598e..df278b1a1a02 100644
> --- a/glamor/glamor_egl.c
> +++ b/glamor/glamor_egl.c
> @@ -280,18 +280,24 @@ glamor_make_pixmap_exportable(PixmapPtr pixmap, Bool 
> modifiers_ok)
>          (modifiers_ok || !pixmap_priv->used_modifiers))
>          return TRUE;
>  
> -    if (pixmap->drawable.bitsPerPixel != 32) {
> +    switch (pixmap->drawable.depth) {
> +    case 30:
> +        format = GBM_FORMAT_ARGB2101010;
> +        break;
> +    case 32:
> +    case 24:
> +        format = GBM_FORMAT_ARGB8888;
> +        break;
> +    case 16:
> +        format = GBM_FORMAT_RGB565;
> +        break;
> +    default:
>          xf86DrvMsg(scrn->scrnIndex, X_ERROR,
> -                   "Failed to make %dbpp pixmap exportable\n",
> -                   pixmap->drawable.bitsPerPixel);
> +                   "Failed to make %d depth, %dbpp pixmap exportable\n",
> +                   pixmap->drawable.depth, pixmap->drawable.bitsPerPixel);
>          return FALSE;
>      }
>  
> -    if (pixmap->drawable.depth == 30)
> -     format = GBM_FORMAT_ARGB2101010;
> -    else
> -        format = GBM_FORMAT_ARGB8888;
> -
>  #ifdef GBM_BO_WITH_MODIFIERS
>      if (modifiers_ok && glamor_egl->dmabuf_capable) {
>          uint32_t num_modifiers;
>
Reviewed-by: Michel Dänzer <michel.daen...@amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
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