Commit graph

9869 commits

Author SHA1 Message Date
Chris Wilson
e4ebee1cf4 pdf: Use the helper functions to update the composite rectangles
These functions also know to update the clip and recompute the sample
areas and other derived information.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-18 08:27:06 +01:00
Chris Wilson
6c6bd6fb29 composite-rectangle: Add a helper to refine source extents
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-18 08:27:06 +01:00
Adrian Johnson
b13c2270f5 test: refresh pdf mask ref images 2011-09-18 13:32:32 +09:30
Adrian Johnson
a01cc10fe1 pdf: ensure ink extents is not larger than bounded extents
fixes mask test pdf output
2011-09-18 13:32:32 +09:30
Chris Wilson
fc011bfcb9 test: Record the current status of radial-outer-focus as xfail
Debate rages as to the correct way to handle this. In some ways the
current output is expected due to the numerical instability in handling
the inner-focus-on-the-outer-circle. However, the result looks less than
desirable so some solution (which may not be inside cairo per-se) is
sought.
2011-09-17 12:28:33 +01:00
Chris Wilson
cea41a61c1 image: intersect the source extents with the replay extents for EXTEND_NONE
Fixes up the boundary on EXTEND_NONE replays.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-17 12:01:49 +01:00
Chris Wilson
09b42c748e wrapper: intersect with target extents
Treat the target extents as an implicit clip for computing the maximal
operation extents.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-17 12:00:49 +01:00
Chris Wilson
242fbb010e image: Use the recording surface content for the recording source
The previous commit should have been a enormous warning that something
was horribly wrong. I was determined to preserve the optimisation of
replaying onto the matching format, however, we need to provide an alpha
channel if required.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 21:56:52 +01:00
Chris Wilson
ab924b11a8 image: Use A8 for creating a mask from a recording surface
When applying masks, typically it is useful to have an alpha channel.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 19:32:20 +01:00
Chris Wilson
3fde219487 test: Refresh reference images for spans/traps
I found a bug in my SSE2 lerp implementation which resolved quite a few
failures.
2011-09-16 17:44:33 +01:00
Uli Schlachter
84d1eac61f path: Fix a minor oversight in 1ce5d4707c
The plan was "path: Skip calls to zero-length memcpy". However, this skipped
calls if the buffer was still empty, which means that it skipped all calls.

Fixes: Half the test suite, lots of assertion failures

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-16 18:00:21 +02:00
Uli Schlachter
a1be14693b boilerplate-xcb: Print sequence numbers
The boilerplate code will now also print the low 16 bits of the sequence number
for errors and events. This should make it a lot easier to find errors in e.g.
a long xtrace output.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-16 17:45:27 +02:00
Uli Schlachter
7ba28ff563 cairo-xcb: Require libxcb 1.6
Since commit 968eb30bba, we use xcb_discard_reply(). This function was
added in libxcb 1.6.

"Fixes": https://bugs.freedesktop.org/show_bug.cgi?id=40925

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-16 17:45:27 +02:00
Uli Schlachter
b6c3fea672 xcb: Improve error cases in _clip_and_composite_combine
This makes sure that errors from _cairo_clip_get_surface() aren't lost and that
we really got an xcb surface.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-16 17:45:26 +02:00
Chris Wilson
f3a9a0c9e6 test: Add a1-fill
Capture the bug report:
https://bugs.freedesktop.org/show_bug.cgi?id=31604

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 16:25:45 +01:00
Chris Wilson
1ce5d4707c path: Skip calls to zero-length memcpy
We attempt to copy 0 points onto the array of path points for a
close-path. This is pointless and an unnecessary function call under
MSVC at least.

Based on a patch by Steve Snyder, incorporating Behdad's review
comments.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37836
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 16:11:42 +01:00
Krzysztof Kosinski
f09361cff1 test: Add radial-outer-focus
Numerical instability in the computation of gradients leads to random
results.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40918
2011-09-16 16:03:23 +01:00
Chris Wilson
26e8fa03cb base: Make sure we have fuzzy clip boxes!
_cairo_clip_get_surface() expects the caller to handle unaligned clip
boxes in order to avoid recursion. The baseline renderer ignored this
basic tenet and so ended up with only sharp clip regions.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 15:04:14 +01:00
Chris Wilson
c5295981c6 test: Update reference images for test-base
Uli Schlachter spotted that I had create reference images with sharp
edges for his tighten-bounds test case, exactly as if I had ignored
unaligned clip boxes...

Turns out I had removed the code to handle them...
2011-09-16 15:04:14 +01:00
Adrian Johnson
f1c8c00f16 test: refresh some pdf/ps refs 2011-09-16 23:04:53 +09:30
Adrian Johnson
12ee7989a0 test: refresh some pdf/ps refs 2011-09-16 22:52:05 +09:30
Chris Wilson
a0ec977944 bentley-ottman: End subsumed colinear traps
I'm not quite sure how we end up with a pair of colinear edges both with
a deferred trap...

