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: 6e7c40f62d
("dri3: Add multi-planar/modifier buffer requests")
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Daniel Stone <daniels@collabora.com>
Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Tested-by: Mike Lothian <mike@fireburn.co.uk>
This commit is contained in:
parent
a98a95b798
commit
4e92c51ce4
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue