Re: [PATCH xserver] dri3: Fix dri3_buffers_from_pixmap request.
On Mon, 2018-04-16 at 21:27 +, Mike Lothian wrote: > Tested-by: Mike Lothianremote: I: patch #217200 updated using rev 4e92c51ce4d6ab50c1507a23a01c6be0d1954d79. remote: I: 1 patch(es) updated to state Accepted. To ssh://git.freedesktop.org/git/xorg/xserver a98a95b798..4e92c51ce4 master -> master - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] dri3: Fix dri3_buffers_from_pixmap request.
Tested-by: Mike LothianOn Mon, 16 Apr 2018 at 20:33 Louis-Francis Ratté-Boulianne < l...@collabora.com> wrote: > Thanks Mario for spotting that. > > On Mon, 2018-04-16 at 08:14 +0200, Mario Kleiner 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 > > Cc: Daniel Stone > > Reviewed-by: Louis-Francis Ratté-Boulianne > > > > --- > > 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 **) , 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) { > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] dri3: Fix dri3_buffers_from_pixmap request.
Thanks Mario for spotting that. On Mon, 2018-04-16 at 08:14 +0200, Mario Kleiner 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> Cc: Daniel Stone Reviewed-by: Louis-Francis Ratté-Boulianne > --- > 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 **) , 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) { ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] dri3: Fix dri3_buffers_from_pixmap request.
Hi Mario Thanks for finding this, I'll test it tonight Cheers Mike On Mon, 16 Apr 2018 at 07:15 Mario Kleinerwrote: > 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 > --- > 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 **) , 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@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel