You can find some png results here, as well as the patches in tarball format, here.<br><a href="http://tardyp.free.fr/cairo-openvg/">http://tardyp.free.fr/cairo-openvg/</a><br><br>And, for performances, there is plenty of room for optimization:<br>
<br>cairo_openvg_image_surface rendering:<br><br>Page1 595x842 rendered in 0.5691 seconds<br>Page2 595x842 rendered in 20.5493 seconds<br>Page3 595x842 rendered in 0.5199 seconds<br>Page4 595x842 rendered in 0.3953 seconds<br>
Page5 595x842 rendered in 0.3275 seconds<br>Page6 595x842 rendered in 0.3482 seconds<br>Page7 595x842 rendered in 0.3119 seconds<br>Page8 595x842 rendered in 0.7030 seconds<br>Page9 842x595 rendered in 0.1457 seconds<br>Page10 595x842 rendered in 0.4740 seconds<br>
Page11 595x842 rendered in 0.4311 seconds<br>Page12 595x842 rendered in 22.2790 seconds<br>Page13 595x842 rendered in 1.7996 seconds<br>Page14 595x842 rendered in 0.1203 seconds<br><br>cairo_image_surface rendering:<br>Page1 595x842 rendered in 0.4480 seconds<br>
Page2 595x842 rendered in 0.5049 seconds<br>Page3 595x842 rendered in 0.3278 seconds<br>Page4 595x842 rendered in 0.1348 seconds<br>Page5 595x842 rendered in 0.2112 seconds<br>Page6 595x842 rendered in 0.1227 seconds<br>Page7 595x842 rendered in 0.1130 seconds<br>
Page8 595x842 rendered in 0.9758 seconds<br>Page9 842x595 rendered in 0.1216 seconds<br>Page10 595x842 rendered in 0.4677 seconds<br>Page11 595x842 rendered in 0.4032 seconds<br>Page12 595x842 rendered in 1.7699 seconds<br>
Page13 595x842 rendered in 2.0625 seconds<br>Page14 595x842 rendered in 0.0798 seconds<br><br><br><div class="gmail_quote">On Fri, Jul 10, 2009 at 7:02 PM,  <span dir="ltr">&lt;<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">From: Pierre Tardy &lt;<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>&gt;<br>
<br>
Hi,<br>
<br>
Here is my work to merge Øyvind&#39;s openvg backend on latest master.<br>
<br>
The last patch is the add of egl around openvg, in order to have a<br>
image_surface like behaviour. This backend is still very experimental,<br>
I&#39;m having relatively good correctness using poppler rendering a pdf.<br>
<br>
The performance is not very good, probably due to some texture thrashing.<br>
<br>
The openvg font sytem is also not used, cairo core is kindly converting<br>
glyphs into path for us.<br>
<br>
Pierre Tardy (4):<br>
  OpenVG Build plumbing for <a href="http://configure.ac" target="_blank">configure.ac</a> and Makefile.sources<br>
  Update cairo-openvg to compile on 1.8.2 baseline<br>
  [OpenVG] updated cairo-openvg to latest internal API changes<br>
  Added egl support to cairo-openvg<br>
<br>
Øyvind Kolås (35):<br>
  Build plumbing and addition of OpenVG surface type, and added initial<br>
    skeleton of backend.<br>
  Removal of dead code, reindentation.<br>
  Added linear gradient source.<br>
  Added radial source, made the gradient stop setup a separate utility<br>
  added functionality to get_extents callback.<br>
  reverted change to extents.<br>
  Preliminary stubs for surface source.<br>
  Made the source paint object live in the surface<br>
  Added preliminary code to support image pattern source.<br>
  check for, and include /vg/openvg.h instead of /VG/openvg.h<br>
  Made paint use the same source setup as stroke and fill, also<br>
    enhanced pattern source.<br>
  %s/quartz/openvg/ in the path conversion function name.<br>
  Made _cairo_openvg_surface_show_glyphs fill paths.<br>
  do not register intersect_clip_path since it is empty<br>
  Made linear, radial and image source patterns use a common setup for<br>
    the transform of the pattern.<br>
  Modified component order for buffers in component shuffle.<br>
  Comment and indentation enhancements.<br>
  Implemented intersect_clip_path, using software rendered path and<br>
    masks.<br>
  flip the cliping path vertically in the surface<br>
  Added some FIXME&#39;s and comments about future development.<br>
  Added define to enable/disable use of mask (ShivaVG doesn&#39;t support<br>
    vgMask yet)<br>
  implemented cairo_mask<br>
  Return an image surface when a similar surface is requested,<br>
    workaround for not supporting OpenVG based source patterns in<br>
    OpenVG.<br>
  added hack that resets clipping path after cairo_mask.<br>
  small fix to make the previous fix build<br>
  Batch upload of path segments in bundles of 16, removed logic to<br>
    defines to avoid using vgMask. Now that ShivaVG supports all OpenVG<br>
    features needed for the basic full coverage of cairo.<br>
  updated author and license information, added missing r&#39;s here and<br>
    there.<br>
  improved coverage of compositing operators<br>
  use meta surface instead of image surface for create_similar<br>
  keep track of opacities set for groups (solid masks) ourselves<br>
    instead of uploading a mask<br>
  propagate errors in cairo_path_fixed_t to VGPath function<br>
  return to correct component order for images.<br>
  reuse paint object, have a cache of images<br>
  do not avoid reuploading the data when only the data pointer for the<br>
    image surface has changed.<br>
  added a logical clock to keep track of dirt.<br>
<br>
 <a href="http://configure.ac" target="_blank">configure.ac</a>                |    7 +<br>
 src/Makefile.sources        |    4 +<br>
 src/cairo-openvg-surface.c  | 1275 +++++++++++++++++++++++++++++++++++++++++++<br>
 src/cairo-openvg.h          |   53 ++<br>
 src/cairo-surface-private.h |    2 +<br>
 src/cairo-surface.c         |    4 +<br>
 src/cairo.h                 |    4 +-<br>
 7 files changed, 1348 insertions(+), 1 deletions(-)<br>
 create mode 100644 src/cairo-openvg-surface.c<br>
 create mode 100644 src/cairo-openvg.h<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Pierre<br>