[cairo-bugs] [Bug 15349] bad clipping with EXTEND_NONE
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Apr 4 20:57:13 PDT 2008
http://bugs.freedesktop.org/show_bug.cgi?id=15349
--- Comment #3 from Owen Taylor <otaylor at redhat.com> 2008-04-04 20:57:10 PST ---
Created an attachment (id=15692)
--> (http://bugs.freedesktop.org/attachment.cgi?id=15692)
Patch tightning bounds in some cases
Ouch - a locking failure ;-(
I took at a stab at fixing this myself this evening, since I figured
it was my buggy code to begin with. Mostly it was not different from
your patch, but I did try to handle the cases where filtering should
not have an effect (source pixels 1:1 with destination pixels) and
give them tighter bounds.
In terms of number-of-pixels composited, it's unlikely that this
will make a significant difference, but using a tight bound may
makeit easier the backend to optimize things that couldn't otherwise
be optimized since it avoids sampling outside the
I merged this residual with the current code, feel free to use or not
use as you see fit. It's certainly debatable whether it's worthwhile
or just possibly-bug-inducing complexity.
P.S. - I'm not sure I entirely agree with the comment:
(since currently no specific backends that could do custom
filters are calling _cairo_pattern_get_extents)
_cairo_pattern_get_extents() gets used via the "fallback" code for
paint()/fill() for the Xlib backend, and the X server implementation
is certainly free to implement a better FilterBest.
P.P.S - as has been discussed previously:
#define CAIRO_FILTER_DEFAULT CAIRO_FILTER_BEST
in cairoint.h is a time-bomb waiting to happen. FILTER_DEFAULT
should be GOOD.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list