Bug 40410 - Some axis-aligned paths are not filled
Summary: Some axis-aligned paths are not filled
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: image backend (show other bugs)
Version: 1.10.2
Hardware: All Linux (All)
: medium critical
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-26 14:33 UTC by Krzysztof Kosiński
Modified: 2011-08-26 15:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Reduced test case (681 bytes, text/x-csrc)
2011-08-26 14:33 UTC, Krzysztof Kosiński
Details
Output of test case, cairo 1.10.2 (429 bytes, image/png)
2011-08-26 14:35 UTC, Krzysztof Kosiński
Details

Description Krzysztof Kosiński 2011-08-26 14:33:26 UTC
Created attachment 50603 [details]
Reduced test case

Attached reduced testcase.

Expected result: filled red rect from about 10,10 to 290,100.
Actual result: very thin red lines corresponding to antialiased pixels at the egdes of that rect.

The bug appears to be triggered if:
1. There is more than one subpath
2. All subpaths are axis-aligned rectangles
3. Only one of the subpaths is within surface bounds

Tweaking any of the coordinates so that there is at least one non-axis-aligned segment or removing the second subpath (the one that is outside the surface bounds) causes the bug to disappear.
Comment 1 Krzysztof Kosiński 2011-08-26 14:35:37 UTC
Created attachment 50605 [details]
Output of test case, cairo 1.10.2
Comment 2 Chris Wilson 2011-08-26 15:06:28 UTC
I added your test case under a general BSD-ish licence, please notify me if you object:

commit 8d91de49261662bc920739bbb91d22a49016eb81
Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
Date:   Fri Aug 26 22:59:01 2011 +0100

    test: Add test case from bug-40410
    
    Exercises a case where we failed to fill a rectangle...

That test case passes for the current master, so until proven otherwise (and we now have the test to do so!), I'm marking this as closed.


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.