[ 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-X,
which is subscribed to pixman in Ubuntu.
https://bugs.launchpad.net/bugs/1988796

Title:
  Incorrect rendering triggered by cairo CAIRO_OPERATOR_SATURATE with
  subpixel positioning

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pixman/+bug/1988796/+subscriptions


_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to