The source and target x/y coordinates were swapped. No idea why this only now
caused a test suite failure, perhaps something recently started using SHM?
Fixes: map-bit-to-image, map-to-image-fill
Signed-off-by: Uli Schlachter <psychon@znc.in>
This fixes the following assert for pretty much every single xcb-fallback test:
cairo-xcb-surface.c:320: _get_image: Assertion `surface->fallback == ((void *)0)' failed.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Poppler renders the PDF output of this test correctly with cairo 1.10.2 but fails with current git.
Commenting out the cairo_translate makes the PDF output render correctly with current git.
And only upload the parts of the image that are modified during the
fallback. I have to keep reminding myself that the goal is always to
reduce the amount of fallbacks required...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This doesn't just need a clip without any path, it also needs pixel aligned
boxes.
This improves the result for unaligned boxes in tighten-bounds.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This function changed its behavior and no longer does what we want. Instead,
this now uses its own function which uses _cairo_clip_combine_with_surface().
This fixes crashes in the tighten-bounds and random-clip tests. These happened
because cairo-xcb was trying to be clever. ;-)
Since _cairo_clip_get_surface() did less, the resulting surface had
deferred_clear == true and picture == XCB_NONE. The code then tried using this
evil picture and either ran into an assert() or caused a BadPicture error.
Signed-off-by: Uli Schlachter <psychon@znc.in>
If one of the _cairo_surface_fill() calls failed, this function would stop and
return an intermediate result, thus hiding the error that happened.
Signed-off-by: Uli Schlachter <psychon@znc.in>
In af9fbd176b the show_glyphs hook has
been removed from cairo_scaled_backend_t, but quartz-font was not
updated.
Fixes:
cairo-quartz-font.c:798: warning: initialization from incompatible pointer type
On some platforms, executables have an extension which confuses
automake into building an entirely different binary.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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>
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.
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>
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>
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>
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>
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>
_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>
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...