Skype bi-directional video call crashes X server (xserver, mesa, drm, kernel from git, r600g+glamor)

Eric Anholt eric at anholt.net
Sun Dec 28 10:01:07 PST 2014


Keith Packard <keithp at keithp.com> writes:

> Eric Anholt <eric at anholt.net> writes:
>
>>> --- 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?
>
> It doesn't need to, but it could as an optimization. Skipping lines at
> the top and bottom is also just an optimization as the source rectangle
> defines a subset of the provided buffer, after all. I just fixed that
> optimization.

glamor_xv_render is trying to scale from dst coords to src coords using
multiplication by src_w / dst_w, though, so if the src pixmap was width
wide instead of src_w wide, I think you'd be rendering wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20141228/7f364b5e/attachment.sig>


More information about the xorg-devel mailing list