Summary: | Use libspectre when available for ps tests | ||
---|---|---|---|
Product: | cairo | Reporter: | Carlos Garcia Campos <carlosgc> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 1.7.7 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Fix a small bug in any2ppm
PS converter in any2ppm ps2png |
Description
Carlos Garcia Campos
2008-09-21 05:37:23 UTC
Created attachment 19059 [details] [review] Fix a small bug in any2ppm This is just a fix for a bug in any2ppm when the filename contains more than one dot Created attachment 19060 [details] [review] PS converter in any2ppm Implement ps_converter in any2ppm Created attachment 19061 [details] [review] ps2png Add ps2png test program like the svg and pdf ones. Along one branch I did use spectre for the test suite, but I found that the output from the gs display device had more discrepancies wrt the reference images than the pngAlpha device. In order to use spectre/gs for the PS test suite target, you also need to adjust the boilerplate code to call any2ppm. See the patch to cairo-boilerplate-ps.c within http://gitweb.freedesktop.org/?p=users/ickle/cairo;a=commitdiff;h=d45c8d348bb1f957f4f927abef24e114745722a2. Once the test suite is using any2ppm to rasterise PS, I would like to start using gs in a jobserver mode in order to avoid the initialisation overhead (which is quite substantial) and to start using the cairo output device. (In short running the full test-suite over 2/3 of the elapsed time is spent within gs. Hacks like micro-GS show that is possible to substantially reduce that time, but lack the independence and maturity required to provide conformance testing.) Carlos, can you suggest the best way to tackle this using spectre? Thankyou Carlos, I've pushed the additional utilities to use libspectre. If you do know a way of reducing the time it takes for the test-suite to run ghostscript and ways of passing additional arguments to ghostscript (for example, we pass "-c 2 .setlanguagelevel -f" to enable conformance testing of PostScript level 2 surfaces) please let us know. Hi Chris, sorry for not replying before, (In reply to comment #4) > Along one branch I did use spectre for the test suite, but I found that the > output from the gs display device had more discrepancies wrt the reference > images than the pngAlpha device. Currently it's only possible to render using the display device (well and pdfwrite) but I'm open to new ideas. Probably a lower level API that allows using gs with any device and any additional parameters. > In order to use spectre/gs for the PS test suite target, you also need to > adjust the boilerplate code to call any2ppm. See the patch to > cairo-boilerplate-ps.c within > http://gitweb.freedesktop.org/?p=users/ickle/cairo;a=commitdiff;h=d45c8d348bb1f957f4f927abef24e114745722a2. > > Once the test suite is using any2ppm to rasterise PS, I would like to start > using gs in a jobserver mode in order to avoid the initialisation overhead > (which is quite substantial) and to start using the cairo output device. (In > short running the full test-suite over 2/3 of the elapsed time is spent within > gs. Hacks like micro-GS show that is possible to substantially reduce that > time, but lack the independence and maturity required to provide conformance > testing.) Carlos, can you suggest the best way to tackle this using spectre? > Right now we are creating and destroying the gs instance when rendering every page. I already had in mind to try using a single gs instance per document, but I'm not sure it helps so much. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.