fdr,tee: Reorder master/slave invocation to capture death-upon-signals

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
test: Hack cairo-test-trace to write at trace for all contexts

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
test: Add bug-bo-ricotz

Exercises an assertion failure found by Rico Tzschichholz.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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>
test: refresh some pdf/ps refs
test: refresh some pdf/ps refs
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...
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>
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
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>
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>
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>
cairo-xcb: Require libxcb 1.6

Since commit 968eb30bba1dc94, 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>
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>
path: Fix a minor oversight in 1ce5d4707cf26061

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>
test: Refresh reference images for spans/traps

I found a bug in my SSE2 lerp implementation which resolved quite a few
failures.
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>
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>
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>
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>