[cairo] is self-copy supposed to work?

Siarhei Siamashka siarhei.siamashka at gmail.com
Wed May 5 04:16:44 PDT 2010

On Tuesday 04 May 2010, Benjamin Otte wrote:
> On Tue, 2010-05-04 at 17:45 +1200, Matt Woodrow wrote:
> > Cairo doesn't actually use pixmin_blt anywhere sadly, everything goes
> > through pixman_composite_32.
> This is by design. Or said differently: I spent a bunch of time
> replacing calls to pixman_blit() with calls to
> pixman_image_fill_boxes(). And I did that because it makes the code more 
> flexible (you can plug in more formats easily) and avoids code
> duplication (the code figuring out what to blit doesn't need to be
> duplicated in both pixman and cairo).

In the end, 'pixman_image_fill_boxes' still contains a call to 'pixman_fill'
(for performance reasons?). So 'pixman_fill' is not retired completely.
And regarding flexibility, 'pixman_fill' still does not supports formats with
less than one byte per pixel. This looks like a bug.

But the point is that fast scrolling (quite a common operation, not something
totally fancy) requires self-copy support. So IMHO it makes sense to have this
functionality somehow implemented in pixman and available in some usable way
to application developers (Firefox et al.)

Best regards,
Siarhei Siamashka

More information about the cairo mailing list