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"><<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>></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 <<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>><br>
<br>
Hi,<br>
<br>
Here is my work to merge Øyvind'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'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's and comments about future development.<br>
Added define to enable/disable use of mask (ShivaVG doesn'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'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>