[cairo] 1.9.8: problem with direct access to image surface data

Chris Wilson chris at chris-wilson.co.uk
Tue Jun 15 09:43:19 PDT 2010

On Tue, 15 Jun 2010 12:22:25 -0400, cu <cairouser at yahoo.com> wrote:
> We use direct access to surface memory to load various image types (such
> as JPEG, for example) and then use these as patterns to draw into other
> surfaces. While the workaround is not terribly bad, it seems
> unnecessary. Would it be possible to restore the behavior of 1.9.6 and
> before?

The documented behaviour has always been:

 * cairo_surface_mark_dirty:
 * @surface: a #cairo_surface_t
 * Tells cairo that drawing has been done to surface using means other
 * than cairo, and that cairo should reread any cached areas. Note
 * that you must call cairo_surface_flush() before doing such drawing.

cairo is becoming much more dependent on correct behaviour, wrt zero-copy
snapshots and backends that need to maintain surface caches, and for
backends that may defer rendering. (And it is always possible that the
image surface may start deferring some its rendering...)

Hope this helps.

Chris Wilson, Intel Open Source Technology Centre

More information about the cairo mailing list