Glamor never frees Xv temporary pixmaps

Keith Packard keithp at keithp.com
Wed Aug 13 11:36:37 PDT 2014


Keith Packard <keithp at keithp.com> writes:

> I don't think the per-port Xv data which glamor allocates is getting
> freed at server reset time, so I put together a short patch sequence
> which does it. Seems to work for me at least.

I looked into this a bit further yesterday and discovered that glamor is
depending on StopVideo being called to discard the temporary storage
used for Xv PutImage. However, StopVideo is only called for overlays,
never for textured video in xf86xv.c (and kxv.c) -- all of the calls are
predicated on pPriv->isOn == XV_ON while 'pPriv->isOn' is only set here:

    if ((ret == Success) &&
        (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) {

        portPriv->isOn = XV_ON;

I've posted a patch under separate cover that just frees the glamor xv
data right after the image is presented; that's the simplest solution I
could think of and works just fine.

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140813/c25454d9/attachment.sig>


More information about the xorg-devel mailing list