<div dir="ltr">Tested-by: Mike Lothian <<a href="mailto:mike@fireburn.co.uk">mike@fireburn.co.uk</a>></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 16 Apr 2018 at 20:33 Louis-Francis Ratté-Boulianne <<a href="mailto:lfrb@collabora.com">lfrb@collabora.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Mario for spotting that.<br>
<br>
On Mon, 2018-04-16 at 08:14 +0200, Mario Kleiner wrote:<br>
> Sending pixmap depth and bpp was omitted, so the Mesa<br>
> X11 + EGL + DRI3 side of things always failed to<br>
> dri3_create_image_khr_pixmap_from_buffers(), which led<br>
> to failure of X11 + EGL compositing under DRI3 under,<br>
> e.g., KDE Plasma 5.<br>
> <br>
> Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer<br>
> requests")<br>
> Signed-off-by: Mario Kleiner <<a href="mailto:mario.kleiner.de@gmail.com" target="_blank">mario.kleiner.de@gmail.com</a>><br>
> Cc: Daniel Stone <<a href="mailto:daniels@collabora.com" target="_blank">daniels@collabora.com</a>><br>
<br>
Reviewed-by: Louis-Francis Ratté-Boulianne <<a href="mailto:lfrb@collabora.com" target="_blank">lfrb@collabora.com</a>><br>
<br>
<br>
> ---<br>
>  dri3/dri3_request.c | 4 +++-<br>
>  1 file changed, 3 insertions(+), 1 deletion(-)<br>
> <br>
> diff --git a/dri3/dri3_request.c b/dri3/dri3_request.c<br>
> index 2d3deb2..452b08a 100644<br>
> --- a/dri3/dri3_request.c<br>
> +++ b/dri3/dri3_request.c<br>
> @@ -481,7 +481,7 @@ proc_dri3_buffers_from_pixmap(ClientPtr client)<br>
>      int i;<br>
>      PixmapPtr pixmap;<br>
>  <br>
> -    REQUEST_SIZE_MATCH(xDRI3BufferFromPixmapReq);<br>
> +    REQUEST_SIZE_MATCH(xDRI3BuffersFromPixmapReq);<br>
>      rc = dixLookupResourceByType((void **) &pixmap, stuff->pixmap,<br>
> RT_PIXMAP,<br>
>                                   client, DixWriteAccess);<br>
>      if (rc != Success) {<br>
> @@ -497,6 +497,8 @@ proc_dri3_buffers_from_pixmap(ClientPtr client)<br>
>      rep.length = bytes_to_int32(num_fds * 2 * sizeof(CARD32));<br>
>      rep.width = pixmap->drawable.width;<br>
>      rep.height = pixmap->drawable.height;<br>
> +    rep.depth = pixmap->drawable.depth;<br>
> +    rep.bpp = pixmap->drawable.bitsPerPixel;<br>
>      rep.modifier = modifier;<br>
>  <br>
>      if (client->swapped) {<br>
_______________________________________________<br>
<a href="mailto:xorg-devel@lists.x.org" target="_blank">xorg-devel@lists.x.org</a>: X.Org development<br>
Archives: <a href="http://lists.x.org/archives/xorg-devel" rel="noreferrer" target="_blank">http://lists.x.org/archives/xorg-devel</a><br>
Info: <a href="https://lists.x.org/mailman/listinfo/xorg-devel" rel="noreferrer" target="_blank">https://lists.x.org/mailman/listinfo/xorg-devel</a></blockquote></div>