cc: optimize Skia image filter application via SkImage::makeWithFilter().

Instead of allocating a Skia SkSurface, and drawing the source bitmap to
its canvas, wrap the input in an SkImage, and call
SkImage::makeWithFilter() directly. This saves a texture allocation
and a blit.

In order to support approx-match textures, the makeWithFilter API also
takes a rect (subset) representing the subset of the image which is
active/valid, and returns a rect (outSubset) which is the active region of
the returned image. This required supporting a non-zero texture
coordinate origin in cc.

This change depends on https://codereview.chromium.org/1964043002/ in Skia.

NOTRY=true
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1959033002
Cr-Commit-Position: refs/heads/master@{#395263}
7 files changed