Summary: |
clip-polygons.xcb-render-0_0.argb32 failure |
Product: |
cairo
|
Reporter: |
Massimo <sixtysix> |
Component: |
xcb backend | Assignee: |
Uli Schlachter <psychon> |
Status: |
RESOLVED
MOVED
|
QA Contact: |
cairo-bugs mailing list <cairo-bugs> |
Severity: |
normal
|
|
|
Priority: |
medium
|
|
|
Version: |
unspecified | |
|
Hardware: |
Other | |
|
OS: |
All | |
|
Whiteboard: |
|
i915 platform:
|
|
i915 features:
|
|
Attachments: |
quick hack
|
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.
Created attachment 106795 [details] quick hack The problem is that the clip contains multiple self-intersecting paths, in that case _cairo_clip_combine_with_surface (src/cairo-clip-surface.c:78) uses each path separately with a fill (OPERATOR_IN), for each pixel on the contour of more than one path that results in a different pixel coverage than filling once with the path intersection of all paths. In get_clip_surface (src/cairo-xcb-surface-render.c:1698) using a temoporary clear image surface and painting in white (OPERATOR_ADD) to perform the clip fixes clip-polygons.xcb-render-0_0.argb32 clip-group-shapes-circles.xcb-render-0_0 .argb32 and .rgb24