Commit graph

2731 commits

Author SHA1 Message Date
Carl Worth
e2ede57fbb cairo-perf-diff: Fix to still function if run from the top-level directory containing .git 2006-11-06 09:35:10 -08:00
Jinghua Luo
8e74f9f945 glitz: fix a memory leak in _cairo_glitz_surface_composite_trapezoids. 2006-11-06 12:21:25 +08:00
Behdad Esfahbod
e759959fd6 [Makefile.am] Pass tag message to git-tag in release-publish
(cherry picked from 7cac87c804 commit)
2006-11-02 21:17:12 -05:00
Behdad Esfahbod
91ffb36faa [Makefile.am] Minor fixes in release-publish output
(cherry picked from 953332d128 commit)
2006-11-02 21:17:12 -05:00
Carl Worth
16bc72feaf Increment CAIRO_VERSION to 1.3.1 now that a 1.2.6 release exists 2006-11-02 17:16:52 -08:00
Carl Worth
5500c59b9b Remove typo (mean vs median)
This didn't end up making a difference in practice since the
median is assigned again later on.
2006-11-02 12:27:17 -08:00
Carl Worth
b717e98777 cairo-perf: Change outlier elimination and report minimum times.
Instead of just discarding the worst 15% of the results, we now
do IQR-based detection and elimination of outliers. Also, instead
of reporting mean times we now report minimum and median times.
We still do compute the mean and standard deviation for the
detection of when results seem stable for early bailout. And we
do still report the standard deviation.

A statistician might complain that it looks funny to report the
median and the standard deviation together, (instead of median
and average absolute deviation from the median, say), but I liked
the standard deviation since it is always larger, so it might
ensure better separatation if we use it to determine when two
sets of results are sufficiently different to be interesting.
2006-11-02 12:21:26 -08:00
Dan Amelang
d2d0d11bde Add new perf test "pattern_create_radial"
This test is really just for hammering the double to fixed-point conversion
(in _cairo_fixed_from_double) that happens as doubles from API calls gets
translated into internal cairo fixed-point numbers.
2006-11-02 10:38:00 -08:00
Carl Worth
a618fd2cf9 cairo-perf-diff: Simplify git usage and just run cairo-perf that gets built with cairo revision
Many thanks to Josh Triplett for help with theses fixes:

1. Simplify the usage of git to eliminate the fragile and nasty
   stuff we were doing previously, (such as manually symlinking
   things under .git rather than just using git-clone -s).

2. Don't try running latest cairo-perf with LD_LIBRARY_PATH
   pointing to built cairo version. Apparently stupid libtool
   and its use of rpath is foiling us here. Instead just run
   whatever cairo-perf gets built as part of the source that
   gets checked out.

This second point means that cairo-perf-diff won't yet be useful
for comparing the performance of old cairo revisions that pre-date
cairo-perf. I've since been reasing and we might be able to use
--disable-rpath to the configure script to get what we want.
2006-11-02 04:45:27 -08:00
Jamey Sharp
504ea250f7 XCB/perf: implement boilerplate_xcb_synchronize for fair performance tests.
It sure was nice when some tests showed XCB to be 1300 times faster
than Xlib though...
2006-10-29 13:50:04 -08:00
Behdad Esfahbod
bc983700c4 [autogen.sh] Make sed script portable 2006-10-29 14:50:09 -05:00
Jamey Sharp
7442b40866 perf: cairo-perf-diff-files.c should generate cairo-perf-diff-files
... rather than overwriting the new cairo-perf-diff script, which
should (by the way) be included in dist tarballs.
2006-10-29 11:18:09 -08:00
Jamey Sharp
b0f5af3b47 Add clip-push-group to .gitignore. 2006-10-29 10:59:30 -08:00
Christian Biesinger
a34ba73136 [beos] Allow a pixel error of 1 for BeOS tests
That allows us to delete the BeOS-specific reference images.
2006-10-27 23:51:56 +02:00
Christian Biesinger
2ec0237051 [beos] make tests compile again 2006-10-27 23:51:56 +02:00
Christian Biesinger
e29aea745a [win32] Add parentheses around & operator
This fixes a GCC warning. Also, it fixes a bug: The precedence
of & is not what you might expect.
2006-10-27 23:51:55 +02:00
Carl Worth
61bf9b009b Make xlib and xcb backends tolerant of single-bit errors in the test suite output. 2006-10-26 15:52:21 -07:00
Christian Biesinger
05a259d493 [beos] Fix build error
Rename cairo_rectangle_fixed_t to cairo_rectangle_int16_t
as needed per commit 746f66c3fc.
2006-10-26 21:47:16 +02:00
Ian Osgood
acac0c1966 don't squish tiny images in test/index.html 2006-10-26 09:57:32 -07:00
Adrian Johnson
bd0f991908 Add OpenType/CFF Subsetting 2006-10-27 00:00:24 +09:30
Adrian Johnson
e4c3da8080 PS: Use xshow/yshow/xyshow for strings of glyphs
Optimize show glyphs by looking for strings of glyphs from the same subset
and use the xyshow operator to display. As a further optimization the xshow
and yshow operators are used for displaying horizontal and vertical text.
2006-10-26 23:41:57 +09:30
Behdad Esfahbod
e1ded5b1e0 [PDF] Set CTM before path construction
The previous order is undefined according to the PDF spec.  The resulting PDF
was being misrendered using OS X Preview viewer.  This was reported in this
thread:

  http://lists.freedesktop.org/archives/cairo/2006-October/008271.html
