Instead of calling cairo_clip/cairo_paint_with_alpha, we should try hard to just encapsulate the global alpha into the source pattern. This avoids an unnecessary clip.
Created attachment 112974 [details] Patch
(In reply to comment #1) > Created an attachment (id=112974) [details] > Patch Note; This patch introduces a performance hit for image pattern fills that have a non-opaque alpha. These kind of fills are not very common and I plan to address this in a followup patch.
On my machine this increases the framerate of the Man in Blue Canvas benchmark (http://themaninblue.com/experiment/AnimationBenchmark/canvas/) from 80 frames per second to 95 frames per second.
Comment on attachment 112974 [details] Patch After talking about the patch a bit with Martin online I cannot see anything obviously wrong here, so r+.
Comment on attachment 112974 [details] Patch Clearing flags on attachment: 112974 Committed r99803: <http://trac.webkit.org/changeset/99803>
All reviewed patches have been landed. Closing bug.