xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Tue Apr 17 14:26:06 UTC 2018


 dri3/dri3_request.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 4e92c51ce4d6ab50c1507a23a01c6be0d1954d79
Author: Mario Kleiner <mario.kleiner.de at gmail.com>
Date:   Mon Apr 16 08:14:47 2018 +0200

    dri3: Fix dri3_buffers_from_pixmap request.
    
    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>
    Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb at collabora.com>
    Tested-by: Mike Lothian <mike at fireburn.co.uk>

diff --git a/dri3/dri3_request.c b/dri3/dri3_request.c
index 2d3deb282..452b08a87 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) {


More information about the xorg-commit mailing list