2006-10-25 21:40:08 -04:00
Carl Worth
a9f51c2973 Add new cairo-perf-diff for finding the performance difference between any 2 revisions.
The old cairo-perf-diff is now named cairo-perf-diff-files, but
the new one calls out to it and can still be used in an identical
way.

The new cairo-perf-diff can also be used to see what the performance
impact of a single commit is like so:

	cairo-perf-diff HEAD

or between two commits:

	cairo-perf-diff 1.2.4 HEAD

The script is careful to always run the latest cairo-perf program
even when testing old versions of the library. Also, the output
from any given performance run is cached so it gets less painful
to run as the cache gets primed (the cache is in .perf next to
.git).

The script is still a bit fragile in spots. In particular it depends
on cairo-perf being built in advance but doesn't do anythin to ensure
that happens.
2006-10-25 17:15:22 -07:00
Behdad Esfahbod
c7b9f84744 Require automake 1.7 again
We are not using the slash-in-SUBDIRS feature of automake 1.9 anymore, so bump
required version down.
2006-10-25 16:07:34 -04:00
Behdad Esfahbod
f85aca4c3f Make autogen.sh extract required versions from configure.in 2006-10-25 16:07:34 -04:00
Behdad Esfahbod
838ff68cd5 [perf] Remove SUBDIRS=../boilerplate and add explicit dependencies
This is quite like what I just did in test/.  We can now require an older
version of automake as we used to.
2006-10-25 16:07:34 -04:00
Carl Worth
02096f66f3 Fix typo 2006-10-25 12:52:02 -07:00
Carl Worth
7955fe63cc Fix offset/extent bug in ps output for repeating source surface patterns
The bug was exposed by the recent addition of the paint-repeat test.
The ps output was crashing various interpreters by using infinite
extents for repeating patterns. Fixing that was easy enough, but
the offset of the repeating pattern was still being lost. The fix
for both involved imitating the style of emit_surface_pattern as
it exists in cairo-pdf-surface.c, (though the details are quite
different due to differences in the models of PS and PDF).
2006-10-25 12:52:02 -07:00
Carl Worth
76f816c765 test/paint-repeat: Use offset larger than source surface for better stress testing 2006-10-25 12:52:02 -07:00
Carl Worth
06d3786b2c Add new paint-repeat test
I added this test originally to make it easier to debug
some recent bugs, (the test suite did have some repeating
in the checkered backgrounds, but with an offset of 0,
and then also in trap clip with an offset larger than the
surface itself). This test exercises repeating more directly.

It also triggers a bug in the PostScript backend that I've
not yet investigated. So the test does fail currently.
2006-10-25 12:52:02 -07:00
Behdad Esfahbod
7421e8af0c [test] Make sure tests are not relinked unnecessarily
What was causing it was making all tests depend on all, to make sure
../boilerplate is built first.  I'm not making all tests depend on
../boilerplate/libcairoboilerplate.la and ../src/libcairo.ls and added rules
to build those (by changing dir and making them).
2006-10-25 15:29:00 -04:00
Carl Worth
7e9aad2289 Fix repeating source surface patterns with xlib backend.
This broke with the clone_similar optimization in
8d7a02ed58 The optimization added an
interest rectangle to clone_similar, but with a repeating source
pattern, the interest rectangle might not intersect the extents of the
surface at all.

The test suite caught this with the trap-clip case.

The fix here is to clone the entire surface if the pattern has an
extend mode of REPEAT.
2006-10-25 10:32:37 -07:00
Jinghua Luo
804e5b58cd glitz: further fix for clone_similar.
Don't try to get pixels outside image extent. The failure number of
tests cut down to 19 with this fix, not too bad;).
2006-10-25 13:29:06 +08:00
Ian Osgood
69f740913d bug: wrong xcb_copy_area param order 2006-10-24 08:24:30 -07:00
Carl Worth
8381e53cc7 8711: Fix transformed source surface patterns with xlib backend.
This broke with the clone_similar optimization in
	 8d7a02ed58
The optimization added an interest rectangle to clone_similar,
but the acquire_surface path was neglecting to transform its
rectangle by the pattern matrix.

The test suite did catch this, but apparently we were too
distracted by the performance improvements to notice. Only
backends other than image that implemented clone_similar
would be affected by the bug, (which meant I only saw xlib
failures in my testing).

This fixes bug #8711
2006-10-23 20:46:43 -07:00
Carl Worth
670b3ce243 test: Update reference images due to previous change to _cairo_color_compute_shorts
The previous change was in b62710d4f8
We just forgot to update the reference images at the time so there
have been false failure results in the test suite until now.
2006-10-23 12:46:25 -07:00
Adrian Johnson
9e4a48557e type1 fallback: ensure all functions perform correct status checking 2006-10-23 23:17:06 +09:30
Christian Biesinger
bd5d7c1fb2 Don't return an uninitialized value if _cairo_output_stream_create fails 2006-10-22 20:10:02 +02:00
Christian Biesinger
2313f69066 Fix prototype warning by including cairo-test-directfb.h 2006-10-22 20:10:02 +02:00
Christian Biesinger
153f2d1cad Actually return a value from _cairo_type1_fallback_init_* 2006-10-22 20:10:02 +02:00
Christian Biesinger
d6ebe07be2 Add missing ) in comment 2006-10-22 19:52:42 +02:00
Jinghua Luo
f29a1920b0 glitz: my previous changes in _cairo_glitz_surface_create_similar is
incorrect.
2006-10-22 12:31:40 +08:00
Ian Osgood
1a90d28c3f XCB: make create_internal match Xlib
minus font options and buggy repeat
plus some cleanup and removal of more Xlib diffs
2006-10-21 11:58:01 -07:00
Jinghua Luo
343d9ef030 glitz: don't go fackback path for bitmap glyphs.
Test case bitmap font still passes with changes and improves performance
 a lot.
2006-10-21 17:27:28 +08:00
Jinghua Luo
3b1d0d3519 glitz: fix test case glyph-cache-pressure.
Glitz backend need freeze glyph cache as xlib backend otherwise it'll
crash, let's fix it now.
2006-10-21 17:23:11 +08:00
Jinghua Luo
f3c5835071 glitz: fix for clone similar.
This corrects mosts of changes in clone similar commit. But it's
still a problem in _cairo_glitz_surface_set_image, it'll crash if
source region is outside image extents.
2006-10-21 17:18:51 +08:00
Jinghua Luo
2ef9c7d9e8 glitz: fix a crash in _cairo_glitz_surface_get_image.
The previous changes in _cairo_glitz_surface_get_image causes test
clip-fill-rule-pixel-aligned and clip-fill-rule fail with a pretty
crash, this fix that.
2006-10-21 17:07:19 +08:00
Ian Osgood
a34a4a2bd7 XCB: bring composite, trapezoids up-to-date with Xlib
Categorize & recategorize
Distinguish DO_COPYAREA and DO_XTILE
Create trapezoid mask
Fixup unbounded
2006-10-20 11:17:03 -07:00
Carl Worth
b1944e1672 Fix bug in _cairo_clip_init_deep_copy (fixes clip-push-group crash)
Thanks to Miklós Erdélyi <erdelyim@gmail.com> for reporting
the original problem and suggesting the fix.
2006-10-19 15:48:13 -07:00
Carl Worth
f894ebf980 clip-push-group: Adjust test slightly to ensure mask-based clip is not anchored at the origin
This should help us test if there's an offset problem in copying
the mask-based clip during cairo_push_group.
2006-10-19 15:45:53 -07:00