[cairo] Pixman refactoring

Jeff Muizelaar jeff at infidigm.net
Fri May 22 14:15:40 PDT 2009

On Fri, May 22, 2009 at 04:45:02PM -0400, Jeff Muizelaar wrote:
> On Tue, May 19, 2009 at 05:42:02PM +0200, Soeren Sandmann wrote:
> > An implementation has a reference to another implementation that it
> > can use for fallbacks. For example, the sse2 implementation knows
> > about an mmx implementation, which knows about a "C fast path"
> > implementation, which knows about a "general" implementation.
> > 
> > An implementation can optionally implement accelerated combiners,
> > which will be used from the general implementation. To make this work,
> > each implementation also knows about the toplevel implementation in
> > the stack, so that when it calls a lower level virtual function, it
> > can get the best implementation available.
> I'm wondering about the benefit of the indirection to the delegate
> implementation. I can't think of any situations where an implementation
> wouldn't know it's delegate statically. Any thoughts?

Another question:

In _pixman_implementation_create () you fill out the function pointers
with ones that just delegate. Why not just fill in the functions from
the delegate? Is the delegate of an implementation expected to change
after it's been created?


More information about the cairo mailing list