[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