[cairo] is self-copy supposed to work?

Jonathan Morton jonathan.morton at movial.com
Fri Apr 30 03:41:35 PDT 2010

On Fri, 2010-04-30 at 22:36 +1200, Robert O'Callahan wrote:
> Should self-copy --- i.e. using the same source as source and
> destination of a composite --- be supported by cairo backends? I
> notice there are tests for self-copy, but it looks like they are
> expected to fail. Is pixman expected to cope with self-copies? I think
> I'm experiencing some bugs...

Pixman's composite functions are not specified to work correctly if the
output is also one of the inputs.  In those situations, the order and
concurrency of the individual pixel operations becomes important, and
for performance reasons it is best to avoid such constraints.

If you need self-copying behaviour, there are some options: you can use
XCopyArea() if you are explicitly working with an X11 display; or you
can copy the area to a temporary image and use that as your source.

From: Jonathan Morton
      jonathan.morton at movial.com

More information about the cairo mailing list