From 4e92c51ce4d6ab50c1507a23a01c6be0d1954d79 Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Mon, 16 Apr 2018 08:14:47 +0200 Subject: dri3: Fix dri3_buffers_from_pixmap request. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Cc: Daniel Stone Cc: Louis-Francis Ratté-Boulianne Reviewed-by: Louis-Francis Ratté-Boulianne Tested-by: Mike Lothian --- dri3/dri3_request.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'dri3') 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) { -- cgit v1.2.3