[PATCH xserver] dri3: Fix dri3_buffers_from_pixmap request.

Mike Lothian mike at fireburn.co.uk
Mon Apr 16 11:13:43 UTC 2018


Hi Mario

Thanks for finding this, I'll test it tonight

Cheers

Mike

On Mon, 16 Apr 2018 at 07:15 Mario Kleiner <mario.kleiner.de at gmail.com>
wrote:

> Sending pixmap depth and bpp was omitted, so the Mesa
> X11 + EGL + DRI3 side of things always failed to
> dri3_create_image_khr_pixmap_from_buffers(), which led
> to failure of X11 + EGL compositing under DRI3 under,
> e.g., KDE Plasma 5.
>
> Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer requests")
> Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
> Cc: Daniel Stone <daniels at collabora.com>
> Cc: Louis-Francis Ratté-Boulianne <lfrb at collabora.com>
> ---
>  dri3/dri3_request.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/dri3/dri3_request.c b/dri3/dri3_request.c
> index 2d3deb2..452b08a 100644
> --- a/dri3/dri3_request.c
> +++ b/dri3/dri3_request.c
> @@ -481,7 +481,7 @@ proc_dri3_buffers_from_pixmap(ClientPtr client)
>      int i;
>      PixmapPtr pixmap;
>
> -    REQUEST_SIZE_MATCH(xDRI3BufferFromPixmapReq);
> +    REQUEST_SIZE_MATCH(xDRI3BuffersFromPixmapReq);
>      rc = dixLookupResourceByType((void **) &pixmap, stuff->pixmap,
> RT_PIXMAP,
>                                   client, DixWriteAccess);
>      if (rc != Success) {
> @@ -497,6 +497,8 @@ proc_dri3_buffers_from_pixmap(ClientPtr client)
>      rep.length = bytes_to_int32(num_fds * 2 * sizeof(CARD32));
>      rep.width = pixmap->drawable.width;
>      rep.height = pixmap->drawable.height;
> +    rep.depth = pixmap->drawable.depth;
> +    rep.bpp = pixmap->drawable.bitsPerPixel;
>      rep.modifier = modifier;
>
>      if (client->swapped) {
> --
> 2.7.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg-devel/attachments/20180416/eaa3ba60/attachment.html>


More information about the xorg-devel mailing list