xserver-multidpi/fb
Søren Sandmann Pedersen 57b35adaed Remove geometry arguments from miSourceValidate()
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: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-03-14 13:57:42 -04:00
..
fb.h dix: Remove usage_hint from pixmaps, store it in ->drawable.class 2011-03-08 13:16:50 -05:00
fb24_32.c dix: Remove usage_hint from pixmaps, store it in ->drawable.class 2011-03-08 13:16:50 -05:00
fb24_32.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
fballpriv.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
fbarc.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbbits.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
fbbits.h fb: make isClipped always reject negative coordinates (bug 11503) 2010-08-20 10:01:48 -07:00
fbblt.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbbltone.c Fix "warning: left-hand operand of comma expression has no effect" 2009-09-07 11:00:50 +10:00
fbcmap_mi.c Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00
fbcopy.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
fbfill.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbfillrect.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbfillsp.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbgc.c Delete redundant GC initializations. 2010-09-13 15:55:17 -07:00
fbgetsp.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbglyph.c Clean up after removal of screen parameters from region macros. 2010-06-05 22:07:21 -07:00
fbimage.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbline.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fboverlay.c Clean up after removal of screen parameters from region macros. 2010-06-05 22:07:21 -07:00
fboverlay.h fb: move some code to mi 2009-02-06 18:42:39 +01:00
fbpict.c Remove geometry arguments from miSourceValidate() 2011-03-14 13:57:42 -04:00
fbpict.h Move miTriangles to fb as fbTriangles() 2011-02-26 13:58:54 -05:00
fbpixmap.c dix: Remove usage_hint from pixmaps, store it in ->drawable.class 2011-03-08 13:16:50 -05:00
fbpoint.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbpush.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbrop.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbscreen.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
fbseg.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbsetsp.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fbsolid.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbstipple.c Fix "warning: left-hand operand of comma expression has no effect" 2009-09-07 11:00:50 +10:00
fbtile.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbtrap.c Implement fbAddTriangles() in terms of pixman_add_triangles() 2011-02-26 13:58:54 -05:00
fbutil.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
fbwindow.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am fb: Remove hw/xfree86/ from includes 2011-02-08 12:41:13 -05:00
wfbrename.h fb: Delete a bunch more left-overs 2010-11-02 03:36:45 -04:00