[cairo] Question on DirectFB backend
llandwerlin at gmail.com
Fri Nov 20 01:39:11 PST 2009
I'm working with buildroot (http://buildroot.org/) to generate rootfs for
I'm trying to upgrade the current cairo package in buildroot to the 1.8.8
version. The current package uses cairo-1.6.4 + one patch.
Here is the patch :
I reapplied manually the patch and found that most of it has already been
applied in the 1.8.8 version, some other part has been rewritten and there
is only one part which bother me.
Here is the diff after rebasing the patch on top of 1.8.8 (differences on
traces has been dropped) :
diff --git a/src/cairo-directfb-surface.c b/src/cairo-directfb-surface.c
index bb02dbf..65f2d55 100644
@@ -609,6 +609,8 @@ _cairo_directfb_surface_release_dest_image
+ surface->dfbsurface->ReleaseSource (surface->dfbsurface);
@@ -848,6 +850,9 @@ _directfb_finish_composite (cairo_directfb_surface_t
_cairo_pattern_release_surface (src_pattern, src, src_attr);
+ if (dst->dfbsurface)
+ dst->dfbsurface->ReleaseSource( dst->dfbsurface );
#endif /* DFB_COMPOSITE || DFB_COMPOSITE_TRAPEZOIDS */
@@ -1555,6 +1560,7 @@ _directfb_acquire_font_cache
cache->dfbsurface, NULL, 0, 0);
+ new_cache->dfbsurface->ReleaseSource (new_cache->dfbsurface);
scaled_font->surface_private = cache = new_cache;
@@ -1778,6 +1784,7 @@ _cairo_directfb_surface_show_glyphs
RUN_CLIPPED (dst, NULL,
+ dst->dfbsurface->ReleaseSource (dst->dfbsurface);
Does someone know why theses ReleaseSource calls has been added ?
I guess this has something to do with the fact that cairo owns a lock on the
surfaces that requires frequent EngineSync calls when blitting (which slows
down the hardware acceleration), but I'm not really sure.
If someone has some comment on this, it will be greatly appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cairo