Fixes crash in bug-bo-ricotz

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 13:49:24 +01:00
Chris Wilson
0aabde2314 test: Add bug-bo-ricotz
Exercises an assertion failure found by Rico Tzschichholz.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 13:48:09 +01:00
Chris Wilson
e7bcf1fd79 test: Hack cairo-test-trace to write at trace for all contexts
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 13:48:09 +01:00
Chris Wilson
35f41d253f fdr,tee: Reorder master/slave invocation to capture death-upon-signals
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 13:48:09 +01:00
Adrian Johnson
983cfb2f54 test: add mask-alpha ps ref 2011-09-16 21:37:58 +09:30
Adrian Johnson
d118ae5f64 analysis mask: unwrap recording surface snapshot
fixes mask-alpha test
2011-09-16 20:53:28 +09:30
Chris Wilson
898e63bfc1 test: Replace xlib reference images with the traps references
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 11:50:50 +01:00
Chris Wilson
fcea0f8e08 test: Use the test-traps as the reference images for xlib/xcb
The test-traps provides a reference implementation of the
traps-compositor as used by xlib, so we can use it to generate the
reference images as well. (Of course checking that test-traps is itself
correct and only differs in the renderer! ;-)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-16 11:09:22 +01:00
Chris Wilson
62e1ded35c test: Update couple of refs for the improved mono rasteriser
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 17:10:43 +01:00
Chris Wilson
e5d890e1ea test: Update refernece dir for create-from-png-stream
It tries to load its reference image and fails because I moved it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 17:06:51 +01:00
Chris Wilson
8e827e2cbb test: Record the failure of recent freetype libraries for type1 vertical layout 2011-09-15 17:02:12 +01:00
Chris Wilson
36dc0971ea test: refresh clip-operator ref.png 2011-09-15 16:59:33 +01:00
Chris Wilson
af6ee4e82e image: Invert recording matrix before replay
Hmm, still not quite right but an improvement.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 16:57:52 +01:00
Chris Wilson
9bf21c74ae check: Make the newly added privates pass make check
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 15:55:52 +01:00
Chris Wilson
d4c59d6a8c build: Another missing private.h 2011-09-15 15:50:29 +01:00
Chris Wilson
ca95e37412 build: Add missing cairo-surface-backend-private.h to sources 2011-09-15 15:35:14 +01:00
Chris Wilson
e6e6723871 test: Fix reference image for unbounded operator
Comparing against the baseline reference highlights the error in the
previous ref.png.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 15:29:15 +01:00
Chris Wilson
f2a49e9329 script: Tag the similar surface rather than snapshot
As we discard the snapshot immediately upon drawing to it, it serves no
purpose.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 15:29:15 +01:00
Chris Wilson
1b2709d8c0 composite: Reduce an unaligned clip
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 15:29:15 +01:00
Chris Wilson
c0016e6ac9 test: Mark some more raster-only tests
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 15:29:15 +01:00
Uli Schlachter
a349564e3c Revert "xcb: Error on 0x0 source surfaces"
This reverts commit 8f8149a207.
2011-09-15 16:21:42 +02:00
Uli Schlachter
c00e4c6671 Tee: compile fix for recent compositor API
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-15 16:21:41 +02:00
Chris Wilson
088d483043 ps: Check earlier for a supported mask
Fixes crash in fill-and-stroke-alpha.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 14:51:11 +01:00
Chris Wilson
13bd9592d8 ps: Fix return value for mask_supported and ps2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 14:28:53 +01:00
Chris Wilson
5f8ee79b40 test: Write the individual test logs to output/
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 14:21:20 +01:00
Chris Wilson
768d39f034 test: Move all the reference images to their own directory
With over two thousand references images now, it is starting to make the
test directory look cluttered!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 14:05:10 +01:00
Chris Wilson
1eaab086f3 ps: Set transparency for stencil_masks
Fixes crash in a8-mask.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-15 13:53:15 +01:00
Adrian Johnson
47e16d0e56 subsetting: Support unicode fontnames
Most fonts use Window platform specific encoded font names since they
allow unicode names.

- Make _cairo_truetype_read_font_name() read the Windows platform
  names first. If this fails, fallback to reading he the Mac platform
  MacRoman encoded name.

- Use the PDF method of encoding non ASCII PS font names. Poppler will
  correctly extract the unicode name.

- Make PDF embed the font family name as AsciiHex if the name is not ASCII.
2011-09-15 22:05:22 +09:30
Chris Wilson
1e67fb4490 test: Complete set of baseline reference images
test-base basically implements rendering ala cairo-1.0 and so serves as
a useful baseline for comparing enhancements and to regression test the
core libraries.
2011-09-15 13:10:25 +01:00