Bug 26024 - Unbound compositing of gradients might fail
Summary: Unbound compositing of gradients might fail
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: image backend (show other bugs)
Version: 1.9.5
Hardware: All All
: medium major
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-13 02:29 UTC by Andrea Canciani
Modified: 2010-08-04 08:45 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Andrea Canciani 2010-01-13 02:29:37 UTC
Compositing a gradient using an unbound operator will often fail in the fallback path (thus at the very least in image), as shown by radial-gradient-source.

I've been able to track down the source of this problem to a bad interaction between pixman having gradients as 0x0 images and the fallback fixup for unbound operation, which uses the size of the images to compute the area of the dest image to be cleared (see _cairo_surface_composite_fixup_unbounded in cairo-surface.c). This only happens when the composited source has EXTEND_NONE as otherwise the source is always considered to be infinite (is this correct even when the image really is 0x0?)
Image passes radial-gradient-source in wip/compositor (where the old fallback path has been removed).

Maybe this should be a blocker for 1.10, even if it's not a regression, afaict

(I know that this testsuite failure is available to all the developers, but I wanted to keep track of the observations I made by debugging and inspecting the code, since I have no patch for this bug, yet)
Comment 1 Andrea Canciani 2010-08-04 08:45:48 UTC
radial-gradient-source now passes for all backends except svg in master.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.