Summary: | A few pixels wrong in some tests on PPC | ||
---|---|---|---|
Product: | cairo | Reporter: | Billy Biggs <billy.biggs> |
Component: | image backend | Assignee: | Billy Biggs <billy.biggs> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | high | CC: | cworth |
Version: | 0.9.3 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
pixels-off.c
Patch |
Description
Billy Biggs
2005-08-20 21:48:35 UTC
Created attachment 2954 [details]
pixels-off.c
Attached is a minimal failing test case. The problem seems to be the mask
created for the path. Here is the mask on x86:
00 00 00 00 00 00 00 00 00 00 00 00
00 00 0a 68 c4 f5 f5 c4 68 0a 00 00
00 2b dd ff ff ff ff ff ff dd 2b 00
0a e0 ff c5 3d 0a 0a 3d c5 ff e0 0a
70 ff c2 06 00 00 00 00 06 c2 ff 70
c7 ff 3a 00 00 00 00 00 00 3a ff c7
f4 ff 0b 00 00 00 00 00 00 0b ff f4
f4 ff 0b 00 00 00 00 00 00 0b ff f4
c7 ff 3a 00 00 00 00 00 00 3a ff c7
70 ff c2 06 00 00 00 00 06 c2 ff 70
0a e0 ff c5 3d 0a 0a 3d c5 ff e0 0a
00 2b dd ff ff ff ff ff ff dd 2b 00
00 00 0a 68 c4 f5 f5 c4 68 0a 00 00
And here is the mask on PPC:
00 00 00 00 00 00 00 00 00 00 00 00
00 00 0a 68 c4 f5 f5 c4 68 0a 00 00
00 2b dd ff ff ff ff ff ff dd 2b 00
0a e0 ff c5 3d 0a 0a 3d c5 ff e0 0a
70 ff c2 06 00 00 00 00 06 c2 ff 70
c7 ff 3a 00 00 00 00 00 00 3a ff c7
f4 ff 0b 00 00 00 00 00 00 0b ff f4
bf 76 00 00 00 00 00 00 00 0b ca 50
c7 ff 2d 00 00 00 00 00 00 3a ff a0
70 ff c2 06 00 00 00 00 06 c2 ff 66
0a e0 ff c5 3d 0a 0a 3d c5 ff e0 0a
00 2b dd ff ff ff ff ff ff dd 2b 00
00 00 0a 68 c4 f5 f5 c4 68 0a 00 00
The list of trapezoids returned by _cairo_path_fixed_stroke_to_traps differs between my two systems. Created attachment 2965 [details] [review] Patch The differences are due to a behaviour difference between qsort() on my two machines. The attached patch modifies the qsort vertex comparision function in cairo-hull.c to handle coincident points. This makes the output of all of the above tests equal (except for linear-gradient, which seems to also have a different problem). When this patch is applied, the output for all of those tests will also need to be updated. 2005-08-21 Billy Biggs <vektor@dumbterm.net> Fix for bug #4165: * src/cairo-hull.c: (_cairo_hull_vertex_compare): Use pointer comparison for coincident points to ensure a well-defined ordering, and avoid setting discard on both points. This fixes problems with my Mac's implementation of qsort. Final patch by Bertram Felgenhauer. * test/clip-operator-ref.png: * test/linear-gradient-ref.png: * test/operator-clear-ref.png: * test/operator-source-ref.png: * test/unantialiased-shapes-ref.png: * test/unbounded-operator-ref.png: Update reference images after the change. Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version. |
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.