[Webkit-unassigned] [Bug 234606] [Cairo] Add support for premultiplied alpha interpolated color stop gradients in the Cairo backend

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 22 13:47:35 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=234606

--- Comment #1 from Adrian Perez <aperez at igalia.com> ---
AFAIU, with Cairo we set the colors for the stops un-premultiplied (because
there is no other option, that's what the public API allows), then Cairo
pre-multiplies color values while building its internal state, then internally
always does calculations using premultiplied values, meaning that when painting 
a gradient it will interpolate stop colors which are premultiplied — there
is no way of telling Cairo to calculate interpolaton of gradient stops
un-premultiplied. Meaning: with Cairo the way it paints gradiants the output
is correct for CSS, but not SVG/Canvas.

(Take this with some big grains of salt, I am not a graphics expert, what
I *think* know is from looking sometimes inside Cairo in the last months.)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20211222/b58d9280/attachment.htm>


More information about the webkit-unassigned mailing list