Skype bi-directional video call crashes X server (xserver, mesa, drm, kernel from git, r600g+glamor)
Eric Anholt
eric at anholt.net
Sat Dec 27 10:19:24 PST 2014
Keith Packard <keithp at keithp.com> writes:
> Kertesz Laszlo <laszlo.kertesz at gmail.com> writes:
>
>> Ok, rebuilt the xserver package with debugging symbols (seems that
>> checkinstall strips stuff by default). I got a bigger gdb.txt. See if it
>> helps.
>
> I found a bug -- glamor_xv_put_image was mis-computing the number of
> lines of changed video when the client drew only a subset of the
> image. I think the client is drawing at src_y=1, src_h=239 for some
> weird reason (I suspect a bug in the client).
>
> Try this patch:
>
> From eaa4225413b31314070f9a52d9290649e79a3b0f Mon Sep 17 00:00:00 2001
> From: Keith Packard <keithp at keithp.com>
> Date: Sat, 27 Dec 2014 09:11:33 -0800
> Subject: [PATCH] glamor: Fix nlines in glamor_xv_put_image when src_y is odd
>
> The number of lines of video to update in the texture needs to be
> computed from the height of the updated source, not the full height of
> the source.
>
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
> glamor/glamor_xv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c
> index 1c877da..83e24ad 100644
> --- a/glamor/glamor_xv.c
> +++ b/glamor/glamor_xv.c
> @@ -435,7 +435,7 @@ glamor_xv_put_image(glamor_port_private *port_priv,
> }
>
> top = (src_y) & ~1;
> - nlines = (src_y + height) - top;
> + nlines = (src_y + src_h) - top;
>
> switch (id) {
> case FOURCC_YV12:
If the point is to upload only from the src_[xywh] recctangle, shouldn't
the glamor_upload_sub_pixmap_to_texture() calls be using src_w instead
of width, too?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20141227/b661e7db/attachment.sig>
More information about the dri-devel
mailing list