Commit graph

2702 commits

Author SHA1 Message Date
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
Carl Worth
f880f5e57b test: Add clip-push-group to demonstrate crash in cairo_push_group
The crash happens anytime mask-based clipping is in effect
at the time of cairo_push_group. The crash was first reported
here:
	http://lists.freedesktop.org/archives/cairo/2006-August/007698.html
2006-10-19 15:43:02 -07:00
Ian Osgood
8d2f036752 XCB: implement subimage_copy fix
Needs further testing and review.
2006-10-19 13:42:04 -07:00
Christopher (Monty) Montgomery
8d7a02ed58 Add extents to clone_similar (fixing subimage_copy performance bug)
This fixes a huge performance bug (entire image was being pushed to X
server in order to copy a tiny piece of it). I see up to 50x improvement
from subimage_copy (which was designed to expose this problem) but also
a 5x improvement in some text performance cases.

 xlib-rgba              subimage_copy-512    3.93 2.46% ->   0.07 2.71%: 52.91x faster
███████████████████████████████████████████████████▉
 xlib-rgb               subimage_copy-512    4.03 1.97% ->   0.09 2.61%: 44.74x faster
███████████████████████████████████████████▊
 xlib-rgba              subimage_copy-256    1.02 2.25% ->   0.07 0.56%: 14.42x faster
█████████████▍
 xlib-rgba        text_image_rgb_over-256   63.21 1.53% ->  11.87 2.17%:  5.33x faster
████▍
 xlib-rgba       text_image_rgba_over-256   62.31 0.72% ->  11.87 2.82%:  5.25x faster
████▎
 xlib-rgba     text_image_rgba_source-256   67.97 0.85% ->  16.48 2.23%:  4.13x faster
███▏
 xlib-rgba      text_image_rgb_source-256   68.82 0.55% ->  16.93 2.10%:  4.07x faster
███▏
 xlib-rgba              subimage_copy-128    0.19 1.72% ->   0.06 0.85%:  3.10x faster
██▏
2006-10-18 17:06:23 -07:00
Carl Worth
99e2e99a78 Use zero-size change bar for a speedup/slowdown of 1.0
Also use speedup/slowdown rather than faster/slower in the output
2006-10-18 15:47:18 -07:00
Carl Worth
40e1c0246d Add neglected reference images for infinite-join test 2006-10-18 15:18:11 -07:00
Carl Worth
e21c155e73 Merge branch '8379' into cairo 2006-10-18 15:03:04 -07:00
Carl Worth
10cd23d51f Fix infinite-join test case (bug #8379)
The trick for this was to carefully ensure that the pen always has
at least 4 vertices. There was a previous attempt at this in the
code already but the test case had a combination of matrix and radius
that resulted in a value that was just able to sneak past the previous
check.
2006-10-18 15:02:12 -07:00
Carl Worth
5b7a7f39ad test/infinite-join: Modify to draw something visible, and make the output a more reasonable size.
The modification was performed with care to ensure that the bug
is still exercised. Also, reference images are added.
2006-10-18 15:01:58 -07:00
Carl Worth
a53eabf0a5 Add cairo-perf-diff program for comparing two cairo-perf reports. 2006-10-18 12:16:50 -07:00
Carl Worth
5c7798a646 perf: Print ticks as well as ms in output.
The ticks value is a bit more reliable since it won't exhibit
variation due to estimating the CPU frequency like the ms value
will.
2006-10-18 12:11:26 -07:00
Carl Worth
bb3d4b2f88 cairo-perf: Remove wasted whitespace in output. Squelch wanring. 2006-10-18 12:11:26 -07:00
Carl Worth
d8c23d5ed7 perf: Change minimum size of paint test to 256
The paint tests at sizes less than 256 were just too fast to be
significant.
2006-10-18 12:11:26 -07:00
Ian Osgood
c1f134fa13 Merge branch 'master' of git+ssh://iano@git.cairographics.org/git/cairo 2006-10-18 08:15:47 -07:00
Ian Osgood
968ceeec1d XCB: find_standard_format using wrong enumeration.
Requires latest xcb/util/renderutil library from git.
2006-10-18 08:14:55 -07:00
Behdad Esfahbod
157663e1fd [configure.in] Require pkg-config 0.19. (#8686) 2006-10-18 10:59:10 -04:00
Ian Osgood
e2a0c57c1f XCB: glyph rendering support
todo: get_font_options, testing
2006-10-17 08:09:29 -07:00
Jamey Sharp
25353fdb57 XCB: Move slim_hidden_def to cairo-xcb-surface.c, not cairo-xcb-xrender.h.
I didn't understand that the _def does not need to be public any more
than the _proto does.
2006-10-16 11:44:08 -07:00
Ian Osgood
aa017161a5 Move XCB sections next to XLIB sections. 2006-10-16 11:24:25 -07:00
Jamey Sharp
8dabfc7ffe XCB: Add the have_clip_rects field to cairo_xcb_surface, to match the Xlib surface.
Correction to my previous commit. *sigh*
2006-10-16 11:23:38 -07:00
Ian Osgood
7988f2cc6a XCB: Remove unnecessary differences with the Xlib surface. 2006-10-16 11:10:29 -07:00
Carl Worth
b62710d4f8 Bug #7497: Change _cairo_color_compute_shorts to not rely on any particular floating-point epsilon value. 2006-10-16 09:10:07 -07:00
Carl Worth
71037f3612 Rename wait_for_rendering to syncrhonize
We're not using this call both before and after rendering
so the old name just didn't make sense anymore.
2006-10-16 09:07:47 -07:00
Christian Biesinger
6c95083406 Fix win32 build when pthreads are available
_cairo_win32_initialize always needs a definition.
2006-10-16 17:51:41 +02:00
Christian Biesinger
7d13686438 [win32] Add missing void
This fixes a GCC compile warning
2006-10-16 17:30:30 +02:00
Jamey Sharp
445251cc79 [slim] hide cairo_version_string()
Adrian's recent commits broke PLT hiding by calling cairo_version_string
from inside cairo. Add slim_hidden_def and slim_hidden_proto for it.
2006-10-15 17:24:25 -07:00
Adrian Johnson
830804c7ae PDF: Add cairo version to document info dictionary 2006-10-15 23:11:30 +09:30
Adrian Johnson
5aaa1988c7 PS: Add cairo version to PS header 2006-10-15 23:11:01 +09:30
Adrian Johnson
753763ff25 Type1 subsetting: Don't put .notdef in Encoding when there are 256 glyphs
Type1 subsetting adds the .notdef glyph to the subset because the Type 1
spec requires that it be defined. However if the subset already has
256 glyphs, this will cause the Encoding vector to have 257 entries
which ghostscript does not like.
2006-10-15 23:09:35 +09:30
Adrian Johnson
216c759d46 Type 1 fallback fonts - use binary encoding in PDF files
PDF files require that embedded Type 1 fonts have the encrypted
portion of the font encoded in binary.
2006-10-15 23:07:38 +09:30