[Bug 1988796] Re: Incorrect rendering triggered by cairo CAIRO_OPERATOR_SATURATE with subpixel positioning
Benjamin Gilbert
1988796 at bugs.launchpad.net
Wed Oct 12 03:47:17 UTC 2022
[ Impact ]
OpenSlide (libopenslide0 in Ubuntu) uses Cairo as its rendering backend,
always with CAIRO_OPERATOR_SATURATE and sometimes with subpixel
positioning (when reading certain file formats), and Cairo in turn
invokes this code. As a result, some slides incorrectly render with
large blank spaces and with some pixels rendered on top of other pixels.
This effectively makes OpenSlide unusable for several of the file
formats it supports. No workaround is believed possible within the
OpenSlide codebase.
[ Test Plan ]
Compile and run the pixman.c test program uploaded to this bug. It
should report "OK".
[ Where problems could occur ]
Problems would show up as incorrect pixel output from software that
renders via Cairo or pixman.
[ Other Info ]
While I'm not a pixman expert, it appears that the change should only
affect the broken code path, and it seems unlikely that anything else
depends on the incorrect math fixed by this patch. This bug hasn't
previously been reported in Ubuntu, which may imply that this code path
is not exercised by other packages in the distro.
The affected source file has had no further commits upstream since this
patch was applied in April 2019, and some basic commit grepping didn't
turn up any followup fixes elsewhere in the tree.
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1988796
Title:
Incorrect rendering triggered by cairo CAIRO_OPERATOR_SATURATE with
subpixel positioning
Status in pixman package in Ubuntu:
New
Bug description:
pixman 0.38.4-0ubuntu1 in focal (and actually pixman 0.38.x generally)
has a regression that causes incorrect rendering in some
circumstances. This can be triggered by the use of cairo with
CAIRO_OPERATOR_SATURATE and subpixel positioning, and causes OpenSlide
<https://openslide.org/> to produce incorrect output.
The attached test program will print "Failed" if the bug exists, or
"OK" if it doesn't.
This is fixed upstream in
https://gitlab.freedesktop.org/pixman/pixman/-/commit/8256c235, which
is in pixman 0.40.0.
See https://github.com/openslide/openslide/issues/278 for more
context.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pixman/+bug/1988796/+subscriptions
More information about the Ubuntu-sponsors
mailing list