Commit graph

2512 commits

Author SHA1 Message Date
Carl Worth
bcb7863f00 Move target tolerance to cairo_test_target structure (should let single-pixel SVG errors pass)
Previously we were setting the target tolerance based on the surface
type. But that doesn't work as multiple backends will provide a surface
of type meta. So instead we put the tolerance as a value in the
cairo_test_target data structure.

With this change, some single-pixel errors of 1 in the SVG backend
should now be ignored.
2006-09-05 22:25:21 -07:00
Carl Worth
4620b929ae RELEASING: Add note on checking for local symbol PLT entries. 2006-09-05 17:22:13 -07:00
Carl Worth
60c4add26a slim_hidden_proto: Move smeicolon from definition to use for consistency and legibility 2006-09-05 17:22:07 -07:00
Carl Worth
d7f08794ef Add many missing slim_hidden calls to bypass PLT entries for local use of public functions 2006-09-05 17:22:00 -07:00
Carl Worth
e06246b9b1 pixman: Add pixman_private decorations to hide pixman symbols from public interface 2006-09-05 17:21:48 -07:00
Adrian Johnson
d716020db2 Generate Type 1 fonts from glyph outlines
This patch generates Type 1 fonts for the PS/PDF backends when TrueType
or Type 1 subsetting fails. This has the advantage over the current
Type 3 fallback of reduced font size and better quality rendering
in some PDF viewers. xpdf shows a large improvement in text display
quality with this patch.
2006-09-05 15:57:47 -04:00
Adrian Johnson
ad78eb7692 Improve error checking in TrueType subsetting
TrueType subsetting will SEGV when using OpenType fonts with CFF outlines.
2006-09-05 14:53:33 -04:00
Adrian Johnson
49fa8d353b Correct the value of /LastChar in the PDF Type 1 font dictionary. 2006-09-05 14:19:48 -04:00
Adrian Johnson
d81de15804 Fix Type 1 embedding in PDF
PDF Files with Type 1 fonts fail to open in any version of
ghostscript prior to 8.54. The problem is the hex encoding of the
encrypted portion of the font. The PDF reference says this should
only be in binary.
2006-09-05 14:19:26 -04:00
Behdad Esfahbod
e5a9c23308 [configure] Invalidate cached warning flags if list of flags changes
such that one doesn't need to remove config.cache when when we add
new warning flags to be checked.
2006-09-02 19:52:38 -04:00
Carl Worth
7c97a787eb bug 8104: Eliminate unused variables. Replicate assert statement to identify branch of interest. 2006-09-01 16:10:25 -07:00
Carl Worth
0a1aef157e perf/README: Fix typo 2006-08-31 18:25:04 -07:00
Carl Worth
91d5541705 perf: Add README file explaining how to add a new test 2006-08-31 18:11:25 -07:00
Carl Worth
2fa0228d63 Two big improvements to bring the std. deviation down to where we want it.
1. Remove all the alarm/signal code, which just isn't doing what we want for some reason.
   Instead, for now we'll simply run for a fixed number of iterations, (perhaps we
   can tune that per test later).

2. Before computing mean and stdandard deviation of runs, sort them all and discard the
   top and bottom 20% of the values.

Now the standard deviation for the paint test is generally 2% or less.
2006-08-31 17:43:40 -07:00
Carl Worth
6ae6d91c0c perf: Switch from alarm to setitimer for more fine-grained control of timers 2006-08-31 14:08:43 -07:00
Benjamin Otte
2ebb9af434 boilerplate: Fix compilation for glitz. 2006-08-31 13:30:10 -07:00
Carl Worth
19a5b8b9b5 perf: Run for multiple iterations and print std. deviation 2006-08-31 13:22:17 -07:00
Carl Worth
689e9c446e perf: Add indication of content to output 2006-08-31 12:34:21 -07:00
Carl Worth
7917e1201f perf: Fix typo in backend blackballing so that image tests now run 2006-08-31 11:53:16 -07:00
Carl Worth
0c741675e1 Make perf interface return a rate. Start print target and test names. 2006-08-31 11:51:28 -07:00
Carl Worth
fd13e874a7 perf: Drop separate setup function from each test case.
We are already doing loop measurement internally, so each function
can already do any setup it needs without it affecting the measurement.
2006-08-31 11:42:51 -07:00
Carl Worth
578b74473d perf: More consistency improvements for names.
Rename bench_timer_t to cairo_perf_timer_t.
Rename PERF_LOOP macros to CAIRO_PERF_LOOP
Rename DECL_PERF_FUNC to CAIRO_PERF_DECL
2006-08-31 11:38:23 -07:00
Carl Worth
cf75da4842 perf: Rename timer-alarm files to cairo-perf-timer 2006-08-31 11:38:23 -07:00
Behdad Esfahbod
7ad6e94101 [test] Use FcFreeTypeQuery 2006-08-31 14:22:10 -04:00
Carl Worth
7f6e901a23 perf: More simplification of PERF_LOOP macros.
Here we drop both the start_timing and stop_timing functions,
foliding their contents into main, PERF_LOOP_INIT and
PERF_LOOP_FINI.
2006-08-31 11:19:48 -07:00
Carl Worth
b9f629d542 perf: Don't require a separate counter from the timer for perf loops. 2006-08-31 11:02:20 -07:00
Carl Worth
13bcba68ae perf: Collapse timing.[ch] down into cairo-perf.[ch] 2006-08-31 10:41:00 -07:00
Carl Worth
a60ed68dae perf: Remove unused util.c 2006-08-31 10:33:24 -07:00
Carl Worth
739c476767 Initial hookup of Vlad's timer/alarm code 2006-08-31 10:29:52 -07:00
Vladimir Vukicevic
3d279da621 Add useful pieces from Vladimir's cairo-bench 2006-08-31 10:28:06 -07:00
Behdad Esfahbod
851dd63719 [test] Use $(srcdir) to find valgrind supressions 2006-08-31 13:18:47 -04:00
Carl Worth
2c16aa6304 perf: Don't measure meta-surface-backed surface types. 2006-08-31 08:53:58 -07:00
Carl Worth
4915e0baa7 boilerplate: Fix missing include of config.h which was preventing many backends from being tested 2006-08-31 08:36:29 -07:00
Carl Worth
8d834c3a34 Require librsvg >= 2.14.0 to test SVG backend 2006-08-31 08:35:39 -07:00
Carl Worth
e153c55dff perf: Add initial skeleton of performance monitoring suite 2006-08-31 07:19:05 -07:00
Carl Worth
d1834cca19 test: Ignore single-bit errors for SVG backend.
The interface of the various buffer/image_diff functions is improved to
provide the maximum pixel difference in addition to the number of pixels
that differ. This value can then be used to compare against a per-backend
tolerance.

Currently I've set the SVG backend's tolerance to 1 to handle some issues
we're currently seeing of single-bit differences on different systems, (but
we're not exactly sure why yet).

Also I improved the image_diff routines to properly report a status value
on failure rather than the bogus value of -1 for pixels_changed.
2006-08-31 04:01:10 -07:00
Carl Worth
d52a1f762d Move test-specific stuff out of boilerplate/ and back into test/
This now gives us two separate libtool convenience libraries,
so they have to have separate names now:
libcairoboilerplate.la and libcairotest.la.
2006-08-31 01:39:06 -07:00
Carl Worth
9547521885 boilerplate: Remove custom read/write-png code in favor of using cairo surfaces
Also combine image_diff and image_diff_flattened into a single function
2006-08-31 01:09:39 -07:00
Carl Worth
37ce705890 Separate the sharable stuff out of cairo-test.c into cairo-boilerplate.c 2006-08-30 22:57:36 -07:00
Carl Worth
a0ca4369ff Add boilerplate/README explaining its purpose 2006-08-30 22:33:53 -07:00
Carl Worth
5ef4c991f6 test: Add link to test log file in HTML output 2006-08-30 15:38:15 -07:00
Carl Worth
7f4e83ceeb Split libcairotest files out from test/ and into boilerplate/
The idea here is to setup boilerplate to allow code sharing between
test/ and the upcoming perf/
2006-08-30 15:34:27 -07:00
Behdad Esfahbod
a5f068e10d [test] Add 128 to any diff component such that differences are visible 2006-08-30 13:19:05 -04:00
Behdad Esfahbod
3252ad5ca6 [PNG] Mark status volatile to fix gcc warning 2006-08-28 22:44:15 -04:00
Behdad Esfahbod
b6e5f2b0fe [xlib] Bug 7593: rewrite loop to be more readable, and fix warnings
Basically, it's evil to write a loop like:

    while ((c -= 4) > 0) {
        ...
    }

for one reason that doesn't work if c is unsigned.  And when c is signed, if
for some reason c is about -MAXINT, then it will overflow and not work as
expected.

It's much safer (and more gcc warning friendly) to rewrite it as:

    unsigned int c;

    while (c >= 4) {
        ...
        c -= 4;
    }
2006-08-28 22:30:38 -04:00
Carl Worth
06a9628868 Eliminate conditions checking for unsigned or enum values less than 0. 2006-08-28 19:00:48 -07:00
Carl Worth
7d1399a4bb Put static first to avoid compiler warning. 2006-08-28 18:58:27 -07:00
Behdad Esfahbod
1b7ced6614 Bug #7593: Avoid unsigned loop control variable to eliminate infinite, memory-scribbling loop.
Behdad chased this bug down when looking into bug #7593. This
bug is what finally motivated us to figure out how to get -Wextra
(for the "always true" comparisons of unsigned variables against
negative values).
2006-08-28 18:57:14 -07:00
Carl Worth
50003615f2 Add -Wextra (as well as -Wno-missing-field-initializers -Wno-unused-parameter)
We'd been wanting some of the warnings in -Wextra for a long time,
but we had failed in tryingto squelch some of the undesired warnings.
We finally figured out how to do this correctly by simply ordering
the warnings correctly.
2006-08-28 18:55:02 -07:00
Behdad Esfahbod
5492946b0c [image] Print out cairo version in the unsupported-format message 2006-08-23 12:29:49 -04:00