• Søren Sandmann Pedersen's avatar
    Remove geometry arguments from miSourceValidate() · 57b35ada
    Søren Sandmann Pedersen authored
    The only user of the geometry coordinates is the software sprite code,
    which uses them to remove the pointer whenever the window beneath is
    being used as a source. However, using Window pictures as a source is
    extremely rare (let alone *partial* windows), so there is no harm done
    in just validating all of the drawable.
    
    Additionally, the miSourceValidate() function was buggy in at least
    three respects:
    
    (a) It added drawable->{x,y} before calling down, which is wrong since
        the misprite code already adds them in its check. (Alternatively,
        the misprite code is wrong, but there are actual users who would
        notice if that code was broken).
    
    (b) It didn't account for the width of the interpolation filter, so if
        the Picture had a bilinear or convolution filter, the edges
        surrounding the source area would not be validated.
    
    (c) It didn't validate alpha maps.
    
    Finally, computing the bounding box of the transform on every
    composite request was a real performance issue in pixman, so
    presumably it could be one here as well.
    
    This patch changes miSourceValidate() to simply validate all of the
    underlying drawable.
    Reviewed-by: default avatarAdam Jackson <ajax@redhat.com>
    Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
    Signed-off-by: default avatarSoren Sandmann <ssp@redhat.com>
    57b35ada
Name
Last commit
Last update
..
Makefile.am Loading commit data...
fb.h Loading commit data...
fb24_32.c Loading commit data...
fb24_32.h Loading commit data...
fballpriv.c Loading commit data...
fbarc.c Loading commit data...
fbbits.c Loading commit data...
fbbits.h Loading commit data...
fbblt.c Loading commit data...
fbbltone.c Loading commit data...
fbcmap_mi.c Loading commit data...
fbcopy.c Loading commit data...
fbfill.c Loading commit data...
fbfillrect.c Loading commit data...
fbfillsp.c Loading commit data...
fbgc.c Loading commit data...
fbgetsp.c Loading commit data...
fbglyph.c Loading commit data...
fbimage.c Loading commit data...
fbline.c Loading commit data...
fboverlay.c Loading commit data...
fboverlay.h Loading commit data...
fbpict.c Loading commit data...
fbpict.h Loading commit data...
fbpixmap.c Loading commit data...
fbpoint.c Loading commit data...
fbpush.c Loading commit data...
fbrop.h Loading commit data...
fbscreen.c Loading commit data...
fbseg.c Loading commit data...
fbsetsp.c Loading commit data...
fbsolid.c Loading commit data...
fbstipple.c Loading commit data...
fbtile.c Loading commit data...
fbtrap.c Loading commit data...
fbutil.c Loading commit data...
fbwindow.c Loading commit data...
wfbrename.h Loading commit